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

 
SanAlex:

Eu também experimentei - abri a câmera e não consegui fechá-la - até matar o processo.

https://www.gunsmoker.ru/2015/01/avoid-using-ShellExecuteEx.html

Почему вам не следует использовать ShellExecute(Ex)
  • 2015.01.05
  • GunSmoker
  • www.gunsmoker.ru
В прошлый раз мы узнали, почему вам никогда не следует использовать функцию . В этот раз я расскажу вам о том, почему вам не следует использовать функцию . Заголовки этого и предыдущего постов выбраны крайне тщательно. Предыдущий пост говорил о том, что если вы пишете код в 1995 году или позднее, то вы не должны использовать функцию . Поскольку...
 

Você poderia, por favor, me dizer qual é o problema?

     if(buy_lots>0||sell_lots>0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M15);
     if(buy_lots==0||sell_lots==0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M5);

Se não houver pedidos em aberto, então a M5 está habilitada e tudo está bem,

Mas assim que uma ordem abre, começa a saltar M5,M15,M5,M15...

 
MakarFX:

Você poderia, por favor, me dizer qual é o problema?

Se não houver pedidos em aberto, então a M5 está habilitada e tudo está bem,

Mas assim que abro uma ordem, ela começa a saltar em M5, M15, M5, M15...

É exatamente como diz, é assim que acontece.

Ou substituir no inferior por AND

 
Valeriy Yastremskiy:

É exatamente como está escrito, é assim que funciona.

Ou substituir no inferior por E

Obrigado, eu fiz, mas o resultado é o mesmo

     if(buy_lots>0||sell_lots>0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M15);
     if(buy_lots+sell_lots==0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M5);
 
MakarFX:

Obrigado, eu o substituí, mas o resultado é o mesmo.

  
      Alert("1 buy_lots ",buy_lots," sell_lots " sell_lots);
    if(buy_lots>0||sell_lots>0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M15);
     Alert("2 buy_lots ",buy_lots," sell_lots " sell_lots);
     if(buy_lots==0 && sell_lots==0)
      ChartSetSymbolPeriod(0,Symbol(),PERIOD_M5);

Portanto, algo está faltando. Então a soma doslotes de compra+venda=0

E melhor do que a adição. Ou Alerta ou Imprime para ajudar.

 
Valeriy Yastremskiy:

Portanto, algo está faltando. Então a soma doslotes de compra+venda=0

E melhor do que a adição. Ou Alerta ou Imprime para ajudar.

Como é melhor?

(0 == 0 e 1 == 0) - a condição não é cumprida

(0 + 1 == 0) - a condição também não é cumprida

Qual é a diferença entre AND e adição neste exemplo em particular?

 
MakarFX:

Obrigado, eu o substituí, mas o resultado é o mesmo

Portanto, verifique os valores de buy_lots e sell_lots provavelmente perdem seus valores em algum lugar.
 
Alexey Viktorov:
Portanto, verifique os valores de buy_lots e sell_lots, eles provavelmente estão perdendo seus valores em algum lugar.

Imprimir


Não está claro porque muda para M5

 
MakarFX:

Imprimir


Não está claro porque liga a M5

Quando a TF é trocada, a EA é reiniciada. Tente colocar as impressões em condições, trocar e imprimir. Ou vice versa.

E devemos definitivamente acrescentar a verificação do período à condição. Se você mudar para M15, por que mudar novamente?

 
Igor Makanu:

é por isso que é recomendável tentar fazer o trabalho da EA exclusivamente com seus mágicos

Se a tarefa é abrir um pedido uma vez por dia a uma determinada hora, o algoritmo é o seguinte:

- iniciar EA, ele verifica o número de pedidos abertos, se o pedido com nosso mágico estiver aberto, então saia até o próximo tick

- se não houver ordens, a EA espera até que a hora e minutos atuais sejam maiores do que os dados

- desta vez chegou, a EA verificará o histórico de pedidos e, se não houver um pedido com nosso mágico nas últimas 24 horas, então ela fará um pedido e sairá - a saída é útil para não processar erros do servidor, se o pedido não tiver sido feito, então no próximo tick tentaremos fazê-lo novamente, ou seja, não precisamos organizar um ciclo para múltiplas aberturas de pedidos neste tick.... mas esta é uma questão de gosto e objetivos, é a implementação mais fácil))))

Por favor, diga-me o que significa EA em seu contexto. Eu quero encontrar, e ler mais detalhes.....
Quero encontrá-lo e saber mais sobre ele no seguinte site: Obrigado.

Razão: