Der Artikel ist ordentlich und leicht zu folgen, und die Bereitstellung der Einstellungen in den .set-Dateien. Ich hatte ein Problem mit den Ausführungsmodi der Symbole, insbesondere mit der Bedingung, die prüft, ob es sich um einen sofortigen oder einen Markt handelt, und erst danach die Eröffnung von Aufträgen zulässt.
Ich habe eine Frage. Ich habe viele verschiedene fortgeschrittene Ansätze gesehen, wie diesen hier, die von Grund auf so aufgebaut sind, dass sie die bereitgestellte Struktur Expert, ExpertSignal, ExpertTrade.... vernachlässigen, obwohl sie eine Menge Code (und Zeit, nehme ich an) aufwenden, um einige ihrer Funktionen zu replizieren. Könnte mir jemand eine Erklärung dafür geben, bitte?
Hallo zusammen!
Ich versuche, diesen EA zu testen, erhalte aber gerade folgende Meldung im Strategy Tester: "Fehler beim Öffnen der Position: 4753 - 1 Die Position wurde nicht gefunden". Ich verstehe nicht, warum. Dies passiert, wenn die Funktion "trade.PositionOpen" in der Zeile 159 der Datei "TradeFunctions.mqh" ausgeführt wird. Kann mir jemand bitte helfen?
Können Sie mir sagen, wo die Positionsumkehr stattfindet, wie vom Autor beschrieben? Hier ist sein Code mit Beschreibung
//--- Wenn es eine Position gibtelse
{
//--- Abrufen der Positionsart
GetPositionProperties(symbol_number,P_TYPE);
//--- Wenn die Position dem Signal entgegengesetzt ist und die Positionsumkehr aktiviert istif(pos.type==opposite_position_type && Reverse[symbol_number])
{
//--- Abrufen des Positionsvolumens
GetPositionProperties(symbol_number,P_VOLUME);
//--- Einstellen der Lautstärke
lot=pos.volume+CalculateLot(symbol_number,Lot[symbol_number]);
//--- Kehren wir die Position um
OpenPosition(symbol_number,lot,order_type,position_open_price,sl,tp,comment);return;
}
Sehen Sie sich die Funktion OpenPosition(symbol_number,lot,order_type,position_open_price,sl,tp,comment) an ;
//+------------------------------------------------------------------+//|| Öffnet eine Position|//+------------------------------------------------------------------+void OpenPosition(int symbol_number,
double lot,
ENUM_ORDER_TYPE order_type,
double price,
double sl,
double tp,
string comment)
{
//--- Einstellen der Hauptnummer in der Handelsstruktur
trade.SetExpertMagicNumber(MagicNumber);
//--- Einstellen der Schlupfgröße in Punkten
trade.SetDeviationInPoints(CorrectValueBySymbolDigits(Deviation));
//--- Sofortige Ausführung und Marktausführungsmodus*** Ab Build 803, Stop Loss und Take Profit Levels ***// *** kann bei der Eröffnung einer Position im Modus SYMBOL_TRADE_EXECUTION_MARKET gesetzt werden ***if(symb.execution_mode==SYMBOL_TRADE_EXECUTION_INSTANT ||
symb.execution_mode==SYMBOL_TRADE_EXECUTION_MARKET)
{
//--- Wenn die Position nicht geöffnet ist, wird eine Meldung darüber ausgegebenif(!trade.PositionOpen(Symbols[symbol_number],order_type,lot,price,sl,tp,comment))
Print("Fehler beim Öffnen einer Position: ",GetLastError()," - ",ErrorDescription(GetLastError()));
}
}
Es ist nur eine Sperre! Es gibt keine Umkehrung... dasselbe gilt für das Lot-Inkrement! Können Sie mir das erklären, vielleicht liege ich ja falsch?
Dies ist nicht korrekt. Wenn die Position und der Barpreis mit einem Gap eröffnen, wird StopLoss nicht korrekt gesetzt.
Der Artikel ist ordentlich und leicht zu folgen, und die Bereitstellung der Einstellungen in den .set-Dateien. Ich hatte ein Problem mit den Ausführungsmodi der Symbole, insbesondere mit der Bedingung, die prüft, ob es sich um einen sofortigen oder einen Markt handelt, und erst danach die Eröffnung von Aufträgen zulässt.
Ich habe eine Frage. Ich habe viele verschiedene fortgeschrittene Ansätze gesehen, wie diesen hier, die von Grund auf so aufgebaut sind, dass sie die bereitgestellte Struktur Expert, ExpertSignal, ExpertTrade.... vernachlässigen, obwohl sie eine Menge Code (und Zeit, nehme ich an) aufwenden, um einige ihrer Funktionen zu replizieren. Könnte mir jemand eine Erklärung dafür geben, bitte?
Hallo zusammen!
Ich versuche, diesen EA zu testen, erhalte aber gerade folgende Meldung im Strategy Tester: "Fehler beim Öffnen der Position: 4753 - 1 Die Position wurde nicht gefunden". Ich verstehe nicht, warum. Dies passiert, wenn die Funktion "trade.PositionOpen" in der Zeile 159 der Datei "TradeFunctions.mqh" ausgeführt wird. Kann mir jemand bitte helfen?
Können Sie mir sagen, wo die Positionsumkehr stattfindet, wie vom Autor beschrieben? Hier ist sein Code mit Beschreibung
Sehen Sie sich die Funktion OpenPosition(symbol_number,lot,order_type,position_open_price,sl,tp,comment) an ;
Es ist nur eine Sperre! Es gibt keine Umkehrung... dasselbe gilt für das Lot-Inkrement! Können Sie mir das erklären, vielleicht liege ich ja falsch?Können Sie mir sagen, wo die Positionsumkehr stattfindet, wie vom Autor beschrieben? Hier ist sein Code mit Beschreibung
Sehen Sie sich die Funktion OpenPosition(symbol_number,lot,order_type,position_open_price,sl,tp,comment) an;
Es ist nur eine Sperre! Es gibt keine Umkehrung... dasselbe gilt für das Lot-Inkrement! Können Sie mir das erklären, vielleicht liege ich ja falsch?Es gibt zwei Arten von Handelskonten: Netting und Hedge.
Es gibt zwei Arten von Handelskonten: Netting und Hedge.
Ich hab's! Ich danke Ihnen!