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
Proffessor v3 - expert para MetaTrader 5
- Publicado por:
- Vladimir Karputov
- Visualizações:
- 1614
- Avaliação:
- Publicado:
- 2018.12.11 12:34
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
O autor da ideia: vitaly
Autor do código MQL5: barabashkakvn
A estratégia de negociação é simples. A posição de BUY ou SELL é aberta e protegida por uma ordem de Stop pendente a uma distância Delta 1. Em seguida, é criado uma grade que consiste em ordens pendentes do tipo Limit ou Stop a uma distância de Delta 2 um do outro. O número de ordens pendentes de cada direção é definido em Max Lines. As ordens pendentes (Buy Limit, Sell Limit, Buy Stop e Sell Stop) são definidas por uma única função PendingOrder, para a qual um tipo de ordem pendente (order_type), volume (volume), stop loss (sl) e take profit (tp) são passados
//+------------------------------------------------------------------+ //| Ordem pendente | //+------------------------------------------------------------------+ void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp) { sl=m_symbol.NormalizePrice(sl); tp=m_symbol.NormalizePrice(tp); if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0, m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp))) { if(m_trade.ResultOrder()==0) { Print("#1 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } else { Print("#2 ",EnumToString(order_type)," -> true. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } } else { Print("#3 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } //--- }
Ao alcançar a meta de lucro Profit Close, todas as posições são fechadas e todos as ordens pendentes removidas. Você também pode fechar todas as posições e excluir as ordens pendentes se perder mais de Loss close (se você definir Loss close para 0.0, o parâmetro está desativado).
A operação do EA (abrindo posições e definindo ordens pendentes de proteção) é executada dentro do intervalo de tempo de funcionamento de Start hour para End hour (Start hour deve ser menor que End hour ou excedê-lo).
Ideia principal
Analisando o valor ADX no tempo gráfico Work TimeFrame. Se o ADX estiver abaixo de 40, isso é considerado lateralizado e as ordens pendentes Limit são colocadas. Caso contrário, as ordens pendentes de Stop são usadas;
Se DI+ for maior que DI-, compre, caso contrário, venda.
Os melhores resultados de otimização dos dois parâmetros (Current bar ADX de 0 a 2, passo 1 e Work TimeFrame de M1 a H1)
EURUSD, Currenr bar ADX 0, Work TimeFrame H1
USDJPY, Currenr bar ADX 2, Work TimeFrame M1
No caso de EURUSD, Current bar ADX 0, Work TimeFrame H1, mas o parâmetro Loss Close é definido para "0.0"
e USDJPY, Current bar ADX 2, Work TimeFrame M1, mas o parâmetro Loss Close é definido para "0.0"
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/22084
O Expert Advisor baseado no iMACD (). Exibindo valores MACD via Point().
MogalefIndicador Mogalef Bands
Indicador Modified Advance Decline line
Fractal_Bar_IndicatorFractal bar indicator