MQL4中的斐波那契水平 - 页 6

 
请帮助我,我怎样才能用这个指标在我的EA中写出斐波那契线,比如说给我看一条线。
附加的文件:
 
459275:
请帮助我,如何用这个指标在EA中写出斐波那契线,例如在一条线上显示出来,非常感谢您的帮助。

以这部分代码为例。

   double lowest=1000, highest=0;
   datetime T1,T2;
   for(int i=lookback+lastbar;i>lastbar+1;i--)
   {  
      double curLow0=iLow(Symbol(),Period(),i-2);
      double curLow1=iLow(Symbol(),Period(),i+1);
      double curLow2=iLow(Symbol(),Period(),i);
      double curLow3=iLow(Symbol(),Period(),i-1);
      double curLow4=iLow(Symbol(),Period(),i-2);
      
       double curHigh0=iHigh(Symbol(),Period(),i+2);
       double curHigh1=iHigh(Symbol(),Period(),i+1);
        double curHigh2=iHigh(Symbol(),Period(),i);
         double curHigh3=iHigh(Symbol(),Period(),i-1);
         double curHigh4=iHigh(Symbol(),Period(),i-2);
         
      if(curLow2<=curLow1 && curLow2<=curLow1 && curLow2<=curLow0 )
      {
      if(lowest>curLow2){
         lowest=curLow2;
         T2=iTime(Symbol(),Period(),i);}
      }
      
      if(curHigh2>=curHigh1 && curHigh2>=curHigh3&& curHigh2>=curHigh4)
      {  
         if(highest<curHigh2){
         highest=curHigh2;
         T1=iTime(Symbol(),Period(),i);}
      }
   
   
   }  

插入到专家顾问中。变量highst和lower将有0和100级,计算其余级别。

通过时间从变量T1和T2我们可以确定100高于0,或0高于100。

 
我已经插入了这部分,但我的脑子不够用,我才刚开始学,比较简单的我都会做,但这个我还不会做,怎么计算其他级别?
 

将范围乘以一个系数加到零级。该范围是0级和100级之间的距离。 系数在下面的代码中存在,其中设置了fibo级别。

0.236, 0.382, 0.50, 0.618...

最好是增加几个变量:Level0和Level100,根据T1和T2给它们分配一个值。

if(T1<T2){
   Level0=highest;
   Level100=lowest;
}
else{
   Level100=highest;
   Level0=lowest;
}

或反之亦然。

if(T1<T2){
   Level100=highest;
   Level0=lowest;
}
else{
   Level0=highest;
   Level100=lowest;
}

我必须进行实验))。

我们现在需要做的就是计算出水平。

等级=0级+(100级-0级)*K。

对于每个级别(对于每个K)。

 
Dmitry Fedoseev:

将范围乘以一个系数加到零级。该范围是0级和100级之间的距离。 系数在下面的代码中存在,其中设置了fibo级别。

0.236, 0.382, 0.50, 0.618...

最好是增加几个变量:Level0和Level100,根据T1和T2给它们分配一个值。

或反之亦然。

我必须进行实验))。

我们现在需要做的就是计算出水平。

等级=0级+(100级-0级)*K。

对于每个级别(对于每个K)。

 
459275:

...

使用Print()、Comment(),看看你得到的结果,与原件比较。只要你能清楚地看到系数是错误的,就应该除以100。
 
459275:

我做对了吗? if(T1<T2){

0级=最高。

100级=最低。

}

否则{

100级=最高。

0级=最低。

}

双K=最低-最高。

double Level2=Level0+(Level100-Level0)*23.6;

double Level3=Level0+(Level100-Level0)*38.2;

double Level4=Level0+(Level100-Level0)*50.0;

double Level5=Level0+(Level100-Level0)*61.8;

double Level6=Level0+(Level100-Level0)*78.6;

 
我把它除以100,接下来我该怎么做? 我又该如何设置这些水平的信号?
 
459275:
我把它除以100,然后我怎么做? 我又怎么写出这些水平的信号?

除了你,没有人知道你将如何使用它。首先,你必须检查它是否与原件相符。

 
这种检查是如何进行的?