Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1849

 
Mihail Matkovskij #:

Aqui está uma dica.

escreveu na página anterior sobre como não combater moinhos de vento

 
Mihail Matkovskij #:

E você não respondeu à pergunta?

A coisa estúpida que você disse foi respondida, se perca. Eu não respondo mais a seus trolling.

 

uma conta real, mas em uma conta real funciona maravilhas: somente as ordens de lucro são fechadas em toda a grade. Não há erros no registro.

Minha pergunta é se alguém encontrou tal situação e o código está com defeito ou na cozinha do corretor????

De que erros você está falando? Por que você é tão desatento? É isso aí. Estou cansado de soletrar o óbvio para você. Aprenda a ler atentamente os posts e depois falaremos!

Andrey Sokolov #:

A coisa estúpida que você acabou de dizer foi respondida, Desapareça. Não estou mais respondendo ao seu corrico.

Então, quem está correndo aqui...? Muito bem. Não responda a isso. "Uzbagoysy", bom para você. :)
 

Pessoal, o problema aqui é normal...eu tive que lidar com isto

Quando o processamento no servidor solicita e como resultado não há pedidos fechados, e também não há pedido para fechar novamente, já que não há mais uma condição para fechar com lucro.

 
Tretyakov Rostyslav solicitações no servidor e como resultado não há pedidos fechados e não há nenhum novo pedido para fechá-los, porque as condições de fechamento com lucro já se foram.

Todos os meus robôs fecham de acordo com o seguinte princípio: há um sinal para fechar, reunimos todas as posições em uma matriz e então ele as fecha no laço até que não haja mais nenhum "0".

Funciona sem falhas.

 
Vitaly Muzichenko #:

Todos os meus robôs fecham de acordo com o seguinte princípio: há um sinal para fechar, coletamos todas as posições em uma matriz, então ele fecha em um loop até que haja "0" restante

Funciona sem falhas.

Também podemos fazer desta forma, mas me parece mais fácil através de uma bandeira, enquanto o resultado é o mesmo "fecha-se até não haver mais "0"".

Embora alguém goste dessa maneira, então mexa em 4)

 
Vitaly Muzichenko #:

Todos os meus robôs fecham de acordo com o seguinte princípio: há um sinal para fechar, coletamos todas as posições em uma matriz, então ele fecha em um loop até que haja "0" restante

Funciona sem falhas.

A mesma coisa. Sinal para fechar = limite virtual que será tratado primeiro no OnTick.

Caso contrário, as solicitações serão incômodas. Quanto mais preciso o sinal, mais "tremores" são os preços.

 
Vitaly Muzichenko #:

Todos os meus robôs fecham de acordo com o seguinte princípio: há um sinal para fechar, coletamos todas as posições em uma matriz, então ele fecha em um loop até que haja "0" restante

Funciona sem falhas.

E algumas pessoas afirmam que uma mesma posição pode não ser fechada enviando um pedido de fechamento várias vezes. Caso contrário, "o corretor banirá". Esta é a primeira vez que eu ouço isso, francamente. É claro, se você fizer algo como um ataque DDoS da função OrderClose. Mas também não funcionaria, porque todos os pedidos são enviados primeiro para a fila. E só então o terminal os envia calmamente ao servidor, um a um, no intervalo correto. No entanto, eu me perguntava se uma proibição é possível como resultado de frequentes chamadas OrderClose. Mas até agora todos só confirmam que não é assim. Exceto por Andrei, é claro.

 
Acontece que uma posição não fecha uma vez, mesmo que seja fechada manualmente (devido a falha na rede, conexão ruim, solicitações, etc.). E o usuário a pega e tenta fechá-la novamente. Portanto, o robô deve realizar ações semelhantes e não ter "medo" de ser banido pelo corretor. É isso mesmo.
 

Em geral, a maneira correta de fechar a grade é coletar posições em uma matriz, ordená-las por lotes e depois fechá-las de um lote maior para um menor.

Isto só se aplica ao comércio real, no Testador de Estratégia você não tem que fazer isto. Você também pode usar limitadores, mas o código é mais complicado neste caso.