Resposta

Desligar o EA quando ele obtiver lucro

22 respostas

JS17

Cliente, bbp_participante, comunidade, 73 respostas.

Perfil da visita

8 anos atrás #113744

Olá, é possível desativar um EA depois que ele obtém lucro ou perda de parada?

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #130632

Hi,

 

Sim, há mais de uma maneira de fazer isso. Você pode simplesmente criar uma variável AllowTradng definida como 1 e, em seguida, editar sua entrada longa adicionando a condição - se AllowTrading = 1, então você entra longa e, na ação, usa "Assign Variable" (Atribuir variável) e define AllowTrading = 0. Isso impedirá a realização de mais negociações.

 

Em seguida, crie a próxima regra em que você compara a data da barra atual com a data da barra anterior e, se elas forem diferentes (o novo dia começa), defina AllowTrading = 1 para que a estratégia esteja pronta para o próximo dia de negociação (sessão).

0

JS17

Cliente, bbp_participante, comunidade, 73 respostas.

Perfil da visita

8 anos atrás #130645

Muito obrigado, Tomas

0

ryanbrignac9764

Assinante, bbp_participante, comunidade, 89 respostas.

Perfil da visita

8 anos atrás #130757

Tomas,

  Não entendo, tentei várias maneiras e não consegui fazer com que funcionasse. Você poderia explicar mais detalhadamente se, por exemplo, eu quisesse que esse EA específico parasse quando atingisse $20 de lucro?

 

Tentei usar seu exemplo, Soma do lucro fechado (em dinheiro), etccc... e não consegui. Preciso de sua ajuda, será muito apreciada. 

0

stearno

Cliente, bbp_participant, comunidade, 379 respostas.

Perfil da visita

8 anos atrás #130763

Pode haver muitas maneiras, mas aqui está uma:

Você cria uma variável. Vamos chamá-la de DailyProfitMet.

Você cria uma nova regra:
Se o lucro total diário for superior a 20 dólares
Então DailyProfitMet = 1

Em seguida, adicione todas as suas regras de entrada:
DailyProfitMet = 0

Isso faz com que ele exija que DailyProfitMet seja igual a 0 antes de entrar em uma negociação. E como ele altera essa variável para 1 quando sua meta de lucro é atingida, ele não entrará em nenhuma nova negociação quando sua meta de lucro for atingida.

A próxima pergunta é quando você quer começar a negociar novamente? Digamos que seja no início do dia seguinte. Então, crie outra regra. Esta diz

Se Dia da semana[0] Dia da semana[1]
Então DailyProfitMet = 1

Ajuste o que foi dito acima para se adequar às particularidades do que você deseja, mas isso lhe dá uma estrutura para usar.

-stearno

0

ryanbrignac9764

Assinante, bbp_participante, comunidade, 89 respostas.

Perfil da visita

8 anos atrás #130766

Stearno,

  Agradeço sua resposta. Normalmente, em meus EAs, executo um StartTime1 e EndTime1, e um StartTime2 e EndTime2. Faço os dois horários de negociação, dependendo do pagamento que faço. Eu poderia configurá-lo para obter lucro entre o horário de início 1 e o horário de término 1? e fazer com que ele reinicie e negocie novamente entre o horário de início 2 e o horário de término 2, ou só posso fazer isso diariamente?

0

ryanbrignac9764

Assinante, bbp_participante, comunidade, 89 respostas.

Perfil da visita

8 anos atrás #130767

Stearno,

  Desculpe-me por escrever novamente, mas ainda estou confuso. Fiz exatamente o que você disse, mas agora está funcionando. Além disso, eles não permitem que você escolha o dia da semana duas vezes. Anexei a estratégia que criei de acordo com suas instruções, mas não está funcionando. Espero que você possa me responder esta manhã, pois estou perdendo muito tempo para descobrir isso

Arquivo: TestAgain.mq4
Arquivo: TestAgain.sqw

0

ryanbrignac9764

Assinante, bbp_participante, comunidade, 89 respostas.

Perfil da visita

8 anos atrás #130814

Alguma resposta, pois ainda estou lutando com isso e não estou negociando nada, ou negociando apenas uma operação ou simplesmente negociando fora de controle. 

0

ryanbrignac9764

Assinante, bbp_participante, comunidade, 89 respostas.

Perfil da visita

8 anos atrás #134809

Stearno ou Marc,

  Espero que tudo tenha corrido bem com vocês. Tenho uma pergunta rápida sobre o último comentário acima, deixado por Stearno (tópico #5)

 

Descobri como fazer com que um EA seja configurado para interromper a negociação quando atingir um determinado lucro que designei para o dia...

 

Mas a pergunta é:

 

Eu negocio, em média, 3 ou 4 EAs separados para uma conta individual. Então, que regra posso colocar em cada EA para que ele feche todas as negociações do dia quando, digamos, o total de lucros de $100 for atingido no total da conta? Não estou preocupado com o desligamento de cada EA, apenas quero que todas as negociações sejam suspensas até o próximo dia de negociação se o lucro total da carteira de $100 for atingido (obviamente, ele ainda leva em consideração se a primeira negociação perdeu -$50, agora, entre todos os EAs em execução, eles precisam obter um lucro de $150, pois a perda de -$50 foi levada em consideração).

 

A maneira como minhas regras já estão configuradas e de acordo com o Tópico #5 acima é que eles querem isso por número mágico em cada EA e isso me deixou confuso porque estou preocupado apenas com o lucro total alcançado como um todo para o portfólio e não com o EA individual.

 

Você poderia informar como configuraria essas regras?

 

Além disso, anexei o arquivo o máximo que consegui, mas o que realmente começa a me confundir é que, por exemplo, posso negociar a estratégia anexada somente com o par AUD/USD...

Talvez eu tenha alguns outros EAs negociando também em outros pares, mas só quero que o portfólio total pare em um determinado nível de lucro. Só não sei como fazer com que os vários EAs busquem o mesmo nível de lucro.

0

stearno

Cliente, bbp_participant, comunidade, 379 respostas.

Perfil da visita

8 anos atrás #134810

Algumas maneiras. Não estou dizendo que minha sugestão é a melhor ou a única maneira.

Uma das medidas que tomei foi fazer com que todos os seus EAs tivessem uma regra que atribuísse o saldo da conta a uma variável no início do dia/sessão de negociação. Segundo, tenha uma variável em que você digite seu limite diário (você disse que era $100).

Em seguida, crie outra regra. No lado esquerdo, adicione a primeira variável (saldo inicial de dias) ao seu limite diário (100). No meio, use maior que. Em seguida, à direita, use o saldo atual. No lado

Em seguida, na seção da condição, faça com que ele feche todas as negociações (se quiser fechar tudo o que estiver aberto no momento. Caso contrário, não coloque essa instrução). Na segunda condição Then, faça com que ela seja atribuída a uma variável bool True.

Preciso colocar uma condição em cada regra de entrada que, se essa variável bool for verdadeira, então não entre na negociação.

Por fim, adicione à regra que atribui o saldo diário a uma variável, também coloque a instrução Then para atribuir à variável bool False. Dessa forma, ele aciona o interruptor e permite a negociação novamente em suas regras de entrada.

Por exemplo. O saldo de sua conta no início do dia é de 1.500. Adicione seu limite diário de 100 a esse valor para chegar a 1.600. Então, sua regra comparará o saldo atual com os 1.600. Sempre que for maior, ela alterará a variável bool para true. Em seguida, as condições de entrada serão atendidas, mas ela verificará se essa variável bool é verdadeira, portanto, não entrará na negociação. No início do dia seguinte, ele mudará a variável bool de volta para false e atribuirá o saldo da conta. Portanto, agora as regras de entrada acionarão as negociações.

Você pode fazer isso em todos os seus 3-4 EAs.

Não estou em um computador, mas se precisar de um exemplo, avise-me e posso fazer isso mais tarde para você.

-Stearno

Enviado de meu HUAWEI MT7-TL10 usando Tapatalk

0

ryanbrignac9764

Assinante, bbp_participante, comunidade, 89 respostas.

Perfil da visita

8 anos atrás #134829

Stearno,

   Agradeço a resposta rápida. Se não for um grande problema, um exemplo seu seria perfeito. Acabei de dar um exemplo rápido de uma regra acima, se você pudesse modificá-la para o que estou procurando, seria ótimo. Eu me perco um pouco quando as coisas ficam muito detalhadas, mas, à medida que converso e leio os fóruns, fico melhor e compreendo melhor todas as verificações e equilíbrios das regras.

0

stearno

Cliente, bbp_participant, comunidade, 379 respostas.

Perfil da visita

8 anos atrás #134878

Esta é a maneira como eu faria isso. Há algumas outras maneiras de fazer isso, mas esta é a minha preferência. Adicione essas regras a todos os EAs que estiver executando.

 

Acrescentei que ele fechará todas as negociações abertas quando a meta de lucro diária for atingida.  

 

Se isso não estiver presente, o EA interromperá as negociações enquanto uma negociação estiver aberta e essa poderá ser uma negociação perdida. Nesse caso, você estaria realmente abaixo de sua meta de lucro diário, mas o EA seria desligado.  

 

 

0

ryanbrignac9764

Assinante, bbp_participante, comunidade, 89 respostas.

Perfil da visita

8 anos atrás #134934

Stearno,

  Peguei o EA que você tinha e tentei executá-lo para estudar as regras, mas quando o carrego e executo, ele não faz nenhuma negociação? O diário continua dizendo "No orders found" (Nenhuma ordem encontrada) E "closing all orders" (Fechando todas as ordens)... Você saberia dizer por que o EA não está realizando nenhuma negociação? Tentei dar uma olhada nele, mas não consegui encontrar o problema

 

2/11/16 @ 9pm

Se possível, você poderia verificar o que pode estar errado com esse EA antes de sair para o fim de semana? Obrigado, Ryan B.

0

stearno

Cliente, bbp_participant, comunidade, 379 respostas.

Perfil da visita

8 anos atrás #135022

Eu o escrevi sem pensar que ele seria usado para fazer negociações. Apenas como um exemplo das regras. Tentarei dar uma olhada nos próximos dias.

Enviado de meu HUAWEI MT7-TL10 usando Tapatalk

0

stearno

Cliente, bbp_participant, comunidade, 379 respostas.

Perfil da visita

8 anos atrás #135039

Aqui. Agora, ele faz negócios.  

 

Precisávamos de um saldo inicial. Quando o EA foi carregado pela primeira vez, a variável DailyAccountBalance tinha 0. Coloquei no menu inicial um valor de 10.000 dólares e agora o EA funciona.  

 

Segundo, ao fazer duas comparações diferentes de EA, é melhor usar "Crosses Above" e Crosses below" em vez de > e <.  

 

Lembre-se de que essas regras devem ser adicionadas a todos os EAs que você executa e que as regras controlam apenas esse EA. Elas não foram escritas para serem gerenciadoras de um portfólio de EAs

 

Boa sorte!

 

-Stearno

0

ryanbrignac9764

Assinante, bbp_participante, comunidade, 89 respostas.

Perfil da visita

8 anos atrás #135206

Agradeço como sempre

0

Visualizando 15 respostas - 1 até 15 (de um total de 22)

1 2