Hallo amando, danke für den Tipp. In der codebase habe ich leider nichts gefunden. Es gibt wohl etwas für MT5, was ich aber nicht genau beurteilen kann, da ich halt mit MT4 arbeite.
Die Beauftragung eines Freelancers müsste ich mir echt mal überlegen. Ich bin aber doch sehr erstaunt, dass es zu dem Thema absolut nichts gibt.
Warum MT4, wenn Du es bereits für MT5 gefunden hast?
Warum MT4, wenn Du es bereits für MT5 gefunden hast?
Hallo Carl, ich habe 2 Real-Handelskonten, die beide an MT4 gebunden sind. Mit MT5 habe ich keine Erfahrung.
Für die Zukunft werde ich mich sicherlich auch mit MT5 befassen. Es gibt wohl auch andere Tradingplattformen, die
grundsätzlich zeitgesteuerte Orders unterstützen. Ich stelle mir einfach die Frage, ob dies auch mit dem mir vertrauten MT4 möglich ist und ich nicht gezwungen bin, die Tradingplatform zu wechseln!?
Hallo Carl, ich habe 2 Real-Handelskonten, die beide an MT4 gebunden sind. Mit MT5 habe ich keine Erfahrung.
Für die Zukunft werde ich mich sicherlich auch mit MT5 befassen. Es gibt wohl auch andere Tradingplattformen, die
grundsätzlich zeitgesteuerte Orders unterstützen. Ich stelle mir einfach die Frage, ob dies auch mit dem mir vertrauten MT4 möglich ist und ich nicht gezwungen bin, die Tradingplatform zu wechseln!?
Ok, kann ich mal versuchen. Habe allerdings zuvor noch nie ein MQL4 Script geschrieben. Komme aber ursprünglich aus der Softwareentwicklung.
Mal schauen, wie aufwendig das ist ...
Ok, kann ich mal versuchen. Habe allerdings zuvor noch nie ein MQL4 Script geschrieben. Komme aber ursprünglich aus der Softwareentwicklung.
Mal schauen, wie aufwendig das ist ...
Auf Deinem PC gibt es einen EA, der SL und TP berechnet: ..\Experts\Examples\..
Und hier ist ein Artikel über die Zeit: https://www.mql5.com/de/articles/599
Und bedenke, es gibt fast nichts, was nicht auch für MT4/MT5 programmiert wurde.

- www.mql5.com
Hallo zusammen, nachdem ich nun schon länger das Internet nach einem bestimmten Script oder EA vergeblich durchsucht habe
wollte ich mal hier im Forum fragen, ob jemand einen Tipp hat.
Ich würde gerne zu einem bestimmten Zeitpunkt also z.B. t = 2021.04.08 23:00 Uhr eine Pending Order erstellen.
Das kann ich natürlich auch manuell tun. Da ich aber zu den bestimmte Zeitpunkten nicht immer am Rechner bin suche ich nach einem Script, was dies automatisiert tut.
Also grob gesagt müsste das Script zu dem bestreffenden Zeitpunkt den aktuellen Preis ermitteln und dann davon abhängig die Pending Order plazieren, d.h. ich gebe nur den Zeitpunkt,
die Distanz vom Preis, SL, TP, und Lot Größe ein.
Würde mich sehr freuen, wenn mir da jemand weiterhelfen kann.
Grüße,
Martin
Hallo,
hier ist der Code.
input ulong Magic = 12345; // Magicnumber input double Lots = 0.10; // Lots int input StopLoss = 50; // SL Points int input TakeProfit = 250; // TP Points input string Trade_start = "23:00"; // Trading start period input int TimeBeforeStart = 5; // Sekunden vor Trading beginn! #include <Trade/Trade.mqh> CTrade m_trade; int OnInit() { if(!m_symbol.Name(_Symbol)) // sets symbol name return(INIT_FAILED); m_trade.SetExpertMagicNumber(Magic); //--- if(IsFillingTypeAllowed(SYMBOL_FILLING_FOK)) m_trade.SetTypeFilling(ORDER_FILLING_FOK); else if(IsFillingTypeAllowed(SYMBOL_FILLING_IOC)) m_trade.SetTypeFilling(ORDER_FILLING_IOC); else m_trade.SetTypeFilling(ORDER_FILLING_RETURN); return(INIT_FAILED); } void OnTick{ // Place pending orders int buy_stop_total = 0; int sell_stop_total = 0; for(int i = OrdersTotal()-1; i >= 0; i--) { ulong ticket = OrderGetTicket(i); if(!OrderSelect(ticket))continue; ulong magic = OrderGetInteger(ORDER_MAGIC); if(magic != Magic)continue; string symbol = OrderGetString(ORDER_SYMBOL); if(symbol != _Symbol)continue; ENUM_ORDER_TYPE order_type = (ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE); if(order_type == ORDER_TYPE_BUY_STOP || order_type == ORDER_TYPE_SELL_STOP) { buy_stop_total++; sell_stop_total++; } } // Time before start in seconds! datetime localtime = TimeCurrent(); datetime zeitanfang = StringToTime(Trade_start); datetime zeitresult = (zeitanfang-(1*TimeBeforeStart)); if(localtime>=zeitresult && (localtime<zeitanfang)) { if(buy_stop_total == 0 && sell_stop_total == 0) { OrderBuyStop(); OrderSellStop(); } return; } } // Order Sell Stop Funktion void OrderSellStop() { string symbol=_Symbol; // specify the symbol, at which the order is placed int digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS); // number of decimal places double point=SymbolInfoDouble(symbol,SYMBOL_POINT); // point double bid=SymbolInfoDouble(symbol,SYMBOL_BID); // current buy price double price=bid - (StopLoss*point); // unnormalized open price price=NormalizeDouble(price,digits); // normalizing open price double SL_pips=StopLoss; // Stop Loss in points int TP_pips=TakeProfit; // Take Profit in points double SL=price+SL_pips*point; // unnormalized SL value SL=NormalizeDouble(SL,digits); // normalizing Stop Loss double TP=price-TP_pips*point; // unnormalized TP value TP=NormalizeDouble(TP,digits); // normalizing Take Profit datetime expiration=TimeTradeServer()+PeriodSeconds(PERIOD_D1); //--- everything is ready, sending a Buy Stop pending order to the server m_trade.SellStop(Lots,price,symbol,SL,TP,ORDER_TIME_GTC,expiration); } // Order Buy Stop Funktion void OrderBuyStop() { string symbol=_Symbol; // specify the symbol, at which the order is placed int digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS); // number of decimal places double point=SymbolInfoDouble(symbol,SYMBOL_POINT); // point double ask=SymbolInfoDouble(symbol,SYMBOL_ASK); // current buy price double price=ask + (StopLoss*point); // unnormalized open price price=NormalizeDouble(price,digits); // normalizing open price double SL_pips=StopLoss; // Stop Loss in points int TP_pips=TakeProfit; // Take Profit in points double SL=price-SL_pips*point; // unnormalized SL value SL=NormalizeDouble(SL,digits); // normalizing Stop Loss double TP=price+TP_pips*point; // unnormalized TP value TP=NormalizeDouble(TP,digits); // normalizing Take Profit datetime expiration=TimeTradeServer()+PeriodSeconds(PERIOD_D1); //--- everything is ready, sending a Buy Stop pending order to the server m_trade.BuyStop(Lots,price,symbol,SL,TP,ORDER_TIME_GTC,expiration); }
Ich hoffe, dass ich ihnen helfen konnte.
Habe nicht geprüft, sollte aber funktionieren.
Da werden Pendingorders in beide Richtungen gesetzt.
Den Rest müssen Sie selbst machen! .-)
Gruß Igor.

- 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.
Hallo zusammen, nachdem ich nun schon länger das Internet nach einem bestimmten Script oder EA vergeblich durchsucht habe
wollte ich mal hier im Forum fragen, ob jemand einen Tipp hat.
Ich würde gerne zu einem bestimmten Zeitpunkt also z.B. t = 2021.04.08 23:00 Uhr eine Pending Order erstellen.
Das kann ich natürlich auch manuell tun. Da ich aber zu den bestimmte Zeitpunkten nicht immer am Rechner bin suche ich nach einem Script, was dies automatisiert tut.
Also grob gesagt müsste das Script zu dem bestreffenden Zeitpunkt den aktuellen Preis ermitteln und dann davon abhängig die Pending Order plazieren, d.h. ich gebe nur den Zeitpunkt,
die Distanz vom Preis, SL, TP, und Lot Größe ein.
Würde mich sehr freuen, wenn mir da jemand weiterhelfen kann.
Grüße,
Martin