Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
3 pessoas estavam observando =))) Renat veio e apenas apontou seu dedo para o erro =)))))
Vou verificar agora, é claro, mas esse é provavelmente o problema... Eu não normalizei o "bid - TrailingStop * point", e esta mesma construção está envolvida na modificação da ordem...
Não estamos atentos, cavalheiros ;)
Portanto, várias pessoas lhe ofereceram esta variante do problema. Até eu escrevi que a licitação pode ter 5 casas decimais. A princípio pensei que não era possível, mas depois lembrei que as citações são feitas por um autômato que provavelmente pega citações de vários datafeeds e as calcula usando algum tipo de algoritmo.
Bid/Ask têm uma precisão de símbolo padrão inequívoca. Outra coisa é que ao invés de 1.6666 você pode ver 1.6665999 (devido a erro de ponto flutuante).
Quero observar: existem problemas para comparar estes números(tipo duplo) em _todos_ os idiomas e são uma conseqüência da precisão básica limitada deste tipo de aritmética. Conseqüentemente, não se deve culpar ninguém, mas estar ciente do problema e escrever código protegido.
Licitações/Ask são claramente de precisão de caráter padrão. Outra coisa é que ao invés de 1.6666 pode-se ver 1.6665999 (devido às peculiaridades do erro de ponto flutuante).
Quero observar: existem problemas para comparar estes números (tipo duplo) em _todos_ os idiomas e são uma conseqüência da precisão básica limitada deste tipo de aritmética. De forma correspondente, você não deve culpar ninguém, mas estar ciente do problema e escrever um código seguro.
Portanto, não estou acusando ninguém. Eu não pedi nada ao komposter - em que a moeda não funcionava corretamente. Lembro com certeza que em MT3 você pode ver 3 casas decimais em iene. Pelo menos, eu já vi isso mais de uma vez.
não estamos atentos, cavalheiros ;)
normalização não ajudou =(
mais precisamente - erros de rastreio (euro - posição de compra):
03:41
12:07
12:11
14:31
14:33
14:36
14:39
14:44
14:46
14:47
14:48
(horário do servidor)
Renat, como devo proceder?
No momento existem 3 opções:
1. if ( ordertoploss < ( bid - TrailingStop * point ) ) substituído por if ( TrailingStop < ( bid -ordertoploss) / point )
2. Comparar int, não duplo, usando as funções Begun
3. Mudar stop advance ( não todo ponto, mas após n spreads)
e suas combinações, é claro.
Como o software é bastante responsável, eu gostaria de obter (! não uma garantia!) recomendações para escrever...
Tente, ao invés disso:
escrever:
Haverá erros também?
É claro que você pode fazer um backlash, mas não é sério.... E se eu tiver que fazer um backlash de 10-20 pips, "por confiabilidade", sim, em M30, apenas um conto de fadas =)
Por favor, verifique novamente seu código, simplifique-o, insira mensagens de debug.
Para ser honesto, não sei como simplificá-lo...
Mas você pode verificá-lo, é claro. Aqui está o código como é usado agora (em partes):
verifique os parâmetros de entrada e selecione a ordem desejada. Se ocorrer um erro, nós simplesmente saímos, ou seja, a ordem não será modificada.
Salve todos os dados do pedido em variáveis e os normalize:
esta é a cor e a "gentileza" do tronco.
agora, para uma posição longa, definir um novo nível SL, normalizá-lo e compará-lo com o antigo (somente se a posição for lucrativa)
despejá-lo no tronco
uma tripla tentativa de modificar o pedido após uma pausa de 10 segundos (o pedido é destacado a cada vez)
e somente se ordermodify <= 0 um código de erro for enviado
se depois de 3 tentativas a ordem não for modificada, saímos (-1)
o mesmo para as posições de venda
e finalmente, se não houver necessidade de modificar a parada, sair(0)
don't know....
O que isso tem a ver com o assunto? O "+Point" resolve o problema de arredondar o último dígito significativo do preço. Não estamos falando de 2, 3, e ainda mais de 10-20 pips.