Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1769

 

Guten Tag zusammen. Bitte sagen Sie mir, wenn ich einen Test des Indikators in mt4 auf d1 starten muss und wenn ich ein Signal von ihm erhalte, muss ich zu n1 wechseln. Kann ich das tun, ohne den Test zu unterbrechen?

 
DanilaMactep #:

Guten Tag zusammen. Bitte sagen Sie mir, wenn ich einen Test des Indikators in mt4 auf d1 starten muss und wenn ich ein Signal von ihm erhalte, muss ich zu n1 wechseln. Kann ich das tun, ohne den Test zu unterbrechen?

keine

Sie müssen es auf H1 starten und das Signal von D1 erhalten

 
DanilaMactep #:

Guten Tag zusammen. Bitte sagen Sie mir, wenn ich einen Test des Indikators in mt4 auf d1 starten muss und wenn ich ein Signal von ihm erhalte, muss ich zu n1 wechseln. Kann ich das tun, ohne den Test zu unterbrechen?

Nein. Die Zeiträume können im Prüfgerät nicht umgeschaltet werden. Daher sollten Sie entweder das Tick-Modell OHLC auf M1 einstellen und die Signale auf H1 oder D1 beobachten, oder H1 auswählen und auf das Signal vonD1 warten.

 
MakarFX #:

keine

Sie müssen es auf H1 laufen lassen und das Signal von D1 erhalten

Dies ist der Fall, wenn der Expert Advisor getestet wird. Ich muss es manuell testen. Das heißt, ich sollte den Expert Advisor mit dem Test verbinden und den Indikator mit dem Testchart verbinden. Und ich muss während des Tests manuell zwischen den Zeitrahmen wechseln. Kann dies mit einem Skript oder auf andere Weise geschehen?

 
DanilaMactep #:

Dies ist der Fall, wenn der EA getestet wird. Aber ich muss es manuell testen. Das heißt, ich sollte den EA mit dem Test verbinden und den Indikator auf dem Testchart platzieren. Und ich muss während des Tests manuell zwischen den Zeitrahmen wechseln. Kann dies mit einem Skript oder auf andere Weise geschehen?

Bekommen Sie das Signal vom Indikator?
 
MakarFX #:
Bekommen Sie das Signal vom Indikator?
Ja vom Indikator, aber nur in Form von Übertreffen seiner Trendlinien und dann Gegentrendlinien auf einem niedrigeren Zeitrahmen - wahrscheinlich werde ich später ein Video aufnehmen, um es klar zu machen;-)
 
DanilaMactep #:
Ja, aus dem Indikator, aber nur in Form von schlagen seine Trendlinien und dann auf einem niedrigeren Zeitrahmen Counter-Trend-Linien - vielleicht später werde ich ein Video aufnehmen, um es klar zu machen;-)

Erstellen Sie einen MTF-Indikator und Sie werden zufrieden sein)

 
MakarFX #:

Machen Sie einen MTF-Indikator und Sie werden zufrieden sein)

Können Sie mir bitte sagen, was ich übersehen habe? Dies ist eine Funktion im EA.

Fehler: Überschreitung der Array-Grenzen

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 #:

Können Sie mir bitte sagen, was ich übersehe? Dies ist eine Funktion im EA.

Fehler: Array-Überlauf

Sie haben keinen Speicher für das Buffer-Array zugewiesen

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 #:

Sie haben keinen Speicher für das Buffer-Array zugewiesen

Ich danke Ihnen vielmals.
Grund der Beschwerde: