|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
EA setzt den SL und TP falsch
Hallo zusammen,
habe mich am Wochenende mal hingesetzt und versucht einen EA yu programmieren. Leider werden die TP und Sl falsch gesetzt.Anstatt vom Eröffnungskurs soundsoviel Pips entfernt wird der SL und TP bei der Eingabe gesetzt.Als Beispiel Einstieg Dax bei 9000 mit SL von 50 Pips wird der Sl dann bei Kurs 50 gesetzt und nicht bei 9005. Wo ist mein Fehler? ich habe die Buy und Sell Bedingung bewusst aus dem Beispiel raus gelöscht weil die hierfür keine Rolle spielen. MfG Chris |
|
|||
Habe im Mt4 ja auch die Build 646. Kann ich den Code einfach so übernehmen durch copy paste? Doch sehr unfangreich die Änderung. Habe versucht mich an dem Buch Expert Advisor voranzuhangeln, da ich noch sehr neu bin in MQL4.
Kannst Du deine Code etwas beschreiben, damit ich ihn besser verstehe was konkret dahinter steht? Danke erstmal für die tolle Hilfe. Beste Grüße Christoph |
|
||||
Zitat:
Zitat:
Dieser code ist alles andere als kompliziert. Wenn Du etwas nicht verstehst nutze google, bspw. mql4 + BEFEHL, da findet sich dann massig. Weiter liefert die Seite mql4.com detaillierte Infos zu einzelnen Befehlen. Der Rest ist dann learning by doing ... |
|
|||
Ok das kann ich verstehen. Aber nochmal zurück zu meinem Code. Warum wird denn meine externe SL Variable gleich als Kurswert genommen obwohl ich den SL doch berechnen lasse durch die Funktion THESTOPLOSSS und THETAKEPROFIT auch zurückgegeben wird in Order Modify?
Also ich verstehe den Grund nicht dass er nichts berechnet sondern den Wert so einfach übernimmt. Geändert von gluema (30.06.14 um 14:43 Uhr) |
|
|||
Wäre über Hilfe dankbar.
MfG |
|
||||
du kannst doch einfach den dir bereitgestellten Text mit copypaste in den Editor laden, dann vergleichen, welches zu deinem Code gleich wäre oder anders ist, schon müßtest du deinen Fehler entdecken.
|
|
||||
Baue nach jedem Befehl Print(-Anweisungen ein und lasse Dir die aktuellen Daten (bspw. OrderStopLoss()) anzeigen.
|
|
|||
Zitat:
Code:
//+------------------------------------------------------------------+ // expert start function //+------------------------------------------------------------------+ int start() { double MyPoint=Point; if(Digits==3 || Digits==5) MyPoint=Point; double TheStopLoss=0; double TheTakeProfit=0; if( TotalOrdersCount()==0 ) { int result=0; if(() // Eroffnung BUY ???????????????? { result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,StopLoss,0,"EA Generator BUY",MagicNumber,0,Green); if(result>0) { TheStopLoss=0; TheTakeProfit=0; if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint; if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint; OrderSelect(result,SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green); } return(0); } if() // Eroffnung SELL ???????????????? { result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"EA Generator SELL",MagicNumber,0,Red); if(result>0) { TheStopLoss=0; TheTakeProfit=0; if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint; if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint; OrderSelect(result,SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green); } return(0); } } |
Lesezeichen |
Stichworte |
ea, eröffnungskurs, expert advisor, mql4, programmierung, programmierung metatrader, sl falsch, sl tp falsch, stoploss, takeprofit, tp falsch |
|
|