Resposta

As regras de Go Long e Go Short são as mesmas, mas os resultados são diferentes

7 respostas

deweymcg

Assinante, bbp_participant, comunidade, 24 respostas.

Perfil da visita

8 anos atrás #113717

Estou tentando codificar um EA simples que defina ordens pendentes para serem compradas ou vendidas quando o preço sair da máxima ou da mínima da faixa durante um período específico do dia. Quando testei meu primeiro rascunho antes de acrescentar qualquer outra coisa, as negociações a descoberto foram realizadas corretamente quando o preço rompeu a mínima, mas as ordens pendentes a descoberto não chegaram nem perto, embora as instruções para cada uma fossem as mesmas.

 

Estou perdendo alguma coisa? Você pode ver no PIC que as posições compradas e vendidas são as mesmas. Existe uma maneira melhor de fazer isso?

 

Além disso, quero adicionar uma condição que impeça a negociação se a diferença entre o valor mais alto e o mais baixo da faixa for superior ou inferior a um determinado número. Presumo que eu possa usar o indicador PRICE_DIFF, mas também preciso usar o converttorealpips ou outra coisa. Por exemplo, se o intervalo for superior a 50 pips ou inferior a 10 pips, passaremos.

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #130546

Oi deweymcg,

 

Tentei fazer isso no MetaTrader e parece que ele aceita posições longas e curtas corretamente (conforme as regras definidas). Se você achar que não está funcionando corretamente, forneça o máximo possível de informações (capturas de tela, detalhes sobre como você testa) para que possamos identificar rapidamente o problema, se houver algum.

Você pode simplesmente usar a função ConvertToPips + Subtração para isso em sua regra. Editei seu exemplo e o anexei aqui.

 

 

0

deweymcg

Assinante, bbp_participant, comunidade, 24 respostas.

Perfil da visita

8 anos atrás #130552

Oi deweymcg,

 

Tentei fazer isso no MetaTrader e parece que ele aceita posições longas e curtas corretamente (conforme as regras definidas). Se você achar que não está funcionando corretamente, forneça o máximo possível de informações (capturas de tela, detalhes sobre como você testa) para que possamos identificar rapidamente o problema, se houver algum.

Você pode simplesmente usar a função ConvertToPips + Subtração para isso em sua regra. Editei seu exemplo e o anexei aqui.

 

Obrigado. Fiz mais alguns testes e vi por que eles eram diferentes, mas não tenho certeza de como corrigi-los. Se a última sessão tivesse uma compra, mas não uma venda, ela mantinha o stop de venda anterior, mesmo quando eu tinha a ordem pendente válida para um número X de barras. Tentei alterar a opção Replace Existing Order para true, mas isso reduziu muito a velocidade e o diário mostrou uma ordem pendente após a outra, como se o processo fosse repetido a cada tique. Se eu pudesse encontrar uma maneira simples de excluir a ordem pendente depois de um determinado tempo ou condição, acho que conseguiria fazer com que funcionasse corretamente, mas só vejo comandos para fechar ordens, não para excluir ordens pendentes.

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #130585

Oi deweymcg,

 

Há uma função no Assistente de EA - Fechar posição (número mágico da ordem) - que deve fechar qualquer ordem, ou seja, posição aberta OU cancelar ordem pendente também

Você já pensou em usar ordens a mercado em vez de ordens stop? Por exemplo, se (Bid > HighestInRange(03:00, 07:00)) Entrar no mercado longo. Isso também poderia funcionar bem

0

deweymcg

Assinante, bbp_participant, comunidade, 24 respostas.

Perfil da visita

8 anos atrás #130610

Não consigo entender por que isso agora não aceita negociações. Aqui está um PIC do que estou tentando fazer e minha versão mais recente incorporando as sugestões, mas não consigo ver onde está o erro. Se alguém puder dar uma olhada e ajudar, ficaria muito agradecido

0

jcf

Assinante, bbp_participante, comunidade, 1 respostas.

Perfil da visita

8 anos atrás #132972

Verifique a mágica do #

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #132998

Tentarei verificar onde está o problema. O Magics parece estar funcionando bem

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #133030

Acho que o problema está na hora do BoxStart, que não pode ser maior que o valor do BoxEnd. Portanto, à 1 hora, sua estratégia busca o candle das 21:00, que não está disponível para essa data específica, e o MT4 executa novamente o erro = "Not found time from"

 

Quando defino BoxStart para 01:00, BoxEnd para 02:00 e HourBegin para 03:00, por exemplo, ele funciona, pois Start < End

 

Uma solução alternativa para você poderia ser usar as funções Lowest e Highest para N barras atrás, já que você sempre sabe quantas barras tem nesse intervalo de tempo

0

Visualizando 7 respostas - 1 até 7 (de um total de 7)