Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Experts

Steve Cartwright Trader Camel CCI MACD - expert para MetaTrader 5

Publicado por:
Vladimir Karputov
Visualizações:
1594
Avaliação:
(27)
Publicado:
2017.03.28 14:00
Atualizado:
2018.02.27 12:32
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Autor da ideia — John Smithautor do código mq5 — barabashkakvn

Parâmetros definidos no EA, em USDJPY, timeframe H1.

São usadas duas MA, uma MACD e uma CCI. OnTradeTransaction é usado para obter o tempo de abertura da posição.

Todos os valores dos indicadores são tomados a partir da barra №1.

//--- 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);

Ao fazer isto, é realizado o controle, isto é: nesta barra já está aberta uma posição, por isso não é preciso verificar todas as posições (porque nesta conta de negociação podem operar outros EAs).

Registro do tempo de abertura em OnTradeTransaction. Se for pego o tempo de abertura da posição, o tempo de abertura será definido como zero:

//+------------------------------------------------------------------+
//| 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;
           }
        }
     }
  }

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/17841

ColorXWPR_Histogram_HTF ColorXWPR_Histogram_HTF

Indicador ColorXWPR_Histogram com possibilidade de alterar o timeframe do indicador nos parâmetros de entrada.

VTS_Keltner VTS_Keltner

Indicador de tendência VTS com uso de canal Keltner.

ColorKeltnerCandles ColorKeltnerCandles

Este indicador pinta as velas em cores diferentes, dependendo da força e direção da tendência, utilizando os canais Keltner

SSL_HTF SSL_HTF

Indicador SSL com possibilidade de alterar o timeframe do indicador nos parâmetros de entrada.