Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1852
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
Não entendo porque, se eu bloquear a bandeira nesta função, a EA abrirá e fechará 100-200 pedidos de cada vez
Deixe-me explicar usando seu código:
Inicialmente, uma bandeira é hasteada.
Depois abre pedidos
Se surgir uma condição de fechamento do pedido (você tem três deles)
Esta bandeira recebe o valor "1" e começa a fechar as encomendas
E quando todas as ordens são fechadas, a bandeira recebe "0".
Porque se a bandeira não é "0", ela chama constantemente a função ClosseAll()
Este pode ser o caso, desde que seja dada a ordem de abertura de uma ordem. Portanto, há uma espécie de "VERIFICAÇÃO" em curso.
Este pode ser o caso, desde que seja dada a ordem de abertura de uma ordem. Portanto, há uma espécie de "CÁLCULO" em andamento.
Você tem um cartão de crédito?
Você vai a uma loja e compra uma garrafa de cerveja uma de cada vez e cada vez que você paga com o cartão até obter "0" no cartão,
depois vá e recarregue o cartão e vá e pegue outra cerveja.
Sim. Mas a fechadura se abre com o mesmo lote. E duas ordens dirigidas de forma diferente são abertas simultaneamente. E hedging é quando um comércio entrou em um drawdown, e o comerciante abre uma posição com um lote maior na mesma direção (com direções diferentes eu me misturei) implicando que o preço irá reverter para obter lucro em um comércio com um lote maior e cobrir a perda de um comércio com um lote menor ou média a 0. Se eu tiver algo errado, então me corrija.
A cobertura não é absolutamente um bloqueio, ou bloqueio parcial, mas um sistema completamente diferente.
A cobertura não é absolutamente um bloqueio, ou bloqueio parcial, mas um sistema completamente diferente.
Mas não estou dizendo que é uma perda. Só fiquei confuso ontem (eu disse: você deveria abrir uma posição oposta ao invés de uma posição unidirecional). O tempo estava atrasado. E hoje entendi onde eu estava errado.
Mas não estou dizendo que é uma perda. Só fiquei confuso ontem (eu disse: você deveria abrir uma posição oposta ao invés de uma posição unidirecional). O tempo já estava atrasado. E hoje eu percebi onde eu estava errado.
Faz sentido então, acontece :)
Este pode ser o caso, desde que seja dada a ordem de abertura de uma ordem. Portanto, há uma espécie de "CLICKING" acontecendo.
Precisamos criar uma lista de pedidos, com carrapatos, para fechar (como muitos já disseram aqui). Se o robô detectou um sinal para sair, as ordens correspondentes (bilhetes) devem ser adicionadas à lista para fechar. A lista é passada por um ciclo que envia pedidos de fechamento (OrderClose). Então, precisamos verificar constantemente se há alguma ordem em aberto com as passagens que foram adicionadas à lista. Se um ou mais bilhetes não forem encontrados, devemos excluí-los da lista. Desta forma, a função não enviará um pedido de fechamento de pedidos que não existem.
O que fazer com os novos sinais e pedidos, que apareceram durante o período da lista preenchida? Você também pode adicioná-los à lista a ser fechada por um sinal de saída. Dessa forma, eles também serão fechados na sua vez. Isso é tudo. Criar tal lista e fechar os pedidos pelo bilhete ciclicamente. Você pode fazer isso com um intervalo de um segundo ou alguns segundos por uma passagem do ciclo. Tudo o que temos para realizar este algoritmo, e tudo vai funcionar.
Precisamos criar uma lista de pedidos para fechar (como muitos já disseram aqui) com ingressos. Se o robô detectar um sinal de saída, então adicione as ordens correspondentes (bilhetes) à lista de fechamento. A lista é passada por um loop que envia um pedido de fechamento (OrderClose). Então você deve verificar constantemente se há alguma ordem em aberto com as passagens que foram adicionadas à lista. Se um ou mais bilhetes não forem encontrados, devemos excluí-los da lista. Desta forma, a função não enviará um pedido de fechamento de pedidos que não existem.
O que fazer com os novos pedidos, que apareceram durante o período da lista preenchida? Você também pode adicioná-los à lista de fechamento. Dessa forma, eles também serão fechados na sua vez. Isso é tudo. Crie tal lista e feche os pedidos na etiqueta de forma cíclica. Você pode fazer isso com um intervalo de um segundo ou alguns segundos por passagem de um ciclo. Tudo o que temos para realizar este algoritmo e tudo vai funcionar.
Quando a grelha for tão longa, fechará cada uma delas por sua vez.
Quando a última ordem for fechada, pode acontecer que haja 10 ordens a serem fechadas e todas elas serão fechadas uma a uma e isso levará um tempo infinito.
Quando a grade leva tanto tempo, ela fechará as corretas, por sua vez.
Quando você fecha o último, pode acontecer que haja 10 pedidos a serem fechados, então ele fecha todos eles um por um e isso leva um tempo infinito.
Este não é exatamente o caso. Todos os pedidos são fechados pelo terminal um a um. No ciclo OrderSend, ele pode acionar muitas vezes por segundo (dependendo de seu hardware). Mas a OrderSend apenas adiciona os comandos apropriados à fila de fechamento. Em seguida,o terminal envia estes comandos ao servidor em um intervalo especificado ou após receber a resposta do servidor sobre a solicitação anterior, não imediatamente. Portanto, um grande número de pedidos (posições) são fechados muito mais lentamente do que um único pedido, de qualquer forma.
Quando a grade leva tanto tempo, ela fechará as corretas uma a uma.
Quando você fecha o último, pode acontecer que haja 10 pedidos a serem fechados e ele fecha todos eles um por um e leva um tempo infinito.
Este processo é um processo ininterrupto.
Se verdadeiro, continuamos; se falso, processamos um erro; erro crítico, saímos; não-crítico (escorregamento), continuamos.
Se o negócio não for uma cozinha completa, 15-20 EAs fecham rapidamente, em torno de 2-3 segundos, caso contrário, até 15 segundos. Editar, houve casos de até 2 minutos.
Se for mt5, ele fecha quase instantaneamente.