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

Steve Cartwright Trader Camel CCI MACD - Experte für den MetaTrader 5

Veröffentlicht:
Vladimir Karputov
Ansichten:
847
Rating:
(27)
Veröffentlicht:
2017.04.03 11:10
Aktualisiert:
2018.02.27 12:31
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Der Autor der Idee — John SmithDer Autor des Codes mq5 — barabashkakvn

‌Die Parameter, die im EA installiert wurden - für USDJPY, die Timeframe H1.

Es werden zwei МA, ein MACD und ein CCI verwendet. OnTradeTransaction wird für die Erhaltung der Open-Zeit der Position.

Alle Indikatorwerte werden vom Bar №1 genommen.

//--- Indicator Setup 
   CAMELHIGHP1=iMAGet(handle_iMA_PRICE_HIGH,1);
   CAMELLOWP1=iMAGet(handle_iMA_PRICE_LOW,1);
//
   MACDSP1=iMACDGet(SIGNAL_LINE,1);
   MACDSP2=iMACDGet(SIGNAL_LINE,2);
//
   MACDHP1=iMACDGet(MAIN_LINE,1);
   MACDHP2=iMACDGet(MAIN_LINE,2);
//
   CCIP1=iCCIGet(1);

Dabei wird die Kontrolle durchgeführt: auf dem gegebenen Bar wurde bereits die Position geöffnet — so muss man nicht den Umweg nach allen Positionen machen (doch können auf dem gegebenen Handelskonto auch andere EA arbeiten).

Die Berücksichtigung der Open-Zeit wird in OnTradeTransaction durchgeführt. Dabei, wenn der Moment der Schließung der Position festgestellt ist, so wird die Open-Zeit auf Null gesetzt:

//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- get transaction type as enumeration value 
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- if transaction is result of addition of the transaction in history
   if(type==TRADE_TRANSACTION_DEAL_ADD)
     {
      long     deal_entry        =0;
      long     deal_time         =0;
      string   deal_symbol       ="";
      long     deal_magic        =0;
      if(HistoryDealSelect(trans.deal))
        {
         deal_entry=HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
         deal_time=HistoryDealGetInteger(trans.deal,DEAL_TIME);
         deal_symbol=HistoryDealGetString(trans.deal,DEAL_SYMBOL);
         deal_magic=HistoryDealGetInteger(trans.deal,DEAL_MAGIC);
        }
      else
         return;
      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
        {
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            m_last_close_time=(datetime)deal_time;
           }
         else if(deal_entry!=DEAL_ENTRY_OUT)
           {
            m_last_close_time=0;
           }
        }
     }
  }

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

ColorXWPR_Histogram_HTF ColorXWPR_Histogram_HTF

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

VTS_Keltner VTS_Keltner

Der Trend-Indikator VTS mit der Verwendung des Kanal-Keltners.

ColorKeltnerCandles ColorKeltnerCandles

Dieser Indikator färbt die Kerzen in verschiedenen Farben je nach der Kraft und der Richtung des Trends, dazu wird noch die Kanäle Keltners verwendet

SSL_HTF SSL_HTF

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