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

 

Karputov Vladimir:
Пожалуйста, всегда уточняйте для какой версии MQL4 или MQL5 Ваш вопрос. 

MQL5

 

Cavalheiros programadores!

Na MQL5, como posso sincronizar as barras em diferentes pares de moedas no tempo?

Costumava ser "iBarShift", mas como foi substituído?

 
new-rena:

Cavalheiros programadores!

Na MQL5, como posso sincronizar as barras em diferentes pares de moedas por tempo?

Costumava ser "iBarShift", mas como foi substituído?

CopyTime()

 
pako:

Obrigado, encontrei-o. Fiz o que queria em poucos minutos. grande artigo. kudos ao revelador!

https://www.mql5.com/ru/articles/81

//+------------------------------------------------------------------+
//| --- ФУНКЦИЯ iBarShif t
//+------------------------------------------------------------------+   
int iBarShift(string symbol,int tf,datetime time)
   {
      if(time<0) return(-1);
      ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
      datetime Arr[],time1;
      CopyTime(symbol,timeframe,0,1,Arr);
      time1=Arr[0];
      if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
        {
         if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
         if(time<time1) return(1);
         else return(0);
        }
      else return(-1);
   }
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • 2010.05.11
  • Sergey Pavlov
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 

Olá!

Pode, por favor, aconselhar como obter informações sobre negócios abertos e fechados em código Expert Advisor MQL5 (que preço foi aberto, o que eram o TP e SL)?

E existe alguma função ou biblioteca incorporada que devolva um array com n valores mais recentesde média móvel(de preferência ponderada ou exponencial)?

 
Сергей Михеев:

Obrigado!

E, por favor, informe, se existe alguma destas construções no MQ4 como uma matriz associativa com chaves de texto, por exemplo: Array["Aqui está a chave!"]?

Sim, há. Leia o artigo sobre este assunto:"MQL5 Recipes - Implementing an Associative Array or Dictionary for Quick Data Access".

Karputov Vladimir:
Os elementos de uma matriz são acedidos por um índice. O índice é do tipo inteiro int.

Recomendo-lhe que leia também o artigo.

 
Сергей Михеев:

Bom dia a todos!

Preciso de obter do campo de entrada na janela EA o período de tempo seleccionado pelo utilizador a partir da lista pendente. Como utilizá-lo na função, estou a lutar com ele pelo segundo dia consecutivo, por favor aconselhe-me)!

Código:

input enum timeFrame {
Hora_1 = 60,
Hora_4 = 240,
Dia_1 = 1440,
Semana_1 = 10080

};

iADX(currencySelect, THIS IS IS IS IS HOW TO INSTALL SELECTED DATA!, ADXparam, PRICE_CLOSE, MODE_MINUSDI,2)

Obrigado!

Não reinvente a roda. Fazer a contagem de ENUM_TIMEFRAMES como um parâmetro de entrada.

Karputov Vladimir:

Inserir correctamente o código no fórum

Aqui está um exemplo de um guião que utiliza a sua enumeração:

Porque aconselha uma abordagem errada? Sabe bem que é um disparate inventar a sua própria enumeração de prazos.

 
Gente!!!! Não compreendo a língua em que os peritos e os guiões são escritos em MT4 nos dias de hoje. Se eu comecei a substituir todas as funções do meu código por funções MQL5, o MetaEditor do terminal MT4, não reconheceu todas as funções como funções! Por exemplo, esta função

ulong a =OrderGetTicket( 1); // número na lista de encomendas

O MetaEditor não considera estafunção como sendo uma função. E o parâmetro(ORDER_POSITION_ID) na função ---> positionID = OrderGetInteger(ORDER_POSITION_ID); não é de todo considerado como parâmetro...


 
Olá, pode dizer-me porque é que os meus botões de depuração não estão activos em metaeditore????source está inserido
 
Kira27:
Gente!!!! Não compreendo a língua em que os peritos e os guiões são escritos em MT4 nos dias de hoje. Se eu comecei a substituir todas as funções do meu código por funções MQL5, o MetaEditor do terminal MT4, não reconheceu todas as funções como funções! Por exemplo, esta função

ulong a =OrderGetTicket( 1); // número na lista de encomendas

O MetaEditor não considera estafunção como sendo uma função. E o parâmetro(ORDER_POSITION_ID) na função ---> positionID = OrderGetInteger(ORDER_POSITION_ID); não é de todo considerado como parâmetro...


Muito provavelmente, as funções acima são definidas pelo utilizador e a MU não precisa de as conhecer. Tem de ser o próprio a declará-los e a chamá-los correctamente.
Razão: