Diskussion zum Artikel "Automatisieren von Handelsstrategien in MQL5 (Teil 7): Aufbau eines Raster-Handel EA mit dynamischer Losgrößen-Skalierung"
//--- Abrufen der letzten Barpreise für die Handelssignallogik double low1 = iLow(_Symbol, _Period, 1); double low2 = iLow(_Symbol, _Period, 2); double high1 = iHigh(_Symbol, _Period, 1); double high2 = iHigh(_Symbol, _Period, 2);
diese Variablen werden nicht verwendet... warum dieser Code?
auf den Code ... wo Sie low1 variabile verwenden?
Was ist das Problem mit den Variablen? Irgendein Fehler? Es handelt sich um Funktionen, die überall im Code verwendet werden können.
Wenn ich es genauer erklären sollte, würde ich sagen, dass Sie die Tiefst- und Höchstpreise für den vorherigen Balken und den Balken vor + 1 erhalten.
void ExecuteInitialTrade(double ask, double bid){ //--- KAUFSIGNAL: Tiefstwert des vorherigen Balkens über dem MA und vorheriger Balken unter dem MA if (iLow(_Symbol, _Period, 1) > maData[1] && iLow(_Symbol, _Period, 2) < maData[1]){ gridSize = ask - gridSize_Spacing; //--- Rasterauslöser unter den aktuellen Preis setzen TakeProfit = ask + takeProfitPts; //--- TP für KAUFEN festlegen if(obj_Trade.Buy(LotSize, _Symbol, ask, 0, TakeProfit,"Initial Buy")) Print("Initial BUY order executed at ", ask, " with LotSize: ", LotSize); else Print("Initial BUY order failed at ", ask); isTradeAllowed = false; } //--- VERKAUFSSIGNAL: Höchststand des vorherigen Balkens unter MA und vorheriger Balken über MA else if(iHigh(_Symbol, _Period, 1) < maData[1] && iHigh(_Symbol, _Period, 2) > maData[1]){ gridSize = bid + gridSize_Spacing; //--- Rasterauslöser über dem aktuellen Gebot einstellen TakeProfit = bid - takeProfitPts; //--- TP für SELL setzen if(obj_Trade.Sell(LotSize, _Symbol, bid, 0, TakeProfit,"Initial Sell")) Print("Initial SELL order executed at ", bid, " with LotSize: ", LotSize); else Print("Initial SELL order failed at ", bid); isTradeAllowed = false; } }
Genauer gesagt hier. Sie können zu den Funktionen wechseln oder sie auch wieder löschen, wenn Sie sie nicht wollen. Ist das klar? Vielen Dank!
double low1 = iLow(_Symbol, _Period, 1);
zum Beispiel.....für das Kaufsignal haben Sie iLow und nicht Low1 variabel verwendet
if (iLow(_Symbol, _Period, 1) > maData[1] && iLow(_Symbol, _Period, 2) < maData[1]){
ist nur für meine Studie, danke!!!
diese vier Zeilen können kommentiert werden
// double low1 = iLow(_Symbol, _Period, 1); // double low2 = iLow(_Symbol, _Period, 2); // double high1 = iHigh(_Symbol, _Period, 1); // double high2 = iHigh(_Symbol, _Period, 2);
ist ok.....best EA .
Die 4 Zeilen sind verwirrend für einen Neuling

- 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.
Neuer Artikel Automatisieren von Handelsstrategien in MQL5 (Teil 7): Aufbau eines Raster-Handel EA mit dynamischer Losgrößen-Skalierung :
Der Raster-Handel ist ein systematischer Ansatz, bei dem Kauf- und Verkaufsaufträge in vorher festgelegten Preisintervallen platziert werden, sodass Händler von Marktschwankungen profitieren können, ohne genaue Trendvorhersagen treffen zu müssen. Diese Strategie profitiert von der Marktvolatilität, indem sie innerhalb einer definierten Preisspanne kontinuierlich Handelsgeschäfte eröffnet und schließt. Um die Leistung zu verbessern, werden wir eine dynamische Losgrößenanpassung integrieren, die die Positionsgrößen auf der Grundlage von vordefinierten Bedingungen wie Kontostand, Volatilität oder früheren Handelsergebnissen anpasst. Unser Raster-Handel System wird mit den folgenden Schlüsselkomponenten arbeiten:
Kurz und bündig: Hier ist der gesamte Strategieplan visualisiert, um das Verständnis zu erleichtern.
Durch die Kombination eines strukturierten Rastersystems mit einer adaptiven Losgröße erstellen wir einen EA, der die Rendite maximiert und gleichzeitig das Risiko effektiv steuert. Als Nächstes werden wir diese Konzepte in MQL5 umsetzen.
Autor: Allan Munene Mutiiria