FECHAR todas as negociações
11 respostas
Patrick
7 anos atrás #115440
Alguém tem ou usa um EA que fecha todas as negociações quando o patrimônio líquido cai abaixo de determinado nível?
daveng
7 anos atrás #138786
Posso escrever uma função que você pode inserir em seu EA, se quiser. Estou fora de casa no momento, portanto, só posso codificar quando voltar para o meu laptop.
Karish
7 anos atrás #138790
double MyAccountEquityGuard = 1000; //<< seu patrimônio líquido que você deseja proteger. (Deixe 0 se não quiser usá-lo). /Adicione isso em OnStart(): if(MyAccountEquityGuard!=0){if(AccountEquity()<=MyAccountEquityGuard){ closeActiveOrders(); closePendingOrders(); Alert("Your AccountEquityGuard Was triggerd, All Active&Pending orders was closed."); return(true); }}
*O CÓDIGO FOI ATUALIZADO EM: 01/02/2017 por uma solicitação do membro pupsikPor favor, atualize para a configuração de código atual.
Patrick
7 anos atrás #138791
Tenho uma pergunta: a ideia era permitir que ele fosse executado em outro servidor sozinho, não como parte do EAs.
É possível?
Outra pergunta: ele verifica o patrimônio líquido a cada segundo e/ou minuto?
Obrigado por suas respostas, pessoal! Agradeço muito. E acho que isso pode ser útil para todos que têm um brker com nível de stop out muito baixo.
daveng
7 anos atrás #138796
Ok, codifiquei um EA para você, conforme anexo no formato mq4.
Observe que presumi que, quando o limite de capital for acionado, você desejará que todas as ordens sejam fechadas, independentemente de quais ordens de quais EAs ou símbolos estejam em execução na sua conta. Dessa forma, não configurei o EA para comparar o número mágico ou os símbolos das ordens, pois acho que isso não é necessário (supondo que você queira fechar todas as ordens).
Além disso, dividi o EA em duas partes: uma é para fechar ordens abertas e a outra é para excluir ordens pendentes.
Você pode optar por ativar ou desativar de acordo com suas necessidades.
Por exemplo, se você quiser fechar apenas as ordens abertas, mas não as ordens pendentes, defina "CloseOpenedOrders" como true e "DeletePendingOrders" como false.
Basta arrastar o EA para qualquer gráfico, definir seus parâmetros e deixar que ele faça seu trabalho.
Por último, mas não menos importante, observe que NÃO testei esse EA em minha conta, pois todas as minhas contas reais e de demonstração estão "ocupadas" com estratégias em execução, portanto, prefiro não mexer nelas 🙂.
Portanto, teste-o primeiro em sua conta de demonstração antes de usá-lo em uma conta real.
Para sua informação, fiz uma compilação e não há erros 🙂
Diga-me se isso funciona para você!
Patrick
7 anos atrás #138799
Obrigado, Dave.
Se entendi, ele verifica o patrimônio líquido a cada tick?
E, se entendi bem, mesmo que os EAs abram outra ordem pendente, ela será fechada em algum tempo, porque o patrimônio líquido ainda está abaixo de determinado nível, certo?
Abrirei uma conta de demonstração e a experimentarei. Se precisar de ajuda com o SQ em troca, envie-me uma PM.
Tenho outra ideia, adicionar uma opção: Se o patrimônio cair abaixo de determinado nível, enviar notificação por e-mail.
Nesse caso, você recebe um aviso antes que a negociação seja interrompida. Portanto, é como um mecanismo de controle duplo.
Acho que isso é muito útil, porque o FX às vezes é imprevisível...
daveng
7 anos atrás #138810
Sim, o EA verifica o patrimônio líquido em cada tick, portanto, não importa em qual período de tempo você o está usando.
Adicionei dois recursos de alerta ao EA - Email e Push 🙂.
Portanto, recodifiquei o EA para incluir esses dois recursos, conforme anexo no formato mq4. Portanto, favor descartar a cópia antiga.
- Se você quiser ativar esse recurso, defina "EquityEmailAlert" como true.
- Quando seu patrimônio líquido cair para/abaixo do "EquityLevelToAlert", o EA enviará um e-mail para você.
- Você pode especificar seu próprio assunto e mensagem de e-mail nos parâmetros. Eu coloquei uma mensagem padrão para você.
- O e-mail só será enviado uma vez quando o patrimônio líquido cai para o nível.
- Se seu patrimônio líquido subir acima do nível e depois cair novamente, outro e-mail será enviado.
- IMPORTANTE: para que esse recurso funcione, você precisará configurar seu MT4 conforme ilustrado no link abaixo:
https://www.forexboat.com/mt4-email-alert/
Empurrar
- Se você quiser ativar esse recurso, defina "EquityPushAlert" como true.
- Quando seu patrimônio líquido cair para/abaixo do "EquityLevelToAlert", o EA enviará uma notificação push para seu aplicativo móvel (iPhone ou Android).
- Configurei a mensagem para ser igual à mensagem de e-mail.
- A notificação push só será enviada uma vez quando o patrimônio líquido cai para o nível.
- Se seu patrimônio líquido subir acima do nível e depois cair novamente, outra notificação push será enviada.
- IMPORTANTE: para que esse recurso funcione, você precisará configurar seu MT4 conforme ilustrado no link abaixo:
http://www.cmapllc.com/how-to-set-up-push-notifications-in-mt4-mobile-android-and-iphone.html
Testei os alertas em minha conta e eles estão funcionando tanto por e-mail quanto por push.
No entanto, teste-o intensamente em sua própria conta de demonstração para confirmar que está funcionando antes de usá-lo em uma conta real.
Cumprimentos,
Dave
Seu amigo codificador de bairro 😛.
Patrick
7 anos atrás #138832
Obrigado, Dave, é claro que vou testá-lo primeiro na demonstração 😉.
daveng
7 anos atrás #138833
Obrigado, Dave, mas é claro que vou testá-lo primeiro na demonstração 😉.
Você é bem-vindo!
A propósito, é realmente muito perigoso fazer com que seu EA continue abrindo ordens de mercado enquanto esse EA as fecha. Sua conta pode se esgotar com os custos de spread/comunicação de cada transação, especialmente se o seu EA gerar um alto volume de negociação. É só algo a se observar...
Patrick
7 anos atrás #138849
é claro que a melhor opção seria desativar a negociação automatizada. 🙂
daveng
7 anos atrás #138850
Ou o melhor é incorporar os códigos em seu EA, se você tiver os códigos-fonte.
Patrick
7 anos atrás #138851
Mas, se o seu VPS morrer e o código estiver no seu EA, você terá problemas. A ideia era executar esse EA em outro provedor de VPS no mesmo MT4. Para proteger a conta contra perdas causadas pelo problema do provedor VPS x MT4 x Windows.
Visualizando 11 respostas - 1 até 11 (de um total de 11)