如何使用指标模板检测背离——MetaTrader 4交易必备工具

Mike 2024.03.10 23:41 16 0 0
附件

DivEurusd

指标模板如何运作?

这款指标模板用于绘制基于你选择的振荡器的背离信号。

根据你选择的振荡器(无论是CCI、RSI还是自定义指标),你可以修改以下代码部分:

   /////////////////////////////////////////////
   //将指标数据加载到指标缓冲区
   //你可以轻松将RSI替换为任何你喜欢的指标
   int BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,1);
   for(int i=BARS;i>=0;i--)
   {
      indicatorBuffer[i]=iRSI(_Symbol, PERIOD_CURRENT, 14, PRICE_CLOSE, i);
   }
   //指标加载部分结束
   /////////////////////////////////////////////


信号缓冲区

此指标有四个不同的缓冲区,用于跟踪生成的信号。只要对应的缓冲区有非空值,就会产生信号。
   SetIndexBuffer(3,bull_reg_divBuffer);
   SetIndexBuffer(4,bear_reg_divBuffer);
   SetIndexBuffer(5,bull_hid_divBuffer);
   SetIndexBuffer(6,bear_hid_divBuffer);


输入参数部分

input int pivots_period=5; //寻找指标转折点的周期
input int alert_confirm_candles=1; //#蜡烛确认数(0=禁用提醒)

indicatorBuffer中寻找转折高点转折低点依赖于pivots_period的输入。你选择的值越大,它将搜索更大的波动以寻找可能的背离。

另一个输入是alert_confirm_candles,它定义了等待多少根蜡烛来确认信号。背离指标大多具有滞后性,容易发出虚假信号。你选择的值越大,它将等待更长时间,从而减少虚假信号的数量。这是一个关于你希望获得及时信号还是确认信号的折中选择。

通常你不应该将pivots_period设置为小于2。


重绘问题

依赖于转折点计算的指标必须等待pivots_period的时间才能确认最近的高点/低点。因此,这个指标需要在时间上重绘信号,直到pivots_period

   BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,pivots_period);
   for(int i=BARS;i>=0;i--)
   {
      PHBuffer[i]=pivothigh(indicatorBuffer, pivots_period, pivots_period, i);
      PLBuffer[i]=pivotlow(indicatorBuffer, pivots_period, pivots_period, i);
      bull_reg_divBuffer[i]=BullRegDiv(i);
      bear_reg_divBuffer[i]=BearRegDiv(i);
      bull_hid_divBuffer[i]=BullHidDiv(i);
      bear_hid_divBuffer[i]=BearHidDiv(i);
   }   
    列表
    评论 0