如何在 C# 中构建排除条件
How to build a exclude condition in C#
我正在使用 C# 编写一个交易系统。我的大部分逻辑是如果某些条件同时发生,则输入买入。
但在某些情况下,我需要排除logic:if某些情况同时发生不购买。
我尝试设置一个名为 Falling1 = true;
的变量并设置 Falling1=false;
而同时出现不购买条件。
然后在我的购买逻辑中我需要 Falling1=true;
。
namespace NinjaTrader.NinjaScript.Strategies
{
public class JJcrossCode : Strategy
{
private bool Falling1;
protected override void OnStateChange()
{
if (State == State.SetDefaults)
{
Description = @"Enter the description for your new custom Strategy here.";
Name = "JJcrossCode";
Falling1 = true;
}
else if (State == State.Configure)
{
}
else if (State == State.DataLoaded)
{
SetProfitTarget(@"Short", CalculationMode.Ticks, 20);
}
}
protected override void OnBarUpdate()
{
if (BarsInProgress != 0)
return;
if (CurrentBars[0] < 7)
return;
// Set 1
if (Open[0] > Close[0] && High[0] < High[1] && Low[0] < Low[1])
{
Falling1 = false;
}
// Set 2
// 01-crossabovelower
if (((CrossAbove(JurbolBBmacd1.Macd, JurbolBBmacd1.BollingerLower, 3))
&& (RSI1.Avg[0] < 67)&& (Falling1=true)
{
EnterLong(Convert.ToInt32(Size), @"Long");
}
}
}
问题是系统似乎无法识别 && (Falling1=true)
// 01-crossabovelower,我猜我的代码中存在一些结构问题。
你想要
&& (Falling1==true)
你写的方式就是在做作业
我正在使用 C# 编写一个交易系统。我的大部分逻辑是如果某些条件同时发生,则输入买入。
但在某些情况下,我需要排除logic:if某些情况同时发生不购买。
我尝试设置一个名为 Falling1 = true;
的变量并设置 Falling1=false;
而同时出现不购买条件。
然后在我的购买逻辑中我需要 Falling1=true;
。
namespace NinjaTrader.NinjaScript.Strategies
{
public class JJcrossCode : Strategy
{
private bool Falling1;
protected override void OnStateChange()
{
if (State == State.SetDefaults)
{
Description = @"Enter the description for your new custom Strategy here.";
Name = "JJcrossCode";
Falling1 = true;
}
else if (State == State.Configure)
{
}
else if (State == State.DataLoaded)
{
SetProfitTarget(@"Short", CalculationMode.Ticks, 20);
}
}
protected override void OnBarUpdate()
{
if (BarsInProgress != 0)
return;
if (CurrentBars[0] < 7)
return;
// Set 1
if (Open[0] > Close[0] && High[0] < High[1] && Low[0] < Low[1])
{
Falling1 = false;
}
// Set 2
// 01-crossabovelower
if (((CrossAbove(JurbolBBmacd1.Macd, JurbolBBmacd1.BollingerLower, 3))
&& (RSI1.Avg[0] < 67)&& (Falling1=true)
{
EnterLong(Convert.ToInt32(Size), @"Long");
}
}
}
问题是系统似乎无法识别 && (Falling1=true)
// 01-crossabovelower,我猜我的代码中存在一些结构问题。
你想要
&& (Falling1==true)
你写的方式就是在做作业