Resposta

Aceitar o segundo pedido na mesma barra

7 respostas

ryanbrignac9764

Assinante, bbp_participante, comunidade, 89 respostas.

Perfil da visita

8 anos atrás #114680

Tentei pesquisar nos fóruns, mas não consegui encontrar a resposta para minha pergunta.

 

Na parte superior de minhas REGRAS, sempre coloco "Is bar open is true" (O bar está aberto é verdadeiro) e, em seguida, listo minhas regras.

 

Então, eu entro no mercado ou na ordem de limite. 

 

Portanto, se eu entrar com uma ordem de mercado quando a abertura da barra for verdadeira e, nessa mesma barra, ele atingir minha meta de lucro e sair da negociação com lucro... Como posso dizer a ele que, se durante a mesma barra o preço voltar ao preço de entrada na mesma barra, há apenas alguns segundos, e ele tiver saído com lucro, ele deverá ENTÃO entrar novamente na posição com o mesmo preço e na mesma direção em que estava?

 

Mas, quando a barra termina e passa para a próxima barra, não quero que ele faça a negociação.

 

Só quero que ele faça a segunda negociação se voltar ao meu preço de entrada depois que o primeiro preço de entrada for bem-sucedido.

 

R.B. 

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #135263

Quando você entra em uma posição usando uma ordem de mercado, pode definir uma variável waitForLimit = 1 e salvar seu preço-alvo de lucro.

Em seguida, o EA aguarda se o mercado atingir esse preço e a posição de mercado NÃO estiver estável até o fechamento da barra e coloca a ordem de limite.

Adicione a condição "if isBarOpen = true AND waitForLimit = 1" que você definiu como waitForLimit = 0 para evitar a colocação de ordem de limite após o fechamento da barra.

 

Observe que isso requer um backtesting preciso para obter resultados significativos

 

Se precisar de um exemplo para isso no WIzard, entre em contato comigo

0

Fx Mena

Cliente, bbp_participante, comunidade, sq-ultimate, 23 respostas.

Perfil da visita

8 anos atrás #135825

MESMO problema

 

Preciso de uma função para verificar a última ordem fechada (a maioria das ordens fechadas manualmente, o EA abre uma nova negociação).

O que eu preciso :

 

COMPRAR se apenas a última ordem fechada foi VENDER

SELL se apenas a última ordem fechada foi BUY

 

Como adicionar ao EA?

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #135835

Isso pode fazer o trabalho. Há duas funções: Last Order (Último pedido) e Last Order Today (Último pedido hoje)... depende de qual você preferir mais

0

Fx Mena

Cliente, bbp_participante, comunidade, sq-ultimate, 23 respostas.

Perfil da visita

8 anos atrás #135847

Isso pode fazer o trabalho. Há duas funções: Last Order (Último pedido) e Last Order Today (Último pedido hoje)... depende de qual você preferir mais

 

Bom, isso resolveu uma parte do sistema. Se eu pur SL=0 e ativar a negociação reversa CloseSell/OpenBuy vs CLoseBuy openSell, depois de algumas negociações, o EA deixará de fazer Reset/Set traded=0 ou 1 e continuará com uma negociação (curta/longa) que não poderá ser fechada se o TP não for atingido

 

 

O problema da : Último pedido & Último pedido hoje que nos retorna a negociação ATIVA atual, não as negociações fechadas, certo?

 

Como modificar a seguinte função personalizada e extrair as regras de estratégia como : || ou &&   Para retornar as regras se a última posição fechada foi SELL ou BUY .

 

Fonte :

http://forum.mt5.com/showthread.php?434-Mql4-useful-functions&s=af607396aa1f53a7c40609e45e03d154&p=1463&viewfull=1#post1463

http://forum.mt5.com/showthread.php?434-Mql4-useful-functions&p=1547&viewfull=1#post1547

int sqGetLastOrderHist(int type = -1)
{
  int ticket = -1;
  datetime dt = 0;
  int cnt = HistoryTotal();
    
  for (int i=0; i dt) {
      dt = OrderCloseTime();
      ticket = OrderTicket();
    }
  }
  
  return (ticket);
}

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #135885

A função Last Order retorna qual foi a última ordem. Como exemplifiquei, o EA espera que a posição seja igual a zero e avalia qual foi a última negociação. Em seguida, ele negocia o oposto.

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #136135

Tentei editar seu arquivo. Veja o projeto do assistente em anexo.

Basicamente, removi a condição "Market Position is Flat" e substituí "Last Order Was" por minha própria variável.

Me avise se isso ajudou

0

Fx Mena

Cliente, bbp_participante, comunidade, sq-ultimate, 23 respostas.

Perfil da visita

8 anos atrás #136154

Muito obrigado, agora tudo mistérios e Problem resolvido com o assistente do EA.

Esse exemplo inclui todas as ações e regras necessárias para as estratégias completas.

 

🙂  Estou muito feliz, 1 ano tentando resolver esse problema, você merece tudo de bom Sr. Tomas

0

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