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
Eu mudei o mecanismo de fechamento de:
para
e agora tudo funciona como esperado. Ainda que não entenda por que isso acontece. Porque eu realmente não entendo as linhas adicionais no segundo código. Mas obrigado a todos vocês!
Eu mudo o mecanismo de fechamento de:
para
e agora tudo funciona como esperado. Obrigado a todos vocês!
Eu mudei o mecanismo de fechamento de:
para
e agora tudo funciona como esperado. Ainda que não entenda por que isso acontece. Porque eu realmente não entendo as linhas adicionais no segundo código. Mas obrigado a todos vocês!
Seu segundo código é correto, mas um pouco engraçado. Abra o MetaEditor, a janela do navegador (Ctrl + D), a aba do dicionário e selecione MQL4 Reference > Standard Constants > Trade operations.
Provavelmente nem sempre funcionará ... ao fechar ordens abertas ou apagar ordens pendentes dentro de um loop você DEVE contar para baixo e não para cima ... você precisa mudar seu loop. E você precisa colocar o chack de volta para Symbol() . . . caso contrário o EA para EURUSD acabará potencialmente fechando ordens para GBPUSD . . . o que você precisava fazer era se livrar do continue . . . ou fazer o == em !=
Só para que você esteja certo. O que você diz é que se eu modificar o primeiro código para:
então ele também deve funcionar?? Porque eu tentei isso e é só abrir novamente um pedido por par de moedas.
Ou se eu mudar o segundo código para (k++ para k--), também abre apenas uma operação por par de moedas.
Só para que você esteja certo. O que você diz é que se eu modificar o primeiro código para:
então ele também deve funcionar?? Porque eu tentei isso e é só abrir novamente um pedido por par de moedas.
Ou se eu mudar o segundo código para (k++ para k--), também abre apenas uma operação por par de moedas.
Estou falando do primeiro código, o loop que você está usando onde você fecha os pedidos ... deve diminuir . . caso contrário, você perderá as ordens. Vejo que você removeu a continuação e acrescentou { } chaves, muito bom :-)
Abrindo uma ordem por par de moedas ou uma ordem no total ?
Abrindo uma Ordem por par de moedas ou uma Ordem no total ?
Sim, no total, é claro. Ok, 2º código:
Quando estamos falando sobre o loop, acho que você está falando sério:
Na verdade, eu o mudaria para algo assim:
Esta linha abre apenas um pedido por par de moedas (como desejado!)
O laço está correto em relação a este problema agora? :
RaptorUK:
Provavelmente nem sempre funcionará . . ao fechar ordens abertas ou apagar ordens pendentes dentro de um loop você DEVE contar para baixo e não para cima . . você precisa mudar seu loop. E você precisa colocar de volta o chack para Symbol() . . caso contrário o EA para EURUSD acabará potencialmente fechando pedidos para GBPUSD . . o que você precisava fazer era se livrar do continue . . ou fazer o === em !=Sim, no total, é claro. Ok, 2º código:
Quando estamos falando sobre o loop, acho que você está falando sério:
Na verdade, eu o mudaria para algo assim:
Esta linha abre apenas um pedido por par de moedas (como desejado!)
O laço está correto em relação a este problema agora? :
Não, faça isto . . .
A primeira posição de ordem é 0, então se você tiver 5 ordens as posições são 0, 1, 2, 3, 4 . . . então a última é OrderTotal() - 1 . . . então para contar para baixo você começa em OrderTotal()-1 e termina em 0
Não, faça isso . . .
A primeira posição de ordem é 0, portanto se você tiver 5 ordens as posições são 0, 1, 2, 3, 4 . . . então a última é OrderTotal() - 1 . . . então para contar para baixo você começa em OrderTotal()-1 e termina em 0
Portanto, deveria ser assim:
porque você escreveu isto:
ou eu estou errado?
Portanto, deveria ser assim:
porque você escreveu isto:
ou eu estou errado?