我有一个错误地生成它的代码,我认为必须有一个更好的方法来检查时间>上午9点30分和时间<4 pm,任何想法都是高度适用的.
def checkTime
goodtime=false
if(Time.now.hour>9 and Time.now.min>30) then
if(Time.now.hour<16) then
goodtime=true
else
# do nothing
end
elsif Time.now.hour>9 and Time.now.hour<16 then
goodtime=true
else
# do nothing
end
return goodtime
end
Run Code Online (Sandbox Code Playgroud) 该代码使用控制台跟踪提供程序。但是,在函数 static void MakeActivity(string name) 中,ActivitySource.startActivity 行返回 null。我该如何修复它?
谷歌上的示例有“using”关键字,我无法将其应用于我的项目ID绑定的.net 4.7。
/// <summary>
/// Starts up the OpenTelemetry and JeagerTracing connection
/// </summary>
using OpenTelemetry;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UnitTestProject1
{
class Program
{
private static ResourceBuilder BackendServiceResource { get; set; }
private static readonly ActivitySource ActivitySource = new ActivitySource("Sample.DistributedTracing");
private static readonly string serveradress = "127.0.0.1";
private static readonly int serverPort = 6831;
public static TracerProvider Provider …Run Code Online (Sandbox Code Playgroud) 我正在使用Nlog记录我的Ninjatrader策略.我希望能够将策略ID作为前缀添加到我的所有nLog消息中,以便我可以单独过滤与策略中每个帐户相关的条目.
fileTarget.Layout = "${longdate} ${callsite} ${level} ${event-context:item=MyValue} ${message}";`
Run Code Online (Sandbox Code Playgroud)
我目前的布局如上.我尝试使用event-context:item但不知道如何为所有消息打印上下文项.
我尝试如下
Logger log = LogManager.GetCurrentClassLogger();
LogEventInfo theEvent = new LogEventInfo(NLog.LogLevel.Debug, "", this.Account.Name);
logger.Log(theEvent);
Run Code Online (Sandbox Code Playgroud)
但是它在第一行Sim101上只打印了一行带有上下文信息,而不是在其他行上打印.
2012-11-26 15:09:47.9777 NinjaTrader.Strategy.LODHOD.OnStartUp Debug Sim101
2012-11-26 15:09:48.3996 NinjaTrader.Strategy.LODHOD.OnBarUpdate Trace BAR UPDATE
2012-11-26 15:09:49.7902 NinjaTrader.Strategy.LODHOD.EntryOrders Info PLACED ENTRY ORDERS
Run Code Online (Sandbox Code Playgroud)
如何在所有日志行上打印Sim101?
我Trade和之间有一个ActiveRecord关系Execution.我可以得到
Trade.executions #returns all exeuctions realated to the Trade
Run Code Online (Sandbox Code Playgroud)
如果我做
Trade.executions.last
Run Code Online (Sandbox Code Playgroud)
似乎似乎返回基于ID的最后一个执行记录.
这是根据ID检索与Trade相关的最后一条执行记录的正确方法吗?
我使用XmlSerializer序列化了一个对象,并在输出中接收了不需要的命名空间属性.如何防止它在XML中打印这些命名空间?
// write and close the bar
XmlSerializer serializer = new XmlSerializer(typeof( DecisionBar));
serializer.Serialize(writer, decision);
public class DecisionBar
{
public DateTime bartime { get; set; }
public string frequency { get; set; }
public bool HH7 { get; set; }
public bool crossover { get; set; }
public double mfe { get; set; }
public double mae { get; set; }
public double entryPointLong { get; set; }
public double entryPointShort { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
输出:
<DecisionBar xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<bartime>2012-07-23T07:22:00</bartime> …Run Code Online (Sandbox Code Playgroud) 我的 nLog 布局如下所示
fileTarget.Layout = "${date} ${message}";
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我记录如下
logger.Info("ORDER UPDATE",order.Name,order.Instrument,order.OrderState);
Run Code Online (Sandbox Code Playgroud)
但是它只记录第一个字符串,例如。
11/22/2012 22:37:16 ORDER UPDATE
11/22/2012 22:37:16 ORDER UPDATE
11/22/2012 22:37:16 ORDER UPDATE
11/22/2012 22:37:16 ORDER UPDATE
Run Code Online (Sandbox Code Playgroud)
我很确定我的布局中遗漏了一些东西,但不知道如何修复它。有人可以指出我的错误吗?
我使用Nlog进行日志记录,我发现每次调用nLog时我的日志文件中都有5个条目.我该如何解决?例如.
2012-12-23 18:18:19.2465 NinjaTrader.Strategy.LODHOD.OnStartUp Debug startup
2012-12-23 18:18:19.2465 NinjaTrader.Strategy.LODHOD.OnStartUp Debug startup
2012-12-23 18:18:19.2465 NinjaTrader.Strategy.LODHOD.OnStartUp Debug startup
2012-12-23 18:18:19.2465 NinjaTrader.Strategy.LODHOD.OnStartUp Debug startup
2012-12-23 18:18:19.2465 NinjaTrader.Strategy.LODHOD.OnStartUp Debug startup
2012-12-23 18:18:19.2465 NinjaTrader.Strategy.LODHOD.OnStartUp Debug startup
Run Code Online (Sandbox Code Playgroud)
我的nLog配置如下
/****CLASS LEVEL VARIABLES***/
// Step 1. Create configuration object
private static LoggingConfiguration config = new LoggingConfiguration();
private static FileTarget fileTarget = new FileTarget();
private static Logger logger = LogManager.GetCurrentClassLogger();
/*** END OF CLASS LEVEL VARIABLES ***/
/*************************NLOG CONFIG*****/
fileTarget.FileName =
"C:\\temp\\" + Instrument.FullName + "nLog." + DateTime.Now.Ticks + …Run Code Online (Sandbox Code Playgroud) 我使用json,并且类别定义如下所述
我如何为设置默认值null
Run Code Online (Sandbox Code Playgroud)[JsonProperty("Time2ATR")] public DateTime time2atr { get; set; }
所以如果我不给它分配任何值,我不会得到默认值“ 0001-01-01T00:00:00”?
完整的代码和下面的数据样本
using Newtonsoft.Json;
// This namespace holds all indicators and is required. Do not change it.
namespace NinjaTrader.STSClasses
{
/// <summary>
/// This file holds all user defined indicator methods.
/// </summary>
public class STSmyTrade
{
[JsonProperty("direction")]
public string direction { get; set; }
[JsonProperty("entryprice")]
public double entry { get; set; }
[JsonProperty("exitprice")]
public double exit { get; set; }
[JsonProperty("potentialtarget")]
public double potentialtarget { get; set; } …Run Code Online (Sandbox Code Playgroud) 我使用tsql只打印时间.我最终获得毫秒部分.例如
CONVERT(TIME, entrytime,20) as entrytime
Run Code Online (Sandbox Code Playgroud)
这给了我
16:00:07.0000000
Run Code Online (Sandbox Code Playgroud)
我怎么能摆脱.0000000
我有这个ruby程序来解析CSV文件.我错过了某个地方,我无法弄明白.
require 'csv'
prevrow=nil
newarray=Array.new
CSV.foreach("\\\\192.168.0.1\\fe18cb0618cabd41\\ninjatrader\\uniqueside.csv", col_sep: ',') do |row|
if(prevrow==nil)
# do nothing
newarray<<row
prevrow=row
elsif (prevrow!=nil and row[0]!=prevrow[0] )
# do something
newarray<<row
prevrow=row
@@count=1
elsif(prevrow!=nil and row[0]=prevrow[0] and @@count<4)
puts "new date"
newarray<<row
prevrow=row
@@count++
end
end
Run Code Online (Sandbox Code Playgroud)
removedamedirctiontop4.rb:23:语法错误,意外的keyword_else removedamedirctiontop4.rb:27:语法错误,意外的输入结束,期待keyword_end