MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1769

 

좋은 오후에요 여러분. 말해 주세요. tf d1의 MT4에서 표시기 테스트를 시작해야 하며, 신호가 표시되면 tf를 h1으로 전환해야 합니다. 테스트를 중단하지 않고 이를 수행할 수 있는 방법이 있습니까?

 
DanilaMactep # :

좋은 오후에요 여러분. 말해 주세요. tf d1의 MT4에서 표시기 테스트를 시작해야 하며, 신호가 표시되면 tf를 h1으로 전환해야 합니다. 테스트를 중단하지 않고 이를 수행할 수 있는 방법이 있습니까?

아니요

H1에서 시작하고 D1에서 신호를 수신해야 합니다.

 
DanilaMactep # :

좋은 오후에요 여러분. 말해 주세요. tf d1의 MT4에서 표시기 테스트를 시작해야 하며, 신호가 표시되면 tf를 h1으로 전환해야 합니다. 테스트를 중단하지 않고 이를 수행할 수 있는 방법이 있습니까?

아니요. 테스터에서 시간 프레임이 전환되지 않습니다. 따라서 M1에서 OHLC Tick Model을 설정하고 H1 또는 D1에서 신호를 보거나 H1을 선택하고 D1에서 신호를 기다려야 합니다.

 
MakarFX # :

아니요

H1에서 시작하고 D1에서 신호를 수신해야 합니다.

이것은 고문이 테스트되는 경우입니다. 수동으로 테스트해야 합니다. 즉, Advisor를 테스트에 연결하고 테스트 차트에 지표를 올려 놓기만 하면 됩니다. 그리고 테스트 중에 시간 프레임을 수동으로 전환해야 합니다. 스크립트나 다른 것으로 이것을 구성할 수 있습니까?

 
DanilaMactep # :

이것은 고문이 테스트된 경우입니다. 수동으로 테스트해야 합니다. 즉, Advisor를 테스트에 연결하고 테스트 차트에 지표를 올려 놓기만 하면 됩니다. 그리고 테스트 중에 시간 프레임을 수동으로 전환해야 합니다. 스크립트나 다른 것으로 이것을 구성할 수 있습니까?

표시기에서 신호를 수신합니까?
 
MakarFX # :
표시기에서 신호를 수신합니까?
예, 지표에서, 하지만 추세선을 꺾고 역추세선의 낮은 TF에서만 - 분명히 하기 위해 나중에 비디오를 녹화할 것입니다 ;-)
 
DanilaMactep # :
예, 지표에서, 하지만 추세선을 꺾고 역추세선의 낮은 TF에서만 - 분명히 하기 위해 나중에 비디오를 녹화할 것입니다 ;-)

MTF 표시기를 만들면 행복할 것입니다)

 
MakarFX # :

MTF 표시기를 만들면 행복할 것입니다)

말해주세요, 제가 뭘 놓쳤나요? 이것은 EA의 기능입니다.

오류: 배열이 범위를 벗어났습니다.

 int TradeSignal() 
  {
   int limit, i, sig=- 1 ;
   double Ma_curr, Ma_prev, Buffer[];
   limit=MaPeriod* 3 ;
   for (i=limit;i>= 0 ;i--)
     {
      Ma_curr= iMA ( _Symbol , _Period ,MaPeriod, 0 ,MaMethod,MaPrice,i);
      Ma_prev= iMA ( _Symbol , _Period ,MaPeriod, 0 ,MaMethod,MaPrice,i+ 1 );
      Buffer[i]=Ma_curr-Ma_prev;
       if (Buffer[i]> 0 ) sig= 0 ;
       if (Buffer[i]< 0 ) sig= 1 ;
     }
   return (sig);
  }
 
MakarFX # :

말해주세요, 제가 뭘 놓쳤나요? 이것은 EA의 기능입니다.

오류: 배열이 범위를 벗어났습니다.

버퍼 배열에 메모리를 할당하지 않았습니다.

 int TradeSignal() 
  {
   int limit, i, sig=- 1 ;
   double Ma_curr, Ma_prev, Buffer[];
   limit=MaPeriod* 3 ;
   ArrayResize (Buffer, limit);
   for (i=limit -1 ;i>= 0 ;i--)
     {
      Ma_curr= iMA ( _Symbol , _Period ,MaPeriod, 0 ,MaMethod,MaPrice,i);
      Ma_prev= iMA ( _Symbol , _Period ,MaPeriod, 0 ,MaMethod,MaPrice,i+ 1 );
      Buffer[i]=Ma_curr-Ma_prev;
       if (Buffer[i]> 0 ) sig= 0 ;
       if (Buffer[i]< 0 ) sig= 1 ;
     }
   return (sig);
  }
 
Mihail Matkovskij # :

버퍼 배열에 메모리를 할당하지 않았습니다.

매우 감사합니다.