Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 749
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
Esta fórmula é bastante fácil de ajustar às exigências. Você só tem que levar em conta o lote mínimo
Isto parece um pouco diferente
Onde X - equilíbrio para abrir o lote mínimo,
Mas ainda precisamos verificar o lote mínimo.
Por que precisamos de todas essas complexidades, X que devem ser calculadas separadamente? Além disso, precisaremos de verificações adicionais...
Não seria mais fácil verificar direta e honestamente a validade e aceitabilidade de todos os valores da fórmula, e depois simplesmente calculá-la honestamente?
A propósito, MathRound() arredonda para o inteiro mais próximo, ou seja, pode facilmente superestimar erroneamente, o que pode causar conseqüências adicionais.
Pobre rapazinho.
Se você puder explicar isso em uma linha de código e com comentários, como no meu código anterior, ficarei extremamente grato.
"Tenho dúvidas", e não posso deixar de sentir que tudo se resume ao mecanismo de cache do ambiente de mercado.
Para que o terminal não tenha que "correr para o servidor" para cada ocasião, como OrderTotal(), OrderSymbol() etc., o ambiente do mercado é copiado para algum cache, e parece ser diferente para cada script, mas o script lida apenas com este cache. O cache NÃO é atualizado automaticamente durante todo o tempo de execução da função principal do script, mesmo após a execução bem sucedida de funções como OrderSend() mudando o ambiente de mercado no servidor, razão pela qual uma ordem que aparece dentro do script "não é visível", ou seja, faz uma ilusão de sua ausência. Ela simplesmente não pode ser detectada no loop, razão pela qual OrderModify() não é chamada. Esta é uma hipótese que surgiu com base em dúvidas vagas e sentimentos incompreensíveis.
O cache descrito pode ser forçosamente atualizado usando a chamada RefreshRates(), por exemplo, imediatamente após a chamada OrderSend(). Verifique se a hipótese está correta.
Se, entre outras coisas, o RefreshRates() retornar verdadeiro, então esta é uma confirmação indireta adicional da hipótese.
Se você me explicar isso em uma linha de código e com comentários, como no meu código anterior, ficarei extremamente grato.
"Tenho dúvidas", e não posso deixar de sentir que se trata do mecanismo de cache do ambiente do mercado.
Para que o terminal não tenha que "correr para o servidor" para cada ocasião, como OrderTotal(), OrderSymbol() etc., o ambiente de mercado é copiado para algum cache, e parece ser diferente para cada script, mas o script lida apenas com este cache. O cache NÃO é atualizado automaticamente durante todo o tempo de execução da função principal do script mesmo após a execução bem sucedida de funções como OrderSend() mudando o ambiente de mercado no servidor, portanto, a ordem que aparece dentro do script "não é visível", ou seja, ela faz uma ilusão de sua ausência. Ela simplesmente não pode ser detectada no loop, razão pela qual OrderModify() não é chamada. Esta é a hipótese que surgiu com base em dúvidas vagas e sentimentos pouco convincentes.
O cache descrito pode ser atualizado forçosamente usando a chamada RefreshRates(), por exemplo, imediatamente após a chamada OrderSend(). Verifique se a hipótese está correta.
Se, entre outras coisas, RefreshRates() retorna verdadeiro, esta é uma confirmação indireta adicional da hipótese.
Olá. Por favor, informe, se eu souber, estou tentando calcular um StopLoss a partir de baixo e alto de 1ª barra, após uma ordem pendente de compra e venda, respectivamente. Mas eu não tenho nada, apenas 130 erros e nada mais. Agradecemos antecipadamente.
Verifique se o OrderOpenPrice() está muito próximo do SL, e se as paradas estão "do lado direito do preço". Você pode ler sobre isso aqui:
Os preços StopLoss e TakeProfit não podem estar muito próximos do mercado. A distância mínima de parada em pips pode ser obtida usando a função MarketInfo() com o parâmetro MODE_STOPLEVEL. O erro 130 (ERR_INVALID_STOPS) será gerado em caso de paradas erradas ou não-normalizadas.
Neste caso, ou seja, para uma ordem pendente, o "mercado" é seu "preço aberto pendente".
Você está normalizando a coisa errada.