Guten Tag, dieser Roboter tut genau das, wonach ich gesucht habe! Ich habe eine Frage, wie mache ich es so, dass neue Aufträge eingefügt werden, jedes Mal, wenn ein abgeschlossen ist, und nicht nur, wenn ein neuer bar geboren wird, ich bin den Handel ein Vermögenswert, der den gleichen Preis mehrmals wiederholt und ich könnte mehr als einen Handel pro Minute. danke im Voraus.
Entschuldigung, dieser Code funktioniert nur, wenn ein neuer Balken geboren wird.
Dieser Code funktioniert leider nur, wenn der neue Balken geöffnet wird.
Hier ist meine Charge jede 1. Wenn ich möchte, dass die Charge bei jeder Bestellung +1 (1,2,3,4,5....) hinzufügt, ist dies der Abschnitt, den ich ändern muss?
//--- Minimalschritt der Volumenänderung erhalten
double volume_step=m_symbol.LotsStep();
int ratio=(int)MathRound(volume/volume_step);
if(MathAbs(ratio*Volumen_Schritt-Volumen)>0.0000001)
Wie würde das aussehen?
Nein Falsch Um die aktuelle Charge zu erhöhen, müssen Sie wissen, was die letzte Transaktion war.
Wie kann ich die Anzahl der offenen Aufträge begrenzen?
Dankeschön
Wie kann ich die Anzahl der offenen Aufträge begrenzen?
Dankeschön
Um zu begrenzen, müssen Sie alle POSITIONEN zählen.
Der Autor des Expert Advisors wird sowieso nicht antworten. Wenn es möglich ist, den Code zu verstehen, jemand zumindest beantworten, auf welchem Prinzip schwebende Limit-Orders platziert werden. Es scheint auf die Verzögerung vom Preis zu sein, aber auf welchem Prinzip und wo im Code kann es geregelt werden, wenn möglich. Auch ohne Anpassung, nur um zu verstehen, wie und unter welchen Bedingungen sie platziert werden.
Hallo, Wladimir!
In diesem Block können Sie den gelb markierten Code nach Bedarf anpassen/ändern:
//--- MqlRates rates[]; ArraySetAsSeries(rates,true); int copied=CopyRates(m_symbol.Name(),Period(),1,1,rates); if(copied!=1) { PrevBars=0; return; } double H4=((((rates[0].high-rates[0].low)*1.1)/2)+rates[0].close); double H3= ((((rates[0].high-rates[0].low)*1.1)/4)+rates[0].close); double L3= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/4); double L4= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/2); double price=0.0; double sl=0.0; double tp=0.0; price=L4; sl=(InpStopLoss==0.0)?0.0:ExtStopLoss; tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit; m_trade.BuyLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(), m_symbol.NormalizePrice(price-sl), m_symbol.NormalizePrice(price+tp)); price=H4; sl=(InpStopLoss==0.0)?0.0:ExtStopLoss; tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit; m_trade.SellLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(), m_symbol.NormalizePrice(price+sl), m_symbol.NormalizePrice(price-tp));
Mit freundlichen Grüßen, Vladimir.
- 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.
Surefirething:
er arbeitet mit Pending-Orders: Buy Limit und Sell Limit. Das Trailing der Positionen ist möglich.
Autor: Vladimir Karputov