Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 390

 

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

 MQL5

 

Господа программисты!

На MQL5 синхронизацию баров на разных валютных парах по времени как производить?

Раньше было " iBarShift", а чем заменили?

 
new-rena:

Господа программисты!

На MQL5 синхронизацию баров на разных валютных парах по времени как производить?

Раньше было " iBarShift", а чем заменили?

 

CopyTime()

 

 
pako:

спасибо. нашел уже. в несколько минут заделал то что хотел. отличная статья. респект разработчику!

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

//+------------------------------------------------------------------+
//| --- ФУНКЦИЯ iBarShift
//+------------------------------------------------------------------+   
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.
 

Здравствуйте!

Подскажите, пожалуйста как в коде советника MQL5 Получить информацию по открытым и уже закрытым сделкам(по какой цене открылось, какие были ТП и СЛ)? хотя бы по 1 последней.

И есть ли какая-нибудь встроенная функция или библиотека, которая вернет массив с n последними значениями скользящей средней(лучше взвешенной или экспоненциальной)? 

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

Спасибо!

И еще, подскажите, пожалуйста, есть ли в MQ4 конструкция наподобие ассоциативного массива с текстовыми ключами, например: Array["Зесь ключ!"]?

Да, есть. Прочитайте статью на эту тему: "Рецепты MQL5 - Реализуем ассоциативный массив или словарь для быстрого доступа к данным".

Karputov Vladimir:
Обращение к элементам массива происходит по индексу. Индекс - это  целый тип int.

Вам тоже рекомендую ознакомиться со статьей.

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

Всем доброго времени суток!

Из поля ввода в окне советника необходимо получить таймфрейм, выбранный пользователем из выпадающего списка. Как его вставить в функцию, уж второй день кряду мучаюсь, подскажите пожалуйста))!

Код:

input enum timeFrame {
    Hour_1 = 60,
    Hour_4 = 240,
    Day_1 = 1440,
    Week_1 = 10080

   };

iADX(currencySelect, ВОТ СЮДА НАДО ВСТАВИТЬ ВЫБРАННЫЕ ДАННЫЕ!, ADXparam, PRICE_CLOSE, MODE_MINUSDI,2)

спасибо!

Не изобретайте велосипед. Сделайте input параметром перечисление ENUM_TIMEFRAMES.

Karputov Vladimir:

Правильно вставляем код на форуме

Вот пример скрипта, с применением Вашего перечисления:

 Зачем советуете ошибочный подход? Прекрасно ведь понимаете, что изобретать свое перечисление таймфреймов - полный бред.

 
Народ!!!   Я Так и не понял, на каком языке нынче пишутся эксперты и скрипты в МТ4.  У меня старый код при компиляции выдаёт кучу ошибок, начал заменять все функции в нем под функции MQL5, так МетаЭдитор от терминала МТ4, не все функции может распознать как функции !?   Например эту функцию    

ulong a = OrderGetTicket ( 1 );   // номер в списке ордеров 

 Эту функцию, MetaEditor за функцию не считает.  А  параметр (ORDER_POSITION_ID) в функции   --->  positionID = OrderGetInteger(ORDER_POSITION_ID);   Вовсе параметром не считается...


 
здраствуйте подскажите почему у меня в metaeditore кнопки отладки не активны????исходник вставлен
 
Kira27:
Народ!!!   Я Так и не понял, на каком языке нынче пишутся эксперты и скрипты в МТ4.  У меня старый код при компиляции выдаёт кучу ошибок, начал заменять все функции в нем под функции MQL5, так МетаЭдитор от терминала МТ4, не все функции может распознать как функции !?   Например эту функцию    

ulong a = OrderGetTicket ( 1 );   // номер в списке ордеров 

 Эту функцию, MetaEditor за функцию не считает.  А  параметр (ORDER_POSITION_ID) в функции   --->  positionID = OrderGetInteger(ORDER_POSITION_ID);   Вовсе параметром не считается...


Скорее всего, упомянутые функции являются пользовательскими и МЕ не обязан их знать. Вы сами должны их правильно объявлять и вызывать.
Причина обращения: