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

 
Vitaly Muzichenko #:

Ich danke Ihnen. Ich werde damit arbeiten. Das Handbuch ist ein einziges Durcheinander.

 
Sergey Dymov #:

Ich danke Ihnen. Ich werde damit arbeiten. Das Handbuch ist ein einziges Durcheinander.

Es scheint angepasst zu sein...

Alle sagen, dass mql5 schneller ist als mql4. Dann habe ich eine Frage. Warum wurde der gleiche Expert Advisor in 164 ms auf mql4 und 527 ms auf mql5 ausgeführt? Was könnte das Problem sein?

 
Sergey Dymov #:

Die Anpassung scheint funktioniert zu haben...

Alle sagen, dass mql5 schneller ist als mql4. Dann habe ich eine Frage. Warum läuft der gleiche Expert Advisor in 164 ms auf mql4 und 527 ms auf mql5? Was könnte das Problem sein?

Womit und wie haben Sie die Leistung gemessen?

 
Sergey Dymov einen Multicurrency EA, den ich in mql4 geschrieben habe. Im Testgerät funktioniert das natürlich nicht. Ich habe beschlossen, dass ich zu mql5 wechseln sollte.

Ich habe alle Compilerfehler angepasst und behoben. mit Ausnahme der Verwendung von technischen Indikatoren. Ich habe kaum eine Ahnung, was ich mit meinem Kopf machen soll. Die Dokumentation ist unverständlich und umfasst zwei Seiten. Vielleicht suche ich an der falschen Stelle.

Eine Zeile des Codes in mql4 wie folgt

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Periode,0,MODE_EMA,PRICE_OPEN,0);

oder

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0);

Laut der Dokumentation ändert sich die gesamte Seite des Codes in mql5. Handles, Puffer, Arrays mit Parametern, this to init, this to calculate, Fehlerbehandlung bei der Handle-Erstellung... Das ist verrückt... Vielleicht suche ich an der falschen Stelle.

Und wenn ich mehrere Paare und mehrere Zeitrahmen verwende, bekomme ich dort "Krieg und Frieden".

In 4ka sollte der informative Teil mit anderen Symbolen funktionieren, der Ordnungsteil nicht. Wir sollten jedoch zunächst die erforderlichen Symbole in das Kursarchiv laden. Das hat vorher nicht funktioniert. Es wird für die Tiefe des Ladens des Archivs durch ein Symbol funktionieren. Sie können das Datum im Archiv sehen.

 

Mehr Ratschläge, bitte.

Ich habe den EA auf mt5 übertragen, alles scheint zu funktionieren. Ich habe einen benutzerdefinierten Indikator auf mt4 geschrieben, um die Korrektheit der Ausführung zu überprüfen, ich bin auch bewegen es zu mt5.

Ich habe den Indikator angepasst, er scheint auch zu funktionieren, aber nicht sehr gut.

1) Das Löschen von Objekten aus dem Diagramm funktioniert bei der Deinstallation nicht. Ich denke, es gibt keinen Ort, an dem man einen Fehler machen kann.

int OnInit()

{

ObjectCreate(0, "GBP_S0",OBJ_LABEL,0,0,0);

return(INIT_SUCCEEDED);

}

void OnDeinit(const int reason);

{

ObjectDelete(0, "GBP_S0");

}

2)

Wenn wir es auf diese Weise machen:

ExtGBPBuffer[i]=GBPTP;

ObjectSetString(0, "GBP_S101",OBJPROP_TEXT,ExtGBPBuffer[i]);

Dann ist der Wert GBP_S101 genau das, wonach wir suchen. Aber die Linie ist Null. Wie kann das sein? D.h. die Linie ist gezeichnet und alles ist in Ordnung, Farbe, Breite, alles außer den Werten.


Auch wenn ich es so macheExtGBPBuffer[i]=2; die Zeile ist immer noch 0

 
Sergey Dymov #:

1) Das Löschen von Objekten aus dem Diagramm bei der Deinstallation funktioniert nicht. Es scheint, dass man nichts falsch machen kann.

Es funktioniert

 
for(int cycle=1; cycle<=6; cycle++) { int period = per+(CountBuy()+CountSell()); vgran = iCustom(NULL,TF,"Канал_1",period,1,0);      }
Ein Tipp. Ich füge einen Indikator über iCustom und Schleife durch diesen Indikator, Änderung 1 Instanz Parameter-Periode. Daher wähle ich eine Variante aus und arbeite mit ihr. Ich nehme nur den letzten Takt. Aber wenn ich meinen Expert Advisor stoppe, stelle ich fest, dass er ein Dutzend Indikatoren mit verschiedenen Parametern anzeigt, und zwar für die gesamte Länge des Verlaufs. Wenn ich einen Indikator in ein Histogramm (ein separates Fenster) umwandle, erscheinen jeweils zehn Histogrammfenster. Wie kann man die Linien entfernen (nicht anzeigen) und nicht den ganzen Indikator während der Zyklusaufzählung verwenden, sondern nur den letzten Wert.
 
Aleksandr Kononov wenn ich meinen Expert Advisor stoppe, stelle ich fest, dass er ein Dutzend Indikatoren mit verschiedenen Parametern anzeigt, und zwar für die gesamte Länge des Verlaufs. Wenn ich einen Indikator in ein Histogramm (ein separates Fenster) umwandle, erscheinen jeweils zehn Histogrammfenster. Wie kann man die Linien entfernen (nicht anzeigen) und nicht den ganzen Indikator während der Zyklusaufzählung verwenden, sondern nur den letzten Wert.
   HideTestIndicators(true); 
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0); 
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1); 
   HideTestIndicators(false);
 

Guys, beraten auf mql4 benutzerdefinierte Indikator auf MA auf der Grundlage der Eröffnung Preise gebaut, es ändert sich nicht seine Lesungen mit neuen Ticks kommen, das ist, warum es auf die Eröffnung Preise basiert.

Auf mql5 angepasst Indikator ändert seine Werte in der Übergangszone mit jedem Tick... Auch durch die Öffnung der Preise, sogar wie hier


copy=CopyBuffer(MA2EURJPY,0,1,CountBars,MA2EURJPY_TF);

if(Kopie<0)

Print("Kopie fehlgeschlagen MA2EURJPY_MAS");


um eine zweite Ablesung vorzunehmen, aber sie tickt immer noch hin und her


Andrey Sokolov #:

Es funktioniert

Ich habe das Gefühl, dass die Sprache fehlerhaft ist. Wenn ich ein nicht verwandtes Fragment in mql5 bearbeite, funktioniert alles nicht mehr...



 
Sergey Dymov #:

Ich habe das Gefühl, dass die Sprache verdammt fehlerhaft ist. Wenn ich einen nicht verwandten Abschnitt in mql5 bearbeite, funktioniert alles nicht mehr... Ich hatte auch schon solche Situationen, aber jedes Mal finde ich heraus, dass es "nicht die Babina" war, also ist es nicht die Babina, also ist es nicht das mql4.

Ich hatte auch ähnliche Situationen, aber jedes Mal stellte sich heraus, dass es "nicht die Babina" war, also...