Systemhandel

Duale Stop-Loss-Strategien: Versteckter und regulärer Stop-Loss für MetaTrader 4
MetaTrader4
Duale Stop-Loss-Strategien: Versteckter und regulärer Stop-Loss für MetaTrader 4

Wenn du eine neue Handelsposition eröffnest, ist Geldmanagement meist das erste, was du im Kopf haben solltest. Eine gängige Methode, um dein Risiko zu kontrollieren und dein Kapital zu managen, ist es, einen bestimmten Marginverlust für deine Positionen festzulegen. Viele Trader glauben, dass, sobald sie einen Stop-Loss (oder auch Take Profit) für eine Position setzen und diesen Preis im Positionsänderungsfenster eingeben, der Broker verpflichtet ist, ihre Position sofort zu schließen, sobald der Preis dieses Limit erreicht. Aber das ist so nicht ganz richtig. Es hängt von der Art des Kontos ab, das du bei deinem Broker hast. Es ist wichtig zu wissen, dass bei ECN-Konten der Broker deine Position zum ersten verfügbaren Preis schließt, nachdem der Preis dein Limit erreicht hat. Wenn du damit nicht einverstanden bist, schau dir deine Handelsgeschichte genauer an. Du wirst feststellen, dass einige deiner Aufträge zu einem anderen Preis geschlossen werden, als du festgelegt hast, was zu höheren Verlusten oder auch unerwarteten Gewinnen führen kann. Das nennt man SLIPPAGE. Darüber hinaus glauben manche Trader, dass der Verlustlimit nicht genau für den Broker angegeben werden sollte. Der VERSTECKTE Stop-Loss ist aus dieser Denkweise entstanden, und dieser Roboter ist genau für diesen Zweck konzipiert. Ab jetzt kannst du sowohl VERSTECKTE als auch REGULÄRE Stop-Loss gemeinsam nutzen. Du kannst wie gewohnt ganz einfach einen REGULÄREN Stop-Loss für deine Positionen setzen. Es spielt keine Rolle, ob du mit Robotern handelst oder manuell tradest. Starte einfach diesen Roboter in einem neuen, separaten Chart (beliebig), um deine gesamten Positionen zu verwalten. Der Eingabewert bestimmt den Abstand zwischen dem VERSTECKTEN und dem REGULÄREN Stop-Loss. Beachte, dass dieser Wert in Punkten und nicht in Pips definiert ist.

2021.04.23
Scalper-Assistent v1.0 – Dein perfekter Trading-Partner für MetaTrader 4
MetaTrader4
Scalper-Assistent v1.0 – Dein perfekter Trading-Partner für MetaTrader 4

Scalping gehört zu den beliebtesten Handelsstrategien, die die meisten Trader mindestens einmal ausprobiert haben. Da ein Scalper in der Regel mehr als 10 Trades pro Tag tätigt, kann das Setzen von Stop Loss und Take Profit für jeden einzelnen Trade ganz schön lästig werden. Wenn deine Strategie darin besteht, auf mehreren Finanzinstrumenten zu handeln und zudem den Break Even zu erreichen, kann die Verwaltung all dieser Aufträge schnell zur Geduldsprobe werden und oft mit Fehlern einhergehen. Gerade wenn du in kürzeren Zeitrahmen und über mehrere Währungspaare tradest, kann es passieren, dass sich der Preis rasant bewegt, während du dir gerade eine Tasse Tee holst. Dann verpasst du womöglich die Chance, deine Position ins Break Even zu bringen. Die Vorstellung, dass eine schnelle Kurskorrektur einen profitablen Trade in einen Verlust verwandeln könnte, schwirrt immer im Hinterkopf mit. Mit diesem Expert Advisor kannst du ganz einfach den Betrag für Stop Loss und Take Profit festlegen. Direkt nach dem Öffnen eines Trades werden die Anfangswerte automatisch gesetzt. Wenn sich der Preis ausreichend in die gewünschte Richtung bewegt, wird der Trade risikofrei oder auf Break Even gesetzt. Alle Eingabewerte werden in Punkten (nicht in Pips) angegeben. extern double WhenToMoveToBE; // Du legst fest, wie viele Punkte der Preis vom Einstiegspunkt entfernt sein muss, damit der EA den Auftrag auf Break Even setzen kann. extern double BEAmount; // Hier legst du den Abstand des Stop Loss zum Einstiegspunkt fest.

2021.04.23
AutoTrading Scheduler: Der perfekte Helfer für MetaTrader 4 und 5
MetaTrader4
AutoTrading Scheduler: Der perfekte Helfer für MetaTrader 4 und 5

Herzlich willkommen, Trader-Kollegen! Heute möchte ich euch einen ganz besonderen Expert Advisor vorstellen: den AutoTrading Scheduler für MetaTrader 4 und 5 von EarnForex.com. Mit dem AutoTrading Scheduler könnt ihr die Zeiträume steuern, in denen das AutoTrading in eurem MetaTrader aktiviert oder deaktiviert ist. Das bedeutet, ihr habt die volle Kontrolle darüber, wann eure Handelsstrategien zum Einsatz kommen. Ihr könnt individuelle Zeitfenster für jeden Wochentag festlegen. Dadurch wird das AutoTrading außerhalb dieser festgelegten Zeiten automatisch deaktiviert. So vermeidet ihr unerwünschte Handelsaktivitäten während unpassender Marktzeiten. Zusätzlich hat der Scheduler die Möglichkeit, alle offenen Positionen und Pending Orders zu schließen, bevor das AutoTrading deaktiviert wird. Das ist besonders praktisch, wenn ihr sicherstellen möchtet, dass ihr keine offenen Trades in einer unkontrollierten Marktphase lasst. Kontrollierte Handelszeiten: Legt fest, wann euer Trading aktiv sein soll. Automatisches Deaktivieren: Verhindert ungewollte Trades außerhalb der festgelegten Zeiten. Schließen von Positionen: Sorgt dafür, dass alle Trades vor der Deaktivierung geschlossen werden. Wenn ihr also auf der Suche nach einer effizienten Möglichkeit seid, euer Trading zu automatisieren und gleichzeitig die Kontrolle zu behalten, dann ist der AutoTrading Scheduler genau das richtige Tool für euch!

2021.04.01
Orders schließen: Gewinnziele erreichen oder Verluste begrenzen mit MetaTrader 4
MetaTrader4
Orders schließen: Gewinnziele erreichen oder Verluste begrenzen mit MetaTrader 4

In der Welt des Tradings ist es entscheidend, die Kontrolle über unsere Positionen zu behalten. Ein hilfreiches Tool, das dabei unterstützen kann, ist dieser Expert Advisor (EA). Er hilft uns, Orders entweder bei Erreichen des Gewinnziels oder beim Erreichen der Verlustgrenze automatisch zu schließen. Der EA benötigt drei Eingaben: Gewinnziel Verlustgrenze Magic Number extern    double         inTargetProfitMoney     = 10;       //Gewinnziel in Euro extern    double         inCutLossMoney          = 0.0      //Verlustgrenze in Euro extern    int            inMagicNumber           = 0        //Magic Number Wenn dieser EA ausgeführt wird, wird zunächst die Funktion OnInit() aufgerufen. Hier überprüfen wir die Eingaben und initialisieren die Variablen. int OnInit()   { //---    if(inTargetProfitMoney <= 0)      {       Alert("Ungültige Eingabe");       return(INIT_PARAMETERS_INCORRECT);      }    inCutLossMoney = MathAbs(inCutLossMoney) * -1; //---    return(INIT_SUCCEEDED);   } Bei jeder Preisbewegung (Tick) wird dann die Funktion OnTick() aufgerufen. void OnTick()   { //---    double   tFloating = 0.0;    int tOrder  = OrdersTotal();    for(int i=tOrder-1; i>=0; i--)      {       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))         {          if(OrderMagicNumber() == inMagicNumber)            {             tFloating   += OrderProfit()+OrderCommission() + OrderSwap();            }         }      }    if(tFloating >= inTargetProfitMoney || (tFloating <= inCutLossMoney && inCutLossMoney < 0))      {       fCloseAllOrders();      }   } In der OnTick-Funktion wird der gesamte Gewinn oder Verlust berechnet. Wenn das Ziel erreicht oder die Verlustgrenze überschritten wird, schließt der EA alle entsprechenden Orders. void fCloseAllOrders()   {    double   priceClose = 0.0;    int tOrders = OrdersTotal();    for(int i=tOrders-1; i>=0; i--)      {       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))         {          if(OrderMagicNumber() == inMagicNumber && (OrderType() == OP_BUY || OrderType() == OP_SELL))            {             priceClose = (OrderType()==OP_BUY)?MarketInfo(OrderSymbol(), MODE_BID):MarketInfo(OrderSymbol(), MODE_ASK);             if(!OrderClose(OrderTicket(), OrderLots(), priceClose, slippage, clrGold))               {               Print("WARNUNG: Schließen fehlgeschlagen");               }            }         }      }   } Für detailliertere Informationen und den Austausch von MQL4-Code-Bildungen, schau doch mal in unseren Telegram-Kanal vorbei!

2021.03.31
Trailing Stop im MetaTrader 4: So sichern Sie Ihre Gewinne ab
MetaTrader4
Trailing Stop im MetaTrader 4: So sichern Sie Ihre Gewinne ab

Ein Trailing Stop ist ein äußerst nützliches Werkzeug, um beim Trading Gewinne abzusichern. Er verschiebt den Stop-Loss automatisch in den Gewinnbereich und hilft so, Ihre Positionen abzusichern, während Sie gleichzeitig von weiteren Kursgewinnen profitieren können. In diesem Artikel zeigen wir Ihnen, wie Sie die entsprechenden Parameter für den Trailing Stop im MetaTrader 4 festlegen können. input    bool     isTrailingStop = true;  // Trailing Stop aktivieren input    int      trailingStart  = 15;    // Trailing Start (Pips) input    int      trailingStep   = 5;    // Trailing Schritt (Pips) input    int      MagicNumber = 0;        // Magic Number Globale Variable // Globale Variable double   myPoint    = 0.0; Wenn wir diesen Expert Advisor (EA) starten, wird die OnInit()-Funktion als Erstes ausgeführt. In dieser Funktion validieren und initialisieren wir die Eingangsvariablen. int OnInit()   {       if (isTrailingStop && trailingStart <= 0){       Alert ("Parameter sind inkorrekt");       return(INIT_PARAMETERS_INCORRECT);    }       myPoint     = GetPipPoint(Symbol());       return(INIT_SUCCEEDED);   } Jedes Mal, wenn eine Preisbewegung (Tick) im Chart auftritt, wird die OnTick()-Funktion aufgerufen. Innerhalb dieser Funktion wird die setTrailingStop()-Funktion aufgerufen. void OnTick()   { //---    setTrailingStop(MagicNumber);      } Funktion setTrailingStop() void setTrailingStop(int magicNumber=0){    if (isTrailingStop==false) return;       int      tOrder = 0;    string   pair = "";    double   sl = 0.0, tp = 0.0;       pair = Symbol();       tOrder = OrdersTotal();    for (int i=tOrder-1; i>=0; i--){       bool hrsSelect = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);       if (OrderMagicNumber() == magicNumber && StringFind(OrderSymbol(), pair, 0) == 0 ){          if (OrderType() == OP_BUY){             if ( (Bid - (trailingStart * myPoint)) >= OrderOpenPrice()                   && (Bid - ((trailingStart+trailingStep) * myPoint) >= OrderStopLoss() )                 ){                sl = NormalizeDouble(Bid - (trailingStart * myPoint), Digits());                if (!OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0, clrBlue)){                   Print ("#", OrderTicket(), " konnte SL nicht aktualisieren");                }             }          }                   if (OrderType() == OP_SELL){             if ( (Ask + (trailingStart * myPoint)) <= OrderOpenPrice()                   && ( (Ask + ((trailingStart+trailingStep) * myPoint) <= OrderStopLoss() ) || OrderStopLoss() == 0.0)                )             {                sl = NormalizeDouble(Ask + (trailingStart * myPoint), Digits() );                if (!OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0, clrBlue)){                   Print ("#", OrderTicket(), " konnte SL nicht aktualisieren");                }             }          }       } // Ende der Überprüfung des MagicNumbers    }// Ende der Schleife } Eine weitere wichtige Funktion, die benötigt wird, ist GetPipPoint(). // Funktion GetPipPoint double GetPipPoint(string pair) {    double point= 0.0;    int digits = (int) MarketInfo(pair, MODE_DIGITS);    if(digits == 2 || digits== 3) point= 0.01;    else if(digits== 4 || digits== 5) point= 0.0001;    return(point); } Wenn Sie Fragen haben, hinterlassen Sie bitte einen Kommentar oder treten Sie unserer Gruppe bei, um sich mit anderen Tradern auszutauschen. Sie können uns auch auf t.me/codeMQL finden. Wir bieten auch die SignalForex App an. Unterstützen Sie uns, indem Sie die SignalForex App herunterladen und weiterhin nutzen, um Ihre Trading-Ergebnisse zu verbessern. Jetzt herunterladen

2021.03.30
2 MA Crossing - Der perfekte Expert Advisor für MetaTrader 4
MetaTrader4
2 MA Crossing - Der perfekte Expert Advisor für MetaTrader 4

In diesem Artikel zeigen wir dir, wie du einen Expert Advisor (EA) für MetaTrader 4 erstellen kannst, der auf dem 2 MA Crossing basiert. Lass uns direkt mit den Eingangsvariablen beginnen! Eingangsparameter definieren //--- Eingangsparameter input    int      period_ma_fast = 8;  //Periode für schnellen MA input    int      period_ma_slow = 20; //Periode für langsamen MA input    double   takeProfit  = 20.0;  //Take Profit (Pips) input    double   stopLoss    = 20.0  //Stop Loss (Pips) input    double   lotSize     = 0.10;  //Lotgröße input    double   minEquity   = 100.0; //Min. Eigenkapital (€) input    int Slippage = 3;       //Slippage input    int MagicNumber = 889;  //Magic Number Globale Variablen definieren Als nächstes definieren wir globale Variablen. Diese Variablen sind für alle Funktionen zugänglich. //Globale Variablen double   myPoint    = 0.0; int      mySlippage = 0; int      BuyTicket   = 0; int      SellTicket  = 0; Initialisierungsfunktion Wenn der EA ausgeführt wird, wird als erstes die Funktion OnInit() aufgerufen. Hier validieren und initialisieren wir die globalen Variablen. int OnInit() {    //Validierung der Eingaben    if (period_ma_fast >= period_ma_slow || takeProfit < 0.0 || stopLoss < 0.0 || lotSize < 0.01 || minEquity < 10){       Alert("WARNUNG - Eingabewerte ungültig!");       return (INIT_PARAMETERS_INCORRECT);    }       double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);    if(lotSize<min_volume)    {       string message =StringFormat("Volumen darf nicht kleiner als %.2f sein",min_volume);       Alert (message);       return(INIT_PARAMETERS_INCORRECT);    }       myPoint = GetPipPoint(Symbol());    mySlippage = GetSlippage(Symbol(),Slippage);    return(INIT_SUCCEEDED); } Tick-Funktion Wenn sich der Marktpreis bewegt (Tick), wird die Funktion OnTick() aufgerufen, die alle Anweisungen innerhalb dieses Blocks ausführt. Innerhalb der OnTick()-Funktion rufen wir verschiedene andere Funktionen auf. Wir starten mit der Überprüfung des Eigenkapitals, gefolgt von der Deklaration der Signalvariablen und der Funktion NewCandle(), die signalisiert, wann eine neue Kerze gebildet wird. Die Funktion getSignal() wertet die Werte der beiden gleitenden Durchschnitte aus und gibt die Signalinformation zurück, ob ein Aufwärts- oder Abwärtskreuz vorliegt. Basierend auf diesen Informationen wird die Funktion transaction() aufgerufen, um Kauf- oder Verkaufspositionen zu öffnen. Danach folgt die Funktion setTPSL(), die die Take-Profit- und Stop-Loss-Preise festlegt. Wenn das Eigenkapital nicht den Anforderungen entspricht, wird ein Alert angezeigt, und der EA wird beendet. void OnTick() {    if (cekMinEquity()){              int signal = -1;       bool isNewCandle = NewCandle(Period(), Symbol());              signal = getSignal(isNewCandle);       transaction(isNewCandle, signal);       setTPSL();                  }else{       //Stoppe den Handel, da das Eigenkapital nicht ausreicht       Print("EA wird gestoppt, da das Eigenkapital nicht ausreicht.");    } } Funktion zum Setzen von Take Profit und Stop Loss void setTPSL(){    int   tOrder = 0;    string   strMN = "", pair = "";    double sl = 0.0, tp = 0.0;       pair = Symbol();       tOrder = OrdersTotal();    for (int i=tOrder-1; i>=0; i--){       bool hrsSelect = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);       strMN = IntegerToString(OrderMagicNumber());       if (StringFind(strMN, IntegerToString(MagicNumber), 0) == 0 && StringFind(OrderSymbol(), pair, 0) == 0 ){          if (OrderType() == OP_BUY && (OrderTakeProfit() == 0 || OrderStopLoss() == 0) ){             if (takeProfit > 0) {                tp = OrderOpenPrice() + (takeProfit * myPoint);             }else{                tp = OrderOpenPrice();             }             if (stopLoss > 0) {                sl = OrderOpenPrice() - (stopLoss * myPoint);             }else{                sl = OrderStopLoss();             }             if (OrderTakeProfit() != tp || OrderStopLoss() != sl ){                if(OrderModify(OrderTicket(), OrderOpenPrice(), sl, tp, 0, clrBlue)){                   Print ("Orderänderung erfolgreich!");                }             }          }          if (OrderType() == OP_SELL && (OrderTakeProfit() == 0 || OrderStopLoss() == 0) ){             if (takeProfit > 0) {                tp = OrderOpenPrice() - (takeProfit * myPoint);             }else{                tp = OrderOpenPrice();             }             if (stopLoss > 0) {                sl = OrderOpenPrice() + (stopLoss * myPoint);             }else{                sl = OrderStopLoss();             }             if (OrderTakeProfit() != tp || OrderStopLoss() != sl ){                if (OrderModify(OrderTicket(), OrderOpenPrice(), sl, tp, 0, clrRed)){                   Print ("Orderänderung erfolgreich!");                }             }          }                }//Ende der Überprüfung von Magic Number und Symbol        } //Ende der Schleife Zusammenfassung Das Erstellen eines EAs für das 2 MA Crossing in MetaTrader 4 kann eine sehr effektive Trading-Strategie sein. Denke daran, stets deine Eingabewerte zu validieren und die Risiko-Management-Regeln zu beachten. Hast du Fragen? Lass es uns in den Kommentaren wissen! Wenn du nach einer App suchst, die dein Trading unterstützt, lade dir unsere SignalForex App im Play Store herunter. Für weitere Tipps und Tricks, schau auch in unserer Telegram-Gruppe vorbei!

2021.03.30
Selbstanpassender EA: Deep Learning System für MetaTrader 4
MetaTrader4
Selbstanpassender EA: Deep Learning System für MetaTrader 4

Hallo Trader-Freunde! Heute möchte ich euch von meinem selbstanpassenden Expert Advisor erzählen, den ich ursprünglich auf dem Markt verkaufen wollte. Die Idee für dieses System kam mir, als ich einen Expert Advisor entwickelt habe, der mit statischen Mustern handelt, den ich "The Unreal Engine" nenne. Hier könnt ihr mehr über "The Unreal Engine" erfahren. Bei meinen Tests mit diesem Deep Learning Expert Advisor bin ich auf einige Einschränkungen gestoßen, da ich nur einen Dual-Core-PC mit 4 GB RAM habe. Um diesen EA über viele Jahre hinweg zu testen, benötigt man eigentlich einen Supercomputer, oder es dauert einfach ewig. Mein Expert Advisor, der den Namen "The Enchantress" trägt, ist darauf ausgelegt, jedes Muster, das auf dem Markt auftritt, zu sammeln. Er eröffnet virtuelle Aufträge mit Stop-Loss und Take-Profit und erkennt das beste Markt-Muster, um einen echten Trade zu eröffnen. Wichtig: Da es sich um einen Deep Learning Expert Advisor handelt, braucht der EA mindestens 3 bis 5 Monate, um mit echten Trades zu beginnen. Ich empfehle, ihn zuerst im Strategie-Tester auszuprobieren, bevor ihr ihn auf einem echten Konto einsetzt. Falls jemand von euch diesen EA testet, wäre es super, wenn ihr eure Ergebnisse hier teilen könntet: Ergebnisse teilen Für weitere Informationen könnt ihr auch meinen Kanal besuchen: The Unreal Engine. Viel Erfolg beim Testen! Ich empfehle, den EA auf einem 5-stelligen Währungspaar mit dem minimalen Zeitrahmen (H1) zu testen.

2021.03.13
Einfacher Expert Advisor mit DeMarker-Indikator für MetaTrader 4
MetaTrader4
Einfacher Expert Advisor mit DeMarker-Indikator für MetaTrader 4

Hey Trader-Kollegen! Heute möchte ich euch meinen einfachsten Expert Advisor (EA) vorstellen, den ich je entwickelt habe. Ich habe lange darüber nachgedacht, einen EA für mein Trading zu nutzen, und jetzt ist es endlich soweit! Ich freue mich auf euer Feedback, nachdem ihr alles gelesen habt.Dieser EA funktioniert für ein einzelnes Währungspaar. Alle Einstellungen wie Zeitrahmen, Lot-Größe, Stop-Loss und Take-Profit könnt ihr ganz einfach im Menü konfigurieren.extern ENUM_TIMEFRAMES TF  = PERIOD_CURRENT;// Wählt den Zeitrahmen extern int period          = 8;// DeMarker-Periode extern double lt           = 0.01;// Lots extern int sl              = 100;// Stop-Loss extern int tp              = 100;// Take-Profit extern double OB           = 0.7;// Überverkauft extern double OS           = 0.3;// Überkauft extern bool OPENBAR        = false;// Trading beim Öffnen der neuen KerzeHier ist der Clou: Ich teile die Variablen in drei Teile auf:1. Daten | Zeitrahmen2. Order3. Paar//+------------------------------------------------------------------+ //-- Zeitrahmen | Indikator double dmrk[5]; int signal  =-1;//-- 0.kaufen 1.verkaufen int hold = 0; //-- Order int ticket  =0; double lot  =0.0; int typ     =-1; //-- Paar datetime t1=0; bool newbar=false; bool entry =false; //+------------------------------------------------------------------+In der Funktion OnInit() initialisiere ich das DeMarker-Indikator-Array und überprüfe die minimale Lot-Größe, die je nach Broker-Anforderungen erforderlich ist.//+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ void OnInit()   {    ArrayInitialize(dmrk,0.0);   //---       const double test_lot   = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);       if(lt<test_lot)   lt    = test_lot;   }In der Funktion OnTick() berechne ich den Indikator und bestimme die Kauf- und Verkaufssignale.//---------------------------------------------------------------------------    signal = -1; //--------------------------------------------------------------------------- //--- Berechnung    for(int i=0; i<ArraySize(dmrk); i++)      {       dmrk[i]  =  iDeMarker(Symbol(),TF,period,i);      } //---    if(dmrk[1] > OB)      {       hold = 1;//set      }    else       if(dmrk[1] < OS)         {          hold = -1;//set         }       else         {          hold = 0;//reset         }    if(hold ==  1)      {       if(dmrk[0]<OB && dmrk[1]>OB)         {          signal = OP_SELL;         }      }    if(hold == -1)      {       if(dmrk[0]>OS && dmrk[1]<OS)         {          signal = OP_BUY;         }      }Um ein Kauf- oder Verkaufssignal zu eröffnen... //---------------------------------------------------------------------------    if(signal != -1)       if(newbar==true)          if(entry==false)//Tür offen            {             //---             entry =true;//set             //---             if(signal == OP_BUY)               {                ticket = OrderSend(Symbol(),OP_BUY,lt,Ask,(int)((Ask-Bid)/Point,                                   sl>0?Bid-sl*Point:0.0,                                   tp>0?Bid+tp*Point:0.0,                                   EAName+":signal= "+IntegerToString(signal)+":hold= "+IntegerToString(hold),                                   EANumber,                                   0,                                   clrBlue);                signal=-1;                //hold =0;               }//reset               }//reset signal           } Und für das Schließen...   if(entry == true) // Schließen      {       if(OrderSelect(ticket,SELECT_BY_TICKET))       {          if(OrderCloseTime() == 0)//-- Order aktiv            {             /*  todo Bedingung zum Schließen  */             //entry = false;            }          //else             if(OrderCloseTime() != 0)//--  geschlossen durch 1. manuell 2. sl/tp 3. ea               {                entry = false;//reset entry               }         }      }  

2020.12.17
CSV-Dateien erstellen für MetaTrader 4 – Ein praktischer Leitfaden
MetaTrader4
CSV-Dateien erstellen für MetaTrader 4 – Ein praktischer Leitfaden

Hallo zusammen! Ich bin Lucas und wollte etwas zur großartigen Community beitragen, von der ich so viel gelernt habe – durch informative Artikel und viele weitere Ressourcen. Ich bin selbst ein Forex- und Aktienmarkt-Investor und programmiere Expert Advisors (EAs) nur für mein persönliches Trading. Heute teile ich ein Beispiel mit euch, das hoffentlich für einige von euch nützlich sein wird. Dieses Beispiel zeigt, wie man Handelsdaten in eine CSV-Datei schreibt, die ihr später analysieren und für eure eigenen Auswertungen nutzen könnt. Achtung: Dieser Expert Advisor ist nicht zum Handel geeignet, wie er momentan ist. Vielmehr demonstriert er, wie ihr diese Funktion in euren eigenen Expert Advisors implementieren und weiter anpassen könnt, um sie mit eurer eigenen Strategie zu verwenden. Dieser EA eröffnet Trades in die gewählte Richtung. Die Aufträge werden durch die Menü-Einstellungen für Take Profit (TP) und Stop Loss (SL) virtuell geschlossen. Wenn 'WriteCloseData' auf true gesetzt ist, wird eine Datei erstellt, in der Handelsdaten wie Richtung, Gewinn/Verlust, Preis und mehr als CSV-Datei in eurem Terminal gespeichert werden. Wenn ihr diesen Expert Advisor im Strategietester testet, findet ihr die Datei unter OpenDataFolder/tester/CSVexpert/CSVexample. Der Ordner CSVexpert wird erstellt, wenn ihr mit dem Testen beginnt, und die Datei, die alle Daten speichert, heißt CSVexample. Sobald ihr diese Funktion in euren eigenen Expert Advisor integriert oder weiter an diesem Beispiel arbeitet und es später auf einem Demo- oder Echtgeldkonto lauft, findet ihr die erstellte Datei unter MQL4/Files/CSVexpert/CSVexample. Ihr könnt den Verzeichnis- und Dateinamen nach Belieben umbenennen, solange ihr die Endung .csv beibehaltet. Denkt daran, dass dies nur ein Beispiel ist, um zu zeigen, was ihr damit machen könnt und wie ihr diese Funktion nutzen könnt. Ich möchte nicht, dass jemand Geld verliert, indem er denkt, dass dieser EA sofort für den Handel verwendet werden kann!

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