Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Twitter!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Expert Advisors

Nevalyashka_BreakdownLevel - Experte für den MetaTrader 5

Veröffentlicht:
Vladimir Karputov
Ansichten:
870
Rating:
(29)
Veröffentlicht:
2017.07.12 18:28
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Der Autor der Idee — Vladimir KhlystovDer Autor des Codes mq5 — barabashkakvn.

Die Strategie des Handels - der Durchbruch des Maximums/Minimums auf dem gewählten Zeitraum. Als Kompensation der verlustbringenden Positionen wird "Nevalyashka" mit der Erhöhung des Lotes nach dem Martingale-Prinzip verwendet.

Der EA rechnet Maximum und Minimum des Preises im vorübergehenden Abstand zwischen "Time start" — die Anfangszeit des der Kontrollperiode und "Time end" — die Zeit des Endes der Kontrollperiode:

Nevalyashka BreakdownLevel

Wenn der Preis mehr als Maximum dieser Periode ist, wird die Position "BUY" geöffnet, wenn der Preis unter Minimum ist — wird die Position "SELL" geöffnet. StopLoss wird auf die entgegengesetzte Grenze der Periode gesetzt: für die Position "BUY" — wird auf die Ebene des Preisminimums gesetzt, und die Position "SELL" — auf die Ebene des Preismaximums. TakeProfit wird nach der Ebene der Höhe der Kontrollperiode gesetzt.

Wenn das Parameter "Use time close" dem true gleich ist — bedeutet es, dass das Parameter "Time close" funktionieren wird (die Zeit, in der alle Positionen geschlossen werden).

Für die Eingangsparameter "Time start""Time end" und "Time close" werden nur Stunden und Minuten berücksichtigt.

Die Schließung nach StopLoss wird in OnTradeTransaction gestoppt.

Wenn wir das Trade mit dem Typ "DEAL_ENTRY_OUT" (ru: "Das Verlassen aus dem Markt", en: "Entry out") finden, dann schauen wir das Kommentaren-Feld bei diesem Trade. Wenn wir in den Kommentaren "sl" finden — dann bedeutet dies mit größer Wahrscheinlichkeit, dass das Trade gefunden wurde, welches nach StopLoss geschlossen ist:

      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            MqlDateTime str1;
            TimeToStruct(TimeCurrent(),str1);
            //--- there is a chance that this was a closure on the TakeProfit
            if(StringFind(deal_comment,"tp",0)!=-1 || deal_profit>=0.0)
              {
               TradeDey=str1.day;
               return;
              }
            //--- there is a chance that this was a closure on the StopLoss
            if(StringFind(deal_comment,"sl",0)!=-1)
              {
               if(TradeDey!=str1.day)
                 {
                  Print("A StopLoss closure has been detected!");

                  double loss=MathAbs(deal_profit/m_symbol.TickValue()/deal_volume);

                  if(deal_type==DEAL_TYPE_SELL) // the buy position is closed
                    {
                     double SL=m_symbol.Bid()+loss*m_symbol.Point();
                     double TP=m_symbol.Bid()-loss*m_symbol.Point();
                     double Lot=LotCheck(deal_volume*InpK_martin);
                     if(Lot==0.0)
                        return;
                     OpenSell(SL,TP,Lot,"Nevalyashka");

                    }
                  if(deal_type==DEAL_TYPE_BUY) // the sell position is closed
                    {
                     double SL=m_symbol.Ask()-loss*m_symbol.Point();
                     double TP=m_symbol.Ask()+loss*m_symbol.Point();
                     double Lot=LotCheck(deal_volume*InpK_martin);
                     if(Lot==0.0)
                        return;
                     OpenBuy(SL,TP,Lot,"Nevalyashka");
                    }
                  return;
                 }
              }
           }

und wir öffnen die Position — die entgegengesetzt der geschlossenen Position ist (wenn der Typ des Trades "DEAL_TYPE_SELL" ist, bedeutet es, dass die Position "BUY" geschlossen wurde; wenn der Typ des Trades "DEAL_TYPE_BUY" is — bedeutet es, es wurde die Position "SELL" geschlossen), aber dabei vergrößern wir den Volumen des Trades in " K-. martin" Mal. Wenn die Position mit dem positiven Gewinn geschlossen wurde, so wartet der EA auf die Start-Zeit der folgenden Periode " Time end ", und alles wiederholt sich .

Das Parameter " No loss " die Übersetzung davon ohne Verlust: die Position StopLoss wird bei der Erreichung der Position der Hälfte seines Gewinns auf die Ebene des Open-Preises gesetzt.

Das Beispiel des Tests am EURUSD,M30:

Nevalyashka BreakdownLevel test EURUSD M30

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/18645

Boa_ZigZag_Arrows_HTF Boa_ZigZag_Arrows_HTF

Der Indikator Boa_ZigZag_Arrows mit der Veränderungsmöglichkeit des Timeframes des Indikators in den Eingangsparametern.

AutoTradeLevels AutoTradeLevels

Der Indikator markiert mit den kurzen horizontalen Linien alle abgeschlossenen Trades.

Boa_ZigZag_channel Boa_ZigZag_channel

Der Kanal, der aufgrund der Spitzen und Tiefen des Indikators Boa_ZigZag erstellt wurde

ZigZag_channel ZigZag_channel

Der Kanal, der aufgrund der Spitzen und Tiefen des Indikators ZigZags erstellt wurde.