Как построить условие исключения в C # - PullRequest
0 голосов
/ 26 сентября 2019

Я кодирую торговую систему, используя 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, я думаю, в моем коде есть некоторые структурные проблемы.

1 Ответ

3 голосов
/ 26 сентября 2019

Вы хотите

  && (Falling1==true)

То, как вы написали это, вы делаете задание

...