Systemhandel

Der perfekte Expert Advisor für präzises Trading: Orders zu festgelegten Zeiten öffnen und schließen
MetaTrader4
Der perfekte Expert Advisor für präzises Trading: Orders zu festgelegten Zeiten öffnen und schließen

Ein Expert Advisor, der Aufträge zu bestimmten Tagen und Uhrzeiten öffnet und schließt. Dieser Expert Advisor öffnet und schließt Aufträge ausschließlich mit dem Symbol, an das er gebunden ist. Parameter Tag für das Öffnen von Aufträgen - Legen Sie den Tag fest, an dem Aufträge geöffnet werden. Stunde für das Öffnen von Aufträgen - Legen Sie die Stunde fest, zu der Aufträge geöffnet werden. Minute für das Öffnen von Aufträgen - Legen Sie die Minuten fest, zu denen Aufträge geöffnet werden. Kaufaufträge öffnen - Wählen Sie, ob Kaufaufträge geöffnet werden sollen. Verkaufsaufträge öffnen - Wählen Sie, ob Verkaufsaufträge geöffnet werden sollen. Lotgröße der Aufträge - Legen Sie die Lotgröße fest. Take Profit der Aufträge (0=Kein Take Profit) - Take Profit in Pips. Stop Loss der Aufträge (0=Kein Stop Loss) - Stop Loss in Pips. Magische Nummer der Aufträge - Handhabt Aufträge nur mit einer spezifischen magischen Nummer. Tag für das Schließen von Aufträgen - Legen Sie den Tag fest, an dem Aufträge geschlossen werden. Stunde für das Schließen von Aufträgen - Legen Sie die Stunde fest, zu der Aufträge geschlossen werden. Minute für das Schließen von Aufträgen - Legen Sie die Minuten fest, zu denen Aufträge geschlossen werden. Nur eigene Aufträge rechtzeitig schließen - Wählen Sie, ob nur die Aufträge geschlossen werden sollen, die vom Expert Advisor geöffnet wurden. Alle Aufträge rechtzeitig schließen - Wählen Sie, ob alle geöffneten Aufträge des Kontos geschlossen werden sollen.

2021.11.28
Strategie für mehr Trades nach Break Even – Expert Advisor für MetaTrader 4
MetaTrader4
Strategie für mehr Trades nach Break Even – Expert Advisor für MetaTrader 4

Hallo Trader-Kollegen! Heute möchte ich euch eine spannende Strategie vorstellen, die es euch ermöglicht, nach einem Break Even noch mehr Trades zu generieren. Im Mittelpunkt steht dabei unser kleiner Expert Advisor (EA), der eine praktische Bestellzählfunktion integriert hat. Die Bestellzählfunktion im Detail Die Meisterleistung dieses kleinen EAs liegt in der Funktion zur Zählung der offenen Orders: int OrdersCounter()   {    int counter=0; //---    for(int i=OrdersTotal()-1; i>=0; i--)       if(OrderSelect(i,SELECT_BY_POS))          if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) // Prüfen, ob die Order von diesem EA geöffnet wurde            { //--- Überprüfen, ob Break Even erfolgt ist    /* Für Käufe gilt: StopLoss muss gleich oder über dem Eröffnungspreis liegen. Diese Implementierung eignet sich nicht für Pending Orders, sondern nur für Käufe und Verkäufe*/             double XBreakeven = OrderType()==OP_BUY ? OrderStopLoss() >= OrderOpenPrice() : OrderStopLoss() <= OrderOpenPrice();             if(!XBreakeven) // Wenn nur Break Even und kein Trailing Stop aktiv ist               {                counter++; // Zähle die Position               }            }    return counter;   } Wir zählen also nur die Orders, die KEINEN StopLoss über oder gleich ihrem Eröffnungspreis für Käufe bzw. unter ihrem Eröffnungspreis für Verkäufe haben. Kurz gesagt, wir zählen alle Orders, bei denen kein Break Even erreicht wurde oder der Trailing Stop nicht den Eröffnungspreis schützt. double XBreakeven = OrderType()==OP_BUY ? OrderStopLoss() >= OrderOpenPrice() : OrderStopLoss() <= OrderOpenPrice();             if(!XBreakeven) // Wenn nur Break Even und kein Trailing Stop aktiv ist Durch diese Zählung erstellen wir einen Zähler, der den Wert zurückgibt, den wir nutzen, um unsere maximale Position zu begrenzen. In diesem Fall haben wir sie auf 1 Order gleichzeitig festgelegt.    if(OrdersCounter()<MaximumOrders) Immer wenn ein Break Even eintritt, ignoriert diese Funktion die Zählung. Da wir in diesem Beispiel nur eine Position hatten, wird sie null zurückgeben, und zack – wir öffnen eine weitere Verkaufsorder, und der Prozess geht weiter. Das wäre auch nicht möglich, wenn ich nicht eine Break Even-Funktion erstellt hätte. void BreakEvenFunction()   { //---    for(int i=OrdersTotal()-1; i>=0; i--)       if(OrderSelect(i,SELECT_BY_POS))          if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())            { // Für Käufe: Bid über dem Eröffnungspreis + Break Even Pips, umgekehrt für Verkäufe             double xHybrid = OrderType()==OP_BUY ? (Bid>OrderOpenPrice()+BreakevenPips*_Point && OrderStopLoss()<OrderOpenPrice()) : (Ask<OrderOpenPrice()-BreakevenPips*_Point && OrderStopLoss()>OrderOpenPrice());             /* Für Käufe gilt: StopLoss muss gleich oder über dem Eröffnungspreis liegen, umgekehrt für Verkäufe */             if(xHybrid)               {                bool modfy = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,clrNONE);               }            }   } Habt ihr Lust, es auszuprobieren?

2021.07.13
Validate Me Framework – Der perfekte Trading-Roboter für MetaTrader 4
MetaTrader4
Validate Me Framework – Der perfekte Trading-Roboter für MetaTrader 4

Das Validate Me Framework In diesem Artikel möchte ich meine Sichtweise teilen, wie man einen Trading-Roboter programmiert, der mithilfe von Markt-Kauf- und Verkaufsaufträgen die Marktvalidierung meistert. Dieses Framework kümmert sich um die Prüfungen, die ein Trading-Roboter bestehen muss, bevor er auf dem Markt veröffentlicht wird. Dies dient zu Bildungszwecken. Codebeispiel für einen Kaufauftrag ask=MarketInfo(_Symbol,MODE_ASK);          bid=MarketInfo(_Symbol,MODE_BID);          sl=(OrderStopPips==0)?0.0:bid-ExtOrderStop;          if(sl!=0.0 && ExtOrderStop<StopLevel)             sl=bid-StopLevel;          tp=(OrderTakePips==0)?0.0:ask+ExtOrderTake;          if(tp!=0.0 && ExtOrderTake<StopLevel)             tp=ask+StopLevel;          GetLot=CheckVolumeValue(Lots);          if(!CheckStopLoss_Takeprofit(OP_BUY,ExtOrderStop,ExtOrderTake))             return;          if(CheckMoneyForTrade(GetLot,OP_BUY))             order=OrderSend(_Symbol,OP_BUY,GetLot,ask,10,sl,tp,"FrameWork",678,0,Blue); Eingaben für das Framework

2021.06.22
Erste Vorherige 9 10 11 12 13 14 15 16 17 18 19 Nächste Letzte