Função Price_diff e GetTime
2 respostas
Zsolt72
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
Zsolt72
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
stearno
10 anos atrás #123145
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
Visualizando 2 respostas - 1 até 2 (de um total de 2)