Erro: diferença de parada do corretor: 0.00
3 respostas
odomike
10 anos atrás #112087
Estou tentando criar um EA que negocie eventos de notícias. O objetivo é abrir uma série de ordens de parada pendentes em ambas as direções imediatamente antes do evento de notícias e, em seguida, gerenciar as ordens até o fechamento. Tentei configurar as regras de modo que o EA coloque as ordens em intervalos específicos (configuráveis pelo usuário) dos preços ASK e BID.
Foi isso que eu fiz:
SE
((( DateCurrent = GetDate(Day, Month, Year)
e TimeCurrent >= GetTime(Hour, Minute, Second)
e EnableMoneyManagement = True )))
ENTÃO
Entre na parada:
Símbolo: Atual
Direção: Longa
Preço: Ask + (GapFromPrice x 0,01)
Quantidade: MM pré-definido
…………………………………
Entre na parada:
Símbolo: Atual
Direção: Curta
Preço: Proposta + (GapFromPrice x -0.01)
Quantidade: MM pré-definido
………………………………….
Observe que a ordem curta tem o múltiplo definido como -0.01 e Long em 0.01. Não sei se entendi direito, mas o objetivo é somar e subtrair esse número de pips dos preços ASK/BID, respectivamente, e fornecer a quantidade necessária de diferença dos preços ASK/BID. O GapFromPrice (12) ali está o GAP dos preços ASK/BID para os preços da ordem stop pendente. Obtive o 0,01 quando estava criando outro EA e usei um múltiplo de 1, o que me deu um gap de 500 pips em vez dos 5 pips necessários, portanto, 0,01 é para dar um gap de 100/1. Espero que minhas explicações façam algum sentido.
O principal problema que estou enfrentando é que o EA, depois de inicializado pelo MT4, apresenta um erro:
E não faz absolutamente nada. Não sei nem entendo o significado do erro e isso é bastante irritante.
Por favor, ajude-me a descobrir o que é esse problema e como resolvê-lo. Anexei o arquivo de estratégia e o código-fonte para sua referência.
Obrigado por seu tempo e apoio.
Com os melhores cumprimentos,
Michael.
Marca Fric
10 anos atrás #124233
Olá,
Verifiquei sua estratégia e fiz algumas correções.
1. renomeei Day, Month, Year etc. para myDay, myMonth, myYear... Eles são trabalhos reservados no MQL, portanto, pode haver problemas ao nomear variáveis dessa forma.
2. alterou sua fórmula de preço, você deve usar a função ConvertToRealPips() quando quiser converter o valor em pips para preço
Em meu teste, ele abriu a ordem corretamente. Se não funcionar para você, tente remover a condição de dia ou hora, se não houver problema com isso.
Marcar
EstratégiaQuant arquiteto
odomike
10 anos atrás #124273
OK, Mark, mas não sei como usar a função ConvertToRealPips para criar a fórmula de preço. Você pode me ajudar?
Marca Fric
10 anos atrás #124360
Desculpe, esqueci de anexar a estratégia corrigida. Você pode ver como ela é feita aqui.
Marcar
EstratégiaQuant arquiteto
Visualizando 3 respostas - 1 até 3 (de um total de 3)