Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1309

 
Muito obrigado a todos os que responderam!!! Vou tentar as vossas opções!
 
Alexey Viktorov:

Se fizer esta enumeração

poderia tentar escrevê-lo desta forma

Como sempre, ofereceram a melhor maneira de resolver o meu problema!

 
Alexey Viktorov:

Porquê converter-se a int? Porque em mql5, a partir de H1, o valor da enumeração não é igual ao número de minutos. E, na minha opinião, pelo contrário, irá introduzir muita confusão.

O seu método também parece funcionar! Obrigado!

 
Alexey Viktorov:

Então? Têm algo diferente na enumeração de ENUM_TIMEFRAMES? Ou será que existe o medo de ficar sem memória? Não sei como me preocupar com isso...


ps; Ah quão lento estou a digitar...)))) Enquanto eu escrevia uma linha, Kira27 escrevia tanto......... e algo que suspeito que será usado em mql4.

IN MQL5 )))

 
Aqui está um guião para tentar, funciona))))
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   enum frame1 // перечисление именованных констант
     {
      m1  = (int)PERIOD_M1,
      m5  = (int)PERIOD_M5,
      m15 = (int)PERIOD_M15,
      m30 = (int)PERIOD_M30,
      h1  = (int)PERIOD_H1,
      h4  = (int)PERIOD_H4,
      d1  = (int)PERIOD_D1,
      W1  = (int)PERIOD_W1,
      MN1 = (int)PERIOD_MN1
     };
   double T = iHigh(NULL,(ENUM_TIMEFRAMES) d1,0);

   Alert("Frame= ", (ENUM_TIMEFRAMES)  d1," iHigh= ",T);

  }

o resultado é o seguinte Embora o valor int do dia em minutos seja 1440. Mas funciona, o hih está correcto.

 
Alexey Viktorov:

Então? Têm algo diferente na enumeração de ENUM_TIMEFRAMES? Ou será que existe o medo de ficar sem memória? Não sei como me preocupar com isso...


ps; Ah, quão lento estou a dactilografar...)))) Enquanto escrevia uma única linha Kira27 digitada wow......... E algo que suspeito que será usado em mql4.

O seu caminho dá o mesmo resultado))))

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   enum frame1 // перечисление именованных констант
     {
      m1  = PERIOD_M1,
      m5  = PERIOD_M5,
      m15 = PERIOD_M15,
      m30 = PERIOD_M30,
      h1  = PERIOD_H1,
      h4  = PERIOD_H4,
      d1  = PERIOD_D1,
      W1  = PERIOD_W1,
      MN1 = PERIOD_MN1
     };
 
   double T = iHigh(NULL,(ENUM_TIMEFRAMES) d1,0);
   
   Alert("Frame= ", (ENUM_TIMEFRAMES)  d1," iHigh= ",T);
  }

 
Kira27:

O seu caminho dá o mesmo resultado))))

Eu não duvidei :-))))

 
Olá!

Ajude-me por favor a substituir a função escrita em MQL4 por MQL5.

double iHig(datetime ds, datetime de)
  {
   //Alert(iBarShift(Symbol(),PERIOD_CURRENT,ds),"  ",ds);
   return
      High[
         iHighest(Symbol(),PERIOD_CURRENT,MODE_HIGH,
                  iBarShift(Symbol(),PERIOD_CURRENT,ds)-iBarShift(Symbol(),PERIOD_CURRENT,de)+1,
                  iBarShift(Symbol(),PERIOD_CURRENT,de)
                 )
          ];
  }

O problema é que na MQL5 não existem variáveis pré-definidas Elevada, e não sei como ou com que devo substituir esta variável.

 
Sprut 185:
Olá a todos!

Ajude-me por favor a substituir a função escrita em MQL4 por MQL5.

O problema é que a MQL5 não tem variáveis pré-definidas Elevada, e eu não sei como ou com o que substituir esta variável.

Há uma série cronológica na MQL5

iHigh,

iLow,

etc.

Secção de ajuda: Acesso a séries cronológicas e dados indicadores/
 
Kira27:

Existem séries cronológicas na MQL5

iHigh,

iLow,

etc.

Secção de ajuda: Acesso a séries cronológicas e dados indicadores/.
Obrigado pela dica, não a encontrei no início........ Acontece que esta variável está apenas sob um nome diferente.