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

powerl**guage 里怎么得到MACD面积啊 [MC]

  • MC用户求助:

    一、关于图表的面积,可以参考一下数学上的定积分的求解原理,通过求解曲面上所有柱子的高度之和;而在MACD中,柱子的高度是由价格决定的,不受视觉上放大放小的影响,忽略柱子之间的间隙,因为这个间隙会受到视觉上放大放小的影响,我们只需要考虑某片区域柱子的数量和高度就可以了,重要的是不同区域之间的比较。
    二、下面以求解MACD中红柱子(即“MACDDiff”)的面积来举例说明其中的逻辑,其它的面积求解原理相同。
    inputs: FastLength( 12 ), SlowLength( 26 ), MACDLength( 9 ) ;
    variables: var0( 0 ), var1( 0 ), var2( 0 ), var2up(0), var2down(0), flag(0);

    var0 = MACD( Close, FastLength, SlowLength ) ;
    var1 = XAverage( var0, MACDLength ) ;
    var2 = var0 - var1 ;

    Plot1( var0, "MACD" ) ;
    Plot2( var1, "MACDAvg" ) ;
    Plot3( var2, "MACDDiff" ) ;
    Plot4( 0, "ZeroLine" ) ;

    condition1 = var2 crosses over 0 ;     
    if condition1 then begin
            Alert( "Bullish alert" );
            flag=1;
            var2down=0;
            end
    else 
    begin 
    condition1 = var2 crosses under 0 ;
    if condition1 then begin
            Alert( "Bearish alert" ) ;
            flag=-1;
            var2up=0;
            end;
    end;

    if flag=1 then
    var2up=var2up+var2
    else if flag=-1 then
    var2down=var2down+var2;

    print(date:7:0,time:7:0," currentbar=",currentbar," var2up=",var2up," var2down=",var2down);、下面以求解MACD中红柱子(即“MACDDiff”)的面积来举例说明其中的逻辑,其它的面积求解原理相同。
    inputs: FastLength( 12 ), SlowLength( 26 ), MACDLength( 9 ) ;
    variables: var0( 0 ), var1( 0 ), var2( 0 ), var2up(0), var2down(0), flag(0);

    var0 = MACD( Close, FastLength, SlowLength ) ;
    var1 = XAverage( var0, MACDLength ) ;
    var2 = var0 - var1 ;

    Plot1( var0, "MACD" ) ;
    Plot2( var1, "MACDAvg" ) ;
    Plot3( var2, "MACDDiff" ) ;
    Plot4( 0, "ZeroLine" ) ;

    condition1 = var2 crosses over 0 ;     
    if condition1 then begin
            Alert( "Bullish alert" );
            flag=1;
            var2down=0;
            end
    else 
    begin 
    condition1 = var2 crosses under 0 ;
    if condition1 then begin
            Alert( "Bearish alert" ) ;
            flag=-1;
            var2up=0;
            end;
    end;

    if flag=1 then
    var2up=var2up+var2
    else if flag=-1 then
    var2down=var2down+var2;

    print(date:7:0,time:7:0," currentbar=",currentbar," var2up=",var2up," var2down=",var2down);

 

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

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


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

相关文章

    没有相关内容