【问题标题】:How to build a exclude condition in C#如何在 C# 中构建排除条件
【发布时间】:2020-01-26 03:27:46
【问题描述】:

我正在使用 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");
        }
    }
}

问题是系统似乎无法识别 // 01-crossabovelower 中的&amp;&amp; (Falling1=true),我猜我的代码中存在一些结构问题。

【问题讨论】:

  • 您是在请人帮助您编写代码,缩进代码以使其更具可读性是一种礼貌
  • AND 连接的 NOT 检查是排除检查。 AND 和 OR 是短路的:如果其中一个部分无法解决操作(对于 AND 来说是flase,对于 OR 来说是 true),那么其他部分甚至都不会被查询。还有异或异或。
  • 除了Hogan的回答,还有两个注意事项:1)只要使用值Falling1即可。这已经是你想要的了。比较过于冗长。 2) 如果您一开始就直接使用该值,则可以完全避免意外分配。
  • 非常感谢!@madreflection 和 @Christopher 以及大家!

标签: c# quantitative-finance quantitative


【解决方案1】:

你想要的

  && (Falling1==true)

你写它的方式是在做作业

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-18
    • 2020-08-18
    • 1970-01-01
    • 2021-10-02
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    相关资源
    最近更新 更多