如何计算昨天/前一天的纤维水平。
这是我目前的程度:
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
答案 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