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
E se o pedido for cancelado pelo servidor?
No próximo tique, a EA verá que não há posições, e tudo ficará bem. Mas não haverá dobras.
Acho que ao contabilizar as ordens do mercado, devemos devolver WRONG_VALUE, por exemplo - as posições não podem ser inferiores a zero. Isto será um sinal de que há uma ordem de mercado não gravada. Mas não acrescente o número de posições.
Isto depende da lógica do TS específico.
No caso mais básico em que uma negociação no mercado é permitida, qualquer valor que não seja 0 deve ser devolvido. 1 também o fará.
No próximo tique, o assessor verá que não há posições e tudo estará bem. Mas não haverá duplicação.
Depende da lógica do TS particular.
No caso mais básico, quando uma negociação no mercado é permitida, basta devolver qualquer valor que não seja 0, 1 será suficiente.
Ele (o Conselheiro Especialista) já receberá, neste tick, um valor maior do que a quantidade de ordens de mercado. Ou seja, na verdade são dois, mas a função resultará em 3.
Acho que este não é um comportamento normal. Devemos sempre descansar um número válido, sem posições virtuais, que pode acabar não estando lá.
Afinal, existem estratégias que requerem cálculos precisos para um número preciso e definido de posições, volumes, níveis agregados de parada/parada, etc...
Depende da lógica do TS particular.
No caso mais primitivo, quando um comércio é permitido no mercado, basta devolver qualquer valor que não seja 0, 1 também o fará.
Andrew, uma função que é solicitada por quantidade ou volume ou qualquer outro dado quantitativo é obrigado a dar seu valor exato.
Não é como se estivéssemos brincando com brinquedos :)
Andrew, uma função que é solicitada por quantidade ou volume ou qualquer outro dado quantitativo é obrigado a dar seu valor exato.
Você está olhando para um exemplo específico de um EA com uma profissão no mercado, e ele está escrito incorretamente 99% do tempo. Você ainda precisa chegar aos complexos.
Se você realmente quiser, renomeie a função para IsPosition e torne-a booleana: return(Res>0);
Um exemplo específico de uma EA com um comércio no mercado é considerado e está escrito errado 99% do tempo. Você ainda precisa chegar aos complexos.
Se você realmente quiser, renomeie a função para IsPosition e torne-a booleana: return(Res>0);
Bem, não... é um exemplo de alguma função comum de biblioteca "para todas as ocasiões"...
A propósito, interessante proposta de torná-la uma função booleana - seguindo o exemplo de muitas funções padrão de mql5 - com retorno do resultado da execução como valor de bool, e número de posições passando o valor para uma variável por referência.
Bem não..., um exemplo de uma função genérica de biblioteca "para todas as ocasiões" está sendo considerado...
Sim, universal.
Sim, universal.
A solução sugerida por você contém uma imprecisão no cancelamento do pedido pelo servidor. Eu gostaria de discutir como lidar com esta imprecisão. Sem eles, a oferta é bruta.
Vamos nos afastar do MT5 em direção ao MT4. Uma EA é uma empresa comercial. De repente, o corretor comete um erro técnico (não você) e coloca uma posição em sua conta, que passa com sucesso o filtro do Expert Advisor amigo ou inimigo - Magic, Symbol, etc. Segundos depois, o corretor corrige seu erro - elimina (não fecha sequer) sua posição de sua conta.
Seu TS irá quebrar?
Lembro-me de uma situação em que um grande corretor que ama Expert Advisors fez um ótimo trabalho. Por "erro", ele depositou uma quantia muito grande na conta. Assim, o Expert Advisor abriu uma posição com um lote muito grande. Então o corretor corrigiu o "erro" - retirou o dinheiro creditado incorretamente. A conta foi encerrada utilizando um stop loss.
Vamos nos afastar do MT5 em direção ao MT4. Uma EA é um negócio. De repente, o corretor comete um erro técnico (não você) e coloca uma posição em sua conta, que passa com sucesso o filtro do Expert Advisor amigo ou inimigo - Magic, Symbol, etc. Segundos depois, o corretor corrige seu erro - elimina (não fecha sequer) sua posição de sua conta.
Seu TS irá quebrar?
Lembro-me de uma situação em que um grande corretor que ama Expert Advisors fez um ótimo trabalho. Por "erro", ele depositou uma quantia muito grande na conta. Assim, o Expert Advisor abriu uma posição com um lote muito grande. Então o corretor corrigiu o "erro" - retirou o dinheiro creditado incorretamente. A conta foi fechada utilizando uma parada.
Artyom Trishkin:
Мы говорим не о ТС.
No exemplo, estamos falando sobre a situação específica da TC descrita. E aí a pergunta fica sem resposta.
A função retorna o que está fisicamente na conta. E repousa exatamente tanto quanto repousa no MT4. Isto é, tudo é normal.