Я кодирую торговую систему, используя C #. Большая часть моей логики заключается в том, что если некоторые условия возникают одновременно, введите покупку.
Но в некоторых случаях мне нужна логика исключения: если некоторые условияпроисходить при этом не покупать.
Я попытался установить переменную с именем 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, я думаю, в моем коде есть некоторые структурные проблемы.