Olá, Vladimir!
Testei um pouco esse Expert Advisor, executando-o na demonstração por um dia e no testador. Tanto no primeiro quanto no segundo tipo de teste, houve dúvidas sobre a exatidão do código. Por exemplo, quando o Expert Advisor estava na demonstração, em algum período ele abria novas posições depois de fechar todas as posições não com o lote mínimo, mas com o próximo passo. Isso certamente aumentou consideravelmente o saldo, mas acho que a lógica falhou. E quando eu estava testando com a visualização, não era incomum que, depois de abrir 2-3 posições e obter o lucro total nelas mais do que o definido na variável InpMinProfit, o Expert Advisor não as fechasse, mas esperasse que todas elas fossem fechadas no take profit.
Infelizmente, não sou bom em programação OOP e C++, portanto, mesmo vendo o código-fonte, não consigo entender por que isso acontece.
Não sei se é possível que esse EA saia com X dólares acima da "marca d'água alta" do patrimônio líquido... em vez do genérico "fechar tudo" definido como lucro mínimo. Sempre posso calcular isso manualmente com o atual EA (ótimo EA)... mas introduzir o "pensamento de marca d'água alta" seria revolucionário! Também não seria fantástico automatizar as etapas com o ATR em vez de defini-las manual e estaticamente? Isso permitiria que esse EA se tornasse "autoajustável" durante os períodos de baixa.
mb
Boa estratégia. Qual sinal ele usa para abrir compras e abrir vendas ?
Bloco de decisão:
if(count_buys==0 || count_sells==0) // check the opening of the position "sell" { if(count_buys==0 && count_sells>0) { if(m_symbol.Bid()-price_highest_sell>ExtStep) need_to_open_a_sell=true; } else if(count_sells==0 && count_buys>0) { if(price_lowest_buy-m_symbol.Ask()>ExtStep) need_to_open_a_buy=true; } }
"need_to_open_a_sell" e "need_to_open_a_sell" - sinais de negociação
Não fecha as posições abertas de acordo com o valor do parâmetro - Min profit for close all.
Por favor, mostre as configurações do Expert Advisor e o arquivo de registro. Quais posições não foram fechadas?
Olá, obrigado pelo EA
seria possível separar o parâmetro de entrada para apenas vender ou apenas comprar? ATT
Olá Vladimir, obrigado por seu código. É interessante.
Sou novo na codificação do MT5.
Como posso entender a função do void CloseAllPositions ()?
Parece que a função não fecha todas as posições, mas apenas a posição que atingiu os pips de lucro.
Espero que você não se importe em me explicar passo a passo. E como devo alterá-la para que feche todas as posições quando a maior negociação aberta atingir os pips de lucro?
Obrigado.
Void CloseAllPositions()
{
for(int i=PositionsTotal()-1;i>=0;i--) // retorna o número de posições atuais
if(m_position.SelectByIndex(i)) // seleciona a posição por índice para acesso posterior às suas propriedades
if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
m_trade.PositionClose(m_position.Ticket()); // fechar uma posição com o símbolo especificado
}
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Martin for small deposits:
Expert Advisor baseado em Martingale especialmente projetado para pequenos depósitos.
Autor: Vladimir Karputov