您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

如何获取上一个MACD的交叉情况? [开拓者 TB]

  • 咨询内容: 以下是MACD的程序
    Params
            Numeric FastLength(12);
            Numeric SlowLength(26);
            Numeric MACDLength(9);
    Vars
            NumericSeries MACDValue;
            Numeric AvgMACD;
            Numeric MACDDiff;
    Begin
            MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;       
            AvgMACD = XAverage(MACDValue,MACDLength);
            MACDDiff = MACDValue - AvgMACD;
            PlotNumeric("MACD",MACDValue);
            PlotNumeric("MACDAvg",AvgMACD);
            If (MACDDiff >= 0)       
                    PlotNumeric("MACDDiff",MACDDiff,0,Red);
            Else
                    PlotNumeric("MACDDiff",MACDDiff,0,Green);
            PlotNumeric("零线",0);          
    End

    我的一个交易策略是需要上一个MACD的交叉来作为开仓信号的
    举个例:
          If(MACDValue[1] > AvgMACD[1] and marketposition != 1)
          {
                Buy(0,Open);
          }

    我尝试过把MACD的变量数值型改为变量序列数值型
    即:Vars
                NumericSeries AvgMACD
                NumericSeries MACDValue

    但是这样编程来的程序我回测过,感觉是不正确的,
    请问我想要达到,以上一个MACD的交叉作为开仓信号该如何设置,谢谢!

     

  • TB技术人员: 表述不太明确。
    是要求上一个bar是否交叉,还是要求距离当前位置最近的一次交叉是金叉还是死叉?

     

  • TB客服:
    小米 发表于 2015-1-28 14:00
    表述不太明确。
    是要求上一个bar是否交叉,还是要求距离当前位置最近的一次交叉是金叉还是死叉? ...

    想要知道上一个bar,(快线 > 慢线) 还是 (慢线 < 快线)

     

  • 网友回复:
    CWQ_dylan 发表于 2015-1-28 14:54
    想要知道上一个bar,(快线 > 慢线) 还是 (慢线 < 快线)


    如果只是判断大于小于,就是你的那个写法啊。

     

  • 网友回复:
    小米 发表于 2015-1-28 16:11
    如果只是判断大于小于,就是你的那个写法啊。

    好的,谢谢!我之前回测过感觉不大对劲,现在懂了!

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容