|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Ein kleines Problem ist aufgetreten, vielleicht ist es ja hier bekannt.
Der Trailing Stopp bzw. hier im EA Jumping Stopp oder ATR wird bei mir nicht ausgeführt. Der SL bleibt für die ganze Dauer des Trades fix und wird nicht verschoben. Jemand eine Idee woran das liegen kann? MT4 Version ist 646. Ansonsten "Last High/Low for SL?" wonach richtet sich diese Einstellung? |
|
||||
irgendwelche fehlermeldungen im experts/journal-tab?
jumpingstop auch aktiviert? |
|
|||
Der Jump-Stop war aktiviert.
Fehlermeldungen bzw. Hinweismeldungen wurden im Journal nicht ausgegeben. Mit meinem 2. Demokonto beim selben Broker (5-digit) habe ich es auch getestet da ist auch nichts passiert. Ein Freund von mir mit derselben Metatraderversion aber anderem Broker (5-digit) hatte keine Probleme, bei ihm geht der Jump-Stop und auch der ATR. |
|
|||
Für diesen Ansatz (Long oder Short um 8 Uhr ) gibt es ein schönes Webinar:
https://www.youtube.com/watch?v=x1TNa18lWtk Allerdings wird dabei die erste Stunde als Indikator für den weiteren Verlauf herangezogen. Das würde gut in den EA passen. kamü |
|
||||
Tja, da weiß ich auch nicht woran das liegen könnte, ich kann leider noch nicht hellsehen
|
|
|||
Hallo,
bin neu in diesem Forum. Habe auch Interesse an einem EA der zu einer bestimmten Zeit (8:00 Uhr) mehrere Order anlegt. Zum Beispiel sollen jeweils eine Buy- und eine Sell-Order in vier unterschiedlichen Varianten angelegt werden. Zusätzliche Angaben zur Order wären: Kurs, Stop, Limit, gültig bis. Am Ende sollen alle Trades um 21:59 Uhr geschlossen werden. Leider kann ich die OpenTradeAtCertainTime with TimeBasedSL EA.ex4 nicht öffnen, damit ich mir den EA anschauen kann. Habe auch bereits anhand des angehängten EAs (aus einem anderen Forum kopiert) ein bisschen herumgespielt. Mein Problem ist, wie gebe ich dem OrderSend die Zeit mit, an dem die Order automatisch angelegt werden soll? Danke im Voraus für eure Hilfe. |
|
|||
Hallo,
ich habe meinen EA angepasst. Die Order werden erstellt, bloss es werden innerhalb dr einen Minute unzählige Order erstellt. Ich habe nach dem OrderSend in den vier Varianten den Status=True gesetzt, den ich weiter oben abfange. Irgendwie greift dieser nicht, oder hab ich da einen Denkfehler? Code:
//---- input parameters extern int OpenHour = 9; // Time to open, hours extern int OpenMinute = 0; // Time to open, minutes extern bool UseCurrSymbol = False; // Use one symbol only extern bool UseOneAccount = False; // Use one account only extern int NumberAccount = 1238827; // Account number extern int Slippage = 3; // Slippage extern double LongEntryV1 = 0; extern double ShortEntryV1 = 0; extern double LongEntryV2 = 0; extern double ShortEntryV2 = 0; extern double LongEntryV3 = 0; extern double ShortEntryV3 = 0; extern double LongEntryV4 = 0; extern double ShortEntryV4 = 0; extern double Lots = 3; extern int StopLossV1 = 140; extern int TakeProfitV1 = 160; extern datetime ExpV1 = D'14.09.2015 18:29:00'; extern int StopLossV2 = 250; extern int TakeProfitV2 = 130; extern datetime ExpV2 = D'14.09.2015 18:29:00'; extern int StopLossV3 = 190; extern int TakeProfitV3 = 140; extern datetime ExpV3 = D'14.09.2015 18:29:00'; extern int StopLossV4 = 80; extern int TakeProfitV4 = 190; extern datetime ExpV4 = D'14.09.2015 13:59:00'; extern bool Status = False; // wurden die Order gesetzt? void start() { if (UseOneAccount && AccountNumber()!=NumberAccount) { Comment("Working on the account: "+AccountNumber()+"is PROHIBITED!"); return; } else Comment(""); if (Hour()==OpenHour && Minute()==OpenMinute) { if(Status==False) { if(LongEntryV1 > 0) OrderSend(Symbol(),OP_BUY,Lots,LongEntryV1,Slippage,StopLossV1,TakeProfitV1,"V1 Buy",0,ExpV1,Blue); if(ShortEntryV1 > 0) OrderSend(Symbol(),OP_SELL,Lots,ShortEntryV1,Slippage,StopLossV1,TakeProfitV1,"V1 Sell",0,ExpV1,Red); if(LongEntryV2 > 0) OrderSend(Symbol(),OP_BUY,Lots,LongEntryV2,Slippage,StopLossV2,TakeProfitV2,"V2 Buy",0,ExpV2,Blue); if(ShortEntryV2 > 0) OrderSend(Symbol(),OP_SELL,Lots,ShortEntryV2,Slippage,StopLossV2,TakeProfitV2,"V2 Sell",0,ExpV2,Red); if(LongEntryV3 > 0) OrderSend(Symbol(),OP_BUY,Lots,LongEntryV3,Slippage,StopLossV3,TakeProfitV3,"V3 Buy",0,ExpV3,Blue); if(ShortEntryV3 > 0) OrderSend(Symbol(),OP_SELL,Lots,ShortEntryV3,Slippage,StopLossV3,TakeProfitV3,"V3 Sell",0,ExpV3,Red); if(LongEntryV4 > 0) OrderSend(Symbol(),OP_BUY,Lots,LongEntryV4,Slippage,StopLossV4,TakeProfitV4,"V4 Buy",0,ExpV4,Blue); if(ShortEntryV4 > 0) OrderSend(Symbol(),OP_SELL,Lots,ShortEntryV4,Slippage,StopLossV4,TakeProfitV4,"V4 Sell",0,ExpV4,Red); int exitday = DayOfWeek()+1; if(exitday == 6) exitday = 0; Status=True; } else Status=False; } } Grüße, Janosch |
Lesezeichen |
Stichworte |
ea, expert advisor, mql4, position, programmierung, programmierung metatrader, trade, trade öffnen, uhrzeit ausführen, zeitpunkt |
|
|