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

 

Como recém-chegado, você pode me dizer se o operador de retorno passa o controle de volta para a função de loop ou para a função OnTick?

void OnTick()
{
  for (выражение)
    {
        if (выражение)
         {
            .....
            ....
            return;
         }
    }
}
 
Олег Иванов o operador de retorno passa o controle de volta para a função for loop ou para a função OnTick?

Retorno da função OnTick

 
Олег Иванов a declaração de retorno controla a transferência para a função de loop ou para a função OnTick?

A declaração continua passa o controle de volta para o início da declaração externa mais próxima, enquanto, para fazer, ou para declaração

 
Tretyakov Rostyslav #:

A declaração contínua transfere o controle para o início do período externo mais próximo, enquanto isso ou para declaração.

No meu exemplo, o operador retorna. Eu estava pedindo por isso.

 
JRandomTrader #:

Sai da função OnTick

Como sairá da OnTick se esta sub-rotina está circulando constantemente na EA?
 
Олег Иванов #:
Como sairá da OnTick se esta sub-rotina está circulando constantemente na EA?

Isso é o que sairá da corrida atual (como se tivesse chegado ao fim). No próximo tick, haverá uma nova chamada.

 
JRandomTrader #:

Isso é o que sairá da corrida atual (como se tivesse chegado ao fim). No próximo tick haverá uma nova chamada

Isto é, voltará ao início da OnTick. obrigado, entendi.

 
Олег Иванов #:

Isto é, voltará ao início do OnTick. Obrigado, entendi.

Ele voltará quando o novo tique chegar. Pode-se esperar muito tempo para isso nos não líquidos.

OnTick não é um loop do tipo para sempre, mas sim uma operação de interrupção.
 

Boa tarde a todos. Por favor, ajude-me a reescrever o código do roteiro. Agora o roteiro traduz todos os gráficos abertos para o período n1. Como posso reescrever o código para que o script aplique um modelo com o nome especificado a todos os gráficos abertos?

//| Script program start function                                    |
//+------------------------------------------------------------------+
/********************Script program start function*******************/
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+
 
DanilaMactep gráficos abertos para o período n1. Como posso reescrever o código para que o script aplique um modelo com o nome especificado a todos os gráficos abertos?

Aqui, isto o ajudará.

ChartApplyTemplate(0,"..........tpl"))
Razão: