Der EA, den ich vor drei Monaten geschrieben habe, kann den Strategietest jetzt nicht bestehen, aber er hat vor zwei oder drei Monaten gut funktioniert!!!
Versuchen Sie ZeroMemory(sell) hinzuzufügen.
if (condition1) { ZeroMemory(sell); sell.action = TRADE_ACTION_DEAL; sell.type = ORDER_TYPE_SELL; sell.symbol = _Symbol;Wir haben dieses Problem behoben, warten Sie bitte auf den nächsten Build.
Versuchen Sie ZeroMemory(sell) hinzuzufügen.
Wir haben dieses Problem behoben, warten Sie bitte auf den nächsten Build.Rosh, habe gerade auf .565 aktualisiert und die gleiche Meldung #4756 erhalten
ZeroMemory(struct) hilft. Also ist es behoben oder noch nicht?
Danke
Versuchen Sie, ZeroMemory(sell) hinzuzufügen.
Wir haben dieses Problem behoben, bitte warten Sie auf den nächsten Build.Ich habe die gleiche Fehlermeldung, obwohl ich den Auftrag genau so zusammengestellt habe. Wie kommt das? Ich verwende Build 597.
2012.02.26 20:08:18 Core 1 2012.02.23 08:00:00 Alert: Die Kaufauftragsanfrage konnte nicht abgeschlossen werden -error:4756
2012.02.26 20:08:18 Core 1 2012.02.23 08:00:00 fehlgeschlagener Marktkauf 0.10 EURUSD sl: 1.32438 tp: 1.33738 [Nicht unterstützter Füllmodus]
if(Buy_Condition_3 && Buy_Condition_4)
{
// irgendeine geöffnete Buy-Position?
if(Buy_opened)
{
Alert("Wir haben bereits eine Kaufposition!!!");
return; // Keine neue Kaufposition eröffnen
}
ZeroMemory(mrequest);
mrequest.action = TRADE_ACTION_DEAL; // Sofortige Orderausführung
mrequest.type = ORDER_TYPE_BUY; // Kaufauftrag
mrequest.symbol = _Symbol; // Währungspaar
mrequest.deviation=0; // Abweichung vom aktuellen Kurs
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // letzter Briefkurs
mrequest.volume = Lot; // Anzahl der zu handelnden Lots
mrequest.tp = NormalizeDouble(letzter_Preis.ask + TKP*_Point,_Digits); // Gewinnmitnahme
mrequest.sl = NormalizeDouble(neuester_Kurs.fragen - STP*_Point,_Digits); // Stop Loss
mrequest.type_filling = ORDER_FILLING_AON; // Ausführungsart der Order
//--- Auftrag senden
OrderSend(mrequest,mresult);
// Abrufen des Ergebniscodes
if(mresult.retcode==10009 || mresult.retcode==10008) //Anfrage ist abgeschlossen oder Auftrag erteilt
{
Alert("Eine Kaufbestellung wurde mit Ticket# erfolgreich aufgegeben:",mresult.order,"!)
}
sonst
{
Alert("Die Kaufauftragsanfrage konnte nicht abgeschlossen werden - Fehler:",GetLastError());
ResetLastError();
zurück;
}
- www.mql5.com
Ich bemerke in der MQL5-Referenz (neueste Version, die gerade heute aktualisiert), gibt es keine ORDER_FILLING_AON mehr, aber auch ich verwenden ORDER_FILLING_FOK, ich immer noch Fehler 4756.
Bezeichner | Beschreibung |
ORDER_FILLING_FOK | Das Geschäft kann ausschließlich mit einem bestimmten Volumen zum gleichen oder besseren Preis als dem in der Order angegebenen Preis ausgeführt werden. Gibt es kein ausreichendes Volumen an Angeboten auf das Ordersymbol, wird die Order nicht ausgeführt. Diese Art der Befüllung wird in den Ausführungsmodi SYMBOL_TRADE_EXECUTION_INSTANT oderSYMBOL_TRADE_EXECUTION_REQUESTverwendet . |
ORDER_FILLING_IOC | Eine Vereinbarung, das Geschäft mit maximalem Marktvolumen zu einem gleichen oder besseren Preis als dem in der Order angegebenen Preis auszuführen. In diesem Fall wird kein zusätzlicher Auftrag für nicht gefülltes Volumen erteilt. Diese Art des Fillings wird in den Ausführungsmodi SYMBOL_TRADE_EXECUTION_MARKET undSYMBOL_TRADE_EXECUTION_EXCHANGEverwendet , abhängig von den Symboleinstellungen auf einem Handelsserver. |
ORDER_FILLING_RETURN | Eine Vereinbarung, das Geschäft mit maximalem Marktvolumen zum gleichen oder besseren Preis als dem in der Order angegebenen Preis auszuführen. In diesem Fall wird eine zusätzliche Order für das nicht gefüllte Volumen platziert. Diese Art der Ausführung wird nur für schwebende Aufträge (TRADE_ACTION_PENDING)verwendet. |
Hallo, ein Kommentar, bevor ich MT5 aufgebe und zu MT4 zurückkehre? Vielen Dank! Ich bin eigentlich neu bei beiden, würde aber zuerst MT5 ausprobieren, obwohl ich weiß, dass er sehr neu ist.
Fügen Sie dies vor dem mrequest ein:
ZeroMemory(mrequest); ZeroMemory(mresult);
Ich hatte genau das gleiche Problem wie Sie und es hat es für mich gelöst.
Ich habe jetzt das gleiche Problem.
Meine Expert Advisors haben sehr gut funktioniert. Aber jetzt können alle von ihnen nicht passieren den Tester.
Wenn ich die Dateien kompiliere, wird die folgende Meldung angezeigt:
'ORDER_FILLING_AON' - nicht deklarierter Bezeichner
Wie kann dieses Problem gelöst werden?
Ist dies das Ergebnis eines Terminal-Updates? (Version 5.00 Build 642)
(24 april 2012)
Hoffe, dass mir jemand helfen kann
- www.mql5.com
Wenn ich die Dateien kompiliere, wird die folgende Meldung angezeigt:
'ORDER_FILLING_AON' - nicht deklarierter Bezeichner
Wie kann dieses Problem gelöst werden?
Ersetzen Sie ORDER_FILLING_AON durch ORDER_FILLING_FOK (siehe Auftragseigenschaften)
Fügen Sie dies vor dem mrequest ein:
Ich hatte genau das gleiche Problem wie Sie, und es hat es für mich gelöst.
Hallo, ich habe diese 2 Zeilen in den Code eingefügt, aber der Fehler 4756 ist immer noch da (Trade request sending fail).
Könnten Sie bitte genau sagen, wo genau ich die 2 Zeilen hinzufügen sollte? Die Zeile, die mrequest betrifft, ist bereits vorhanden. Wenn ich beide Zeilen hinzufüge, ändert sich für mich nichts. Vielen Dank für die Hilfe, die ich zu schätzen weiß.
Ich verwende rel.5 Build 842.
ZeroMemory(mrequest); ZeroMemory(mresult);
Hallo, ich habe diese 2 Zeilen in den Code hinzugefügt, aber der Fehler 4756 ist immer noch da (Trade request sending fail).
Könnten Sie bitte präzisieren, wo genau ich die 2 Zeilen hinzufügen sollte? Die Zeile, die mrequest betrifft, ist bereits vorhanden. Wenn ich beide Zeilen hinzufüge, ändert sich für mich nichts. Vielen Dank für die Hilfe, die ich zu schätzen weiß.
Ich verwende rel.5 Build 842.
- 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.
-----------------------------------------------------------------------------------
if (condition1)
{
sell.action = TRADE_ACTION_DEAL;
sell.type = ORDER_TYPE_SELL;
verkaufen.symbol = _Symbol;
verkauf.abweichung = 0;
sell.price = NormalizeDouble(mtick.bid,_Digits);
sell.volume = 0.1;
sell.tp = NormalizeDouble(sell.price - mtp*_Point,_Digits);
sell.sl = NormalizeDouble(sell.price + msl*_Point,_Digits);
sell.type_filling = ORDER_FILLING_AON;
if(OrderSend(sell,result_sell)==false)
{
Print("OrderSend fehlgeschlagen mit Fehler #",GetLastError());
ResetLastError();
}
}