MetaTrader5
Proffessor v3: O Sistema de Trading para MetaTrader 5 que Você Precisa Conhecer
Autor da Ideia: vitalyAutor do Código MQL5: barabashkakvnA estratégia de trading do Proffessor v3 é bem simples. Uma posição de COMPRA ou VENDA é aberta e protegida por uma ordem pendente de Stop a uma distância de Delta 1. Em seguida, é criada uma grade de ordens pendentes, sejam Limit ou Stop, a uma distância de Delta 2 umas das outras. 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 configuradas através de uma única função PendenteOrder, onde são passados o tipo de ordem (order_type), volume (volume), stop loss (sl) e take profit (tp).//+------------------------------------------------------------------+
//| 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. Retcode do Resultado: ",m_trade.ResultRetcode(),
", descrição do resultado: ",m_trade.ResultRetcodeDescription());
PrintResultTrade(m_trade,m_symbol);
}
else
{
Print("#2 ",EnumToString(order_type)," -> true. Retcode do Resultado: ",m_trade.ResultRetcode(),
", descrição do resultado: ",m_trade.ResultRetcodeDescription());
PrintResultTrade(m_trade,m_symbol);
}
}
else
{
Print("#3 ",EnumToString(order_type)," -> false. Retcode do Resultado: ",m_trade.ResultRetcode(),
", descrição do resultado: ",m_trade.ResultRetcodeDescription());
PrintResultTrade(m_trade,m_symbol);
}
//---
}Ao atingir o Alvo de Lucro, feche todas as posições e remova todas as ordens pendentes. Você também pode fechar todas as posições e deletar ordens pendentes se perder mais do que Fechamento de Perda (caso defina Fechamento de Perda como 0.0, esse parâmetro será desativado).O funcionamento do EA (abertura de posições e configuração de ordens pendentes de proteção) ocorre dentro do intervalo de tempo de trabalho, entre a Hora de Início e a Hora de Término (Hora de Início pode ser menor que a Hora de Término ou ultrapassá-la).Ideia PrincipalA análise do valor do ADX é feita no timeframe Work TimeFrame. Se o ADX estiver abaixo de 40, isso é considerado um mercado lateral, e as ordens pendentes Limit são colocadas. Caso contrário, as ordens pendentes Stop são utilizadas;Se DI+ for maior que DI-, compra; caso contrário, venda.Os melhores resultados de otimização para os dois parâmetros (ADX da barra atual de 0 a 2, passo 1 e Work TimeFrame de M1 a H1):EURUSD, ADX da barra atual 0, Work TimeFrame H1USDJPY, ADX da barra atual 2, Work TimeFrame M1No caso do EURUSD, ADX da barra atual 0, Work TimeFrame H1, mas o parâmetro Fechamento de Perda está definido como "0.0"E USDJPY, ADX da barra atual 2, Work TimeFrame M1, mas o parâmetro Fechamento de Perda está definido como "0.0"
2018.10.26