【问题标题】:need help in Amibroker AFL code when i trying to compare Close candle value and MA Line value当我尝试比较收盘蜡烛值和 MA 线值时需要 Amibroker AFL 代码的帮助
【发布时间】:2021-08-14 10:49:29
【问题描述】:

我正在编写一个简单的指标

  • 条件:收盘价高于MA50、MA144和MA200时
  • 愿望:画一个向上的箭头

但是当应用源代码如下时,它是错误的

我是新手,感谢您的帮助!

_SECTION_BEGIN("test");

MA50 = MA (C,50);
MA144 = MA (C, 144);
MA200 = MA (C,200);

val1 = LastValue(MA50);
val2 = LastValue(MA144);
val3 = LastValue(MA50);
val4 = LastValue(Close);

Plot(MA50, "MA50", colorRed, styleLine, Null, Null, 0 );
Plot(MA144, "MA144", colorRed, styleLine, Null, Null, 0 );
Plot(MA200, "MA200", colorRed, styleLine, Null, Null, 0 );

if (val4 > val1 AND val4 > val2 AND val4 > val3)
{
    PlotShapes(shapeUpArrow,ParamColor("UpArrow",10),0,L);  
}
else
{
    PlotShapes(shapeDownArrow,ParamColor("DownArrow",10),0,L);
}

_SECTION_END();

【问题讨论】:

    标签: amibroker


    【解决方案1】:

    PlotShapes 为每个条形采用一组形状。

    这将创建一个向上或向下箭头数组,然后通过将条形索引与最后一个 barIndex 进行比较,创建另一个仅显示最后一个条形的数组。

    _SECTION_BEGIN("test");
    
    MA50 = MA (C,50);
    MA144 = MA (C, 144);
    MA200 = MA (C,200);
    
    Plot(MA50, "MA50", colorRed, styleLine, Null, Null, 0 );
    Plot(MA144, "MA144", colorRed, styleLine, Null, Null, 0 );
    Plot(MA200, "MA200", colorRed, styleLine, Null, Null, 0 );
    
    bar = BarIndex();
    isLastBar = LastValue(bar) == bar;
    isUp = Close > MA50 AND Close > MA144 AND Close > MA200;
    shape = IIf(isUp, shapeUpArrow, shapeDownArrow);
    
    shapeColor = IIf(isUp, ParamColor("UpArrow", colorLime), ParamColor("DownArrow",colorBlue));
    
    PlotShapes(IIf(isLastBar, shape, shapeNone), shapeColor, 0, Low);
    
    _SECTION_END();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多