MQL4의 피보나치 수준 - 페이지 6

 
도와주세요! Expert Advisor에서 이 표시기에서 피보나치 라인을 작성하는 방법입니다. 예를 들어 한 줄로 표시합니다. 미리 도움을 주셔서 감사합니다.
파일:
 
459275 :
도와주세요! Expert Advisor에서 이 표시기에서 피보나치 라인을 작성하는 방법입니다. 예를 들어 한 줄로 표시합니다. 미리 도움을 주셔서 감사합니다.

코드의 이 부분을 가져오세요.

   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);}
      }
   
   
   }  

전문가에 붙여넣습니다. 최고 및 최저 변수에는 수준 0과 100이 포함되고 나머지 수준이 계산됩니다.

시간 변수 T1과 T2에서 0보다 큰 100 또는 100보다 큰 0을 결정할 수 있습니다.

 
이 부분을 삽입했는데 두뇌가 부족합니다.
 

0 수준에 계수를 곱한 범위를 추가합니다. 범위는 레벨 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 수준에 계수를 곱한 범위를 추가합니다. 범위는 레벨 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){

Level0 = 최고;

Level100 = 가장 낮음;

}

또 다른{

level100 = 최고;

level0 = 가장 낮음;

}

이중 K = 최저-최고;

더블 레벨2=레벨0+(레벨100-레벨0)*23.6;

더블 레벨3=레벨0+(레벨100-레벨0)*38.2;

더블 레벨4=레벨0+(레벨100-레벨0)*50.0;

더블 레벨5=레벨0+(레벨100-레벨0)*61.8;

더블 레벨6=레벨0+(레벨100-레벨0)*78.6;

 
100으로 나눈 다음 수행할 작업 및 이러한 수준의 신호를 등록하는 방법은 무엇입니까?
 
459275 :
100으로 나눈 다음 수행할 작업 및 이러한 수준의 신호를 등록하는 방법은 무엇입니까?

그리고 당신 외에는 아무도 당신이 그것을 사용하는 방법을 알고 있습니다. 먼저 원본과의 호환성을 확인해야 합니다.

 
이 검사는 어떻게 이루어지나요?
사유: