Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
Steve Cartwright Trader Camel CCI MACD - expert para MetaTrader 5
- Publicado por:
- Vladimir Karputov
- Visualizações:
- 1635
- Avaliação:
- 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 Smith, autor 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
Indicador ColorXWPR_Histogram com possibilidade de alterar o timeframe do indicador nos parâmetros de entrada.
VTS_KeltnerIndicador de tendência VTS com uso de canal Keltner.
Este indicador pinta as velas em cores diferentes, dependendo da força e direção da tendência, utilizando os canais Keltner
SSL_HTFIndicador SSL com possibilidade de alterar o timeframe do indicador nos parâmetros de entrada.