mein ea macht Fehler 4756
können Sie mir helfen, danke
- www.mql5.com
CopyHigh(_Symbol,_Period,TimeCurrent(),5,hg);
Top = NormalizeDouble(rates[ArrayMaximum(hg,0,WHOLE_ARRAY)].high,_Digits);
- missverstandener Entwurf.
Wählen Sie zwischen den Werten des maximalen Double und verwenden Sie diesen anstelle des Integer-Indexes
mein ea macht Fehler 4756
können Sie mir helfen, danke
Der Fehler 4756 ist "Trade request sending failed". Wenn Sie einen Fehler beim Senden der Order haben, überprüfen Sie den Returncode von MqlTradeResult
//--- send order OrderSend(mrequest,mresult); // get the result code if(mresult.retcode==10009 || mresult.retcode==10008) //Request is completed or order placed { Alert("An order has been successfully placed with Ticket#:",mresult.order,"!!"); } else { Alert("The order request could not be completed -error:",GetLastError()," with trade return code ",mresult.retcode); ResetLastError(); return; }
LautKonstantin83oben haben Sie einen ungültigen Stop-Fehler, was bedeutet, dass Sie eine Pending Order außerhalb derSymbolInfoIntegerSYMBOL_TRADE_STOPS_LEVEL undSYMBOL_TRADE_FREEZE_LEVEL platzieren müssen.
Der Fehler 4756 lautet "Trade request sending failed". Wenn beim Senden der Order ein Fehler auftritt, prüfen Sie den Rückgabecode von MqlTradeResult
LautKonstantin83oben haben Sie einen ungültigen Stop-Fehler, was bedeutet, dass Sie eine Pending Order außerhalb derSymbolInfoIntegerSYMBOL_TRADE_STOPS_LEVEL undSYMBOL_TRADE_FREEZE_LEVEL platzieren müssen.
Werden ungültige Stops auch bei einem Broker vom Typ ECN zurückgegeben?
Natürlich wissen Sie, dass die Antwort nein lautet. Aber warum fragen Sie das?
- www.mql5.com
Warum gehen Sie davon aus, dass ich weiß, dass die Antwort "Nein" lautet? Ungültige Stops(Fehler 130) werden auf mql4 zurückgegeben, wenn SL oder TP mit OrderSend() an einen ECN-Broker gesendet werden, also habe ich gefragt, ob dasselbe auf mql5 zutrifft. Welcher Fehler wird zurückgegeben?
Wirklich? Das ist interessant. Ich muss das später überprüfen ;D.
Ich habe ein wenig nachgeforscht und versucht, mich mit mql5 zurechtzufinden. Wenn das Verhalten des Strategy Testers dem entspricht, was von einem Broker zurückgegeben wird, dann scheint es, dass SL & TP ignoriert werden, wenn sie für ein Symbol gesendet werden, dessenENUM_SYMBOL_TRADE_EXECUTIONBörsenausführung oderMarktausführung istund kein Fehler zurückgegeben wird. Die Dinge sind also ganz anders als bei mql4.
Ich habe einen einfachen EA, der einen Handel mit SL & TP platziert, es sei denn, das Symbol ist Exchange oder Market Execution, dann sendet er den Handel mit SL & TP nicht gesetzt und sendet dann eine zweite Anfrage an (TRADE_ACTION_SLTP), um die SL & TP zu setzen.
Im Strategietester funktioniert das gut, also habe ich es heute auf einem Demokonto ausprobiert und bekam immer wieder ungültige Stops (Fehler 10016). Also habe ich die Stops Level und Freeze Level überprüft, beide sind 0, ich habe verschiedene Level von SL & TP ausprobiert, nichts hat funktioniert. Ich konnte dieselben SL & TP manuell für eine bestehende Position ohne Probleme setzen ... also fügte ich einen Test hinzu, um die SL & TP nur zu platzieren, wenn die Position ausgewählt werden konnte ... und keine ungültigen Stops mehr, auch keine TRADE_ACTION_SLTP Handelsanforderung mehr :-(
Also fügte ich diesen Code zwischen dem Abschluss der ersten Handelsanforderung, die ohne TP und SL gesendet wurde, und der nachfolgenden Handelsanforderung, die TP und SL sendet, ein. .
SelectRetryCount = 1; if(SetTPandSL) { while(!PositionSelect(_Symbol) && SelectRetryCount < 10) { Sleep(SelectRetryCount * 100); // sleep for SelectRetryCount * 100 mS SelectRetryCount++; } }
SetTPandSL wird auf true gesetzt, wenn die anfängliche Handelsanforderung erfolgreich ist, denn es macht keinen Sinn, einen TP & SL zu setzen, wenn dies nicht der Fall ist. Die Position wird ausgewählt, und wenn dies fehlschlägt, wird ein 100 mS-Schlaf eingelegt, dann wird die Auswahl erneut versucht, wenn dies fehlschlägt, wird ein 200 mS-Schlaf eingelegt, usw. für bis zu 9 Versuche (4,5 Sekunden insgesamt).
Ich weiß noch nicht wirklich, was ich mit mql5 mache, ich hacke wirklich nur herum und versuche, ein paar Dinge zum Laufen zu bringen und hoffe, dass ich dabei lerne ... ist das, was ich hier gefunden habe, normales Verhalten? Ich hätte gedacht, dass ich, sobald die ursprüngliche Handelsanfrage 10009 - TRADE_RETCODE_DONE zurückgegeben hat, die Anfrage zum Setzen des TP & SL senden kann, ist das nicht der Fall? weiß das jemand?
Ich habe einen einfachen EA, der einen Handel mit SL & TP platziert, es sei denn, das Symbol ist Exchange oder Market Execution, dann sendet er den Handel mit SL & TP nicht gesetzt und sendet dann eine zweite Anfrage an (TRADE_ACTION_SLTP), um die SL & TP zu setzen.
Im Strategietester funktioniert das gut, also habe ich es heute auf einem Demokonto ausprobiert und bekam immer wieder ungültige Stops (Fehler 10016). Also habe ich die Stops Level und Freeze Level überprüft, beide sind 0, ich habe verschiedene Level von SL & TP ausprobiert, nichts hat funktioniert. Ich konnte dieselben SL & TP manuell für eine bestehende Position ohne Probleme setzen ... also fügte ich einen Test hinzu, um die SL & TP nur zu platzieren, wenn die Position ausgewählt werden konnte ... und keine ungültigen Stops mehr, auch keine TRADE_ACTION_SLTP Handelsanforderung mehr :-(
Also fügte ich diesen Code zwischen dem Abschluss der ersten Handelsanforderung, die ohne TP und SL gesendet wurde, und der nachfolgenden Handelsanforderung, die TP und SL sendet, ein. .
SetTPandSL wird auf true gesetzt, wenn die anfängliche Handelsanforderung erfolgreich ist, denn es macht keinen Sinn, einen TP & SL zu setzen, wenn dies nicht der Fall ist. Die Position wird ausgewählt, und wenn dies fehlschlägt, wird ein 100 mS-Schlaf eingelegt, dann wird die Auswahl erneut versucht, wenn dies fehlschlägt, wird ein 200 mS-Schlaf eingelegt, usw. für bis zu 9 Versuche (4,5 Sekunden insgesamt).
Ich weiß noch nicht wirklich, was ich mit mql5 mache, ich hacke wirklich nur herum und versuche, ein paar Dinge zum Laufen zu bringen und hoffe, dass ich dabei lerne ... ist das, was ich hier gefunden habe, normales Verhalten? Ich hätte gedacht, dass ich, sobald die ursprüngliche Handelsanfrage 10009 - TRADE_RETCODE_DONE zurückgegeben hat, die Anfrage zum Setzen von TP und SL senden kann, ist das nicht der Fall? weiß das jemand?
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
mein EA macht Fehler 4756
kannst du mir helfen danke