如何自动计算MQL4中昨天/上一天的斐波那契水平?

时间:2017-07-19 13:38:39

标签: fibonacci mql4 metatrader4 mt4

如何计算昨天/前一天的纤维水平。

这是我目前的程度:

 int shift   = iBarShift( NULL, PERIOD_D1, Time[0] ) + 1;   // yesterday
 HiPrice     = iHigh(     NULL, PERIOD_D1, shift);
 LoPrice     = iLow (     NULL, PERIOD_D1, shift);
 StartTime   = iTime(     NULL, PERIOD_D1, shift);

 if ( TimeDayOfWeek( StartTime ) == 0    /* Sunday */ )
 {                                       // Add fridays high and low
      HiPrice = MathMax( HiPrice, iHigh( NULL, PERIOD_D1, shift + 1 ) );
      LoPrice = MathMin( LoPrice, iLow(  NULL, PERIOD_D1, shift + 1 ) );
 }
 Range = HiPrice - LoPrice;

我认为现在我应该拥有计算它所需的所有值。

我不确定我现在如何计算不同的等级:
23.6 38.2 50.0 61.8 76.4和-23.6 -38.2 -50.0 -61.8 -76.4 -100

2 个答案:

答案 0 :(得分:1)

所有必要的Fibo级别都可以手动添加为阵列 - 据我所知,这是最简单的方法。然后简单地循环这样的数组和
+值为( high + array[i] / 100 * range )
低于fibo的值 - ( low - array[i] / 100 * range )
其中
array[] = { 23.6, 38.2, .. }(只有正值才足够)

答案 1 :(得分:1)

Fibonacci Levels需要一个方向,所以在上面的代码中,你要么想要交换使用前一个柱的开启和关闭值,要么将方向强加到高位和低位。这将让您知道绘制扩展和回溯的方式。

这是我之前为此question编写的函数。此函数假定4的时间点早于price1,然后计算方向和级别,返回FibLevel结构。

price2