Resposta

Função Price_diff e GetTime

2 respostas

Zsolt72

Assinante, bbp_participante, comunidade, 5 respostas.

Perfil da visita

10 anos atrás #111806

Prezado suporte,

 

O EA Wizard é muito bom, mas não entendo algumas funções:

 

1. Como posso usar a função Diferença de preço (PRICE_DIFF)? Gostaria de fazer uma ordem quando a diferença de preço entre a última ordem e a taxa atual for de 5 pip.

2. Gostaria de negociar entre 8 e 16 horas. Como posso usar a função GetTime?

 

Obrigado de antemão

Zsolt

0

Zsolt72

Assinante, bbp_participante, comunidade, 5 respostas.

Perfil da visita

10 anos atrás #123135

Suporte respondido por e-mail. Muito obrigado:

 

> 1) Como posso usar a função Diferença de preço (PRICE_DIFF)? Gostaria de fazer uma ordem quando a diferença de preço entre a última ordem e a taxa atual for de 5 pip.

 

A diferença de preço é outra coisa, ou seja, é a diferença entre dois indicadores.

No seu caso, você provavelmente deve usar a função Open PL (em pips). Isso retornará a diferença atual em pips da última ordem aberta e do preço atual.

 

 

> 2) Gostaria de negociar entre 8 e 16 horas. Como posso usar a função GetTime?

 

é simples, basta adicionar essas condições às regras:

IF TimeCurrent() > GetTime(8, 0, 0)

e TimeCrrent() < GetTime(16, 0, 0)

e... suas outras condições

 

 

Essas funções usam o horário do corretor - horário do MetaTrader, não o horário local.

 

Com os melhores cumprimentos,

 

Andrew Safo

Equipe de suporte

0

stearno

Cliente, bbp_participant, comunidade, 379 respostas.

Perfil da visita

10 anos atrás #123145

@Zsolt72

 

Para as regras de tempo, há outra opção para a sugestão de Andrews. O que eu faço é usar a Hora no menu suspenso Valores de tempo, conforme mostrado no anexo.  

 

Quanto à sua primeira pergunta, talvez eu não esteja entendendo completamente o que você está perguntando. Andrew está correto em encontrar a diferença de preço de uma ordem atual aberta ou em execução. Eu estava pensando que você estava pedindo para descobrir quando o preço atual está a 5 pips do preço da última ordem ou da ordem fechada.  

 

Se é isso que você está perguntando, uma maneira de fazer isso é criar uma variável chamada "Lastordersprice" ou qualquer outro nome. Em seguida, você coloca Assign Variable na instrução THEN de suas regras. Você atribuirá a variável com o preço da última ordem e poderá usar essa variável em sua outra regra que entra quando o preço estiver a mais de 5 pips do preço na variável (a regra de exemplo está em anexo).

 

 

Se você quiser o preço de abertura da última ordem, poderá fazê-lo quando sua regra abrir a ordem e escolher Order's Open Price no menu suspenso de controle de estratégia (como visto no anexo).

 

A parte complicada será se você quiser usar o preço de fechamento da última ordem. Para fazer isso, você precisará atribuir a variável quando uma regra fechar a ordem. Em seguida, você terá que descobrir o que poderia fechar a ordem e atribuir a variável com esse valor. Portanto, se o TP for o que fecha a ordem, você precisará atribuir o valor ao preço do TP. Se o cruzamento de uma MA fechar a ordem, atribua o valor a esse valor de MA. Isso seria mais fácil se uma de suas regras fechasse a ordem. Então, basta adicionar Assign Variable (atribuir variável) à parte WHEN (quando) dessa regra com o valor. É mais complexo quando o SL ou TP é o que fecha a ordem e não é feito por uma regra. Portanto, brinque com isso para ver se consegue descobrir como fazer isso com seu EA.

 

Em seguida, sugiro que você adicione Assign Variable = 0 ao inserir uma nova ordem (se não estiver usando o preço de abertura, mas o preço de fechamento da última ordem). Isso removerá qualquer preço que você tenha nesse campo, de modo que ele estará pronto para que sua regra atribua o novo preço a ele. Gosto de usar isso para garantir que minhas regras não sejam executadas acidentalmente em um nível de preço anterior.

 

Isso exigirá algumas tentativas, mas é possível se você quiser.  

 

 

-Stearno

0

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