Обсуждение статьи "Переход с MQL4 на MQL5" - страница 6

 
Novikov:

В статье Переход с MQL4 на MQL5 в заключении говорится

кто подскажет, этот эмулятор уже есть или когда он появится?

Да он был создан одновременно со статьёй. Только смысла в нём, без торговых функций, нет!

 

 

Подскажите как будет звучать строка MQL4 вида 

spread_ =MarketInfo(Symbol(), MODE_SPREAD)*Point;

на MQL5? 

Заранее спасибо! 

 
piv_:

Подскажите как будет звучать строка MQL4 вида 

spread_ =MarketInfo(Symbol(), MODE_SPREAD)*Point;

на MQL5? 

Заранее спасибо! 

 

примерно так:

spread=SymbolInfoInteger(symbol,SYMBOL_SPREAD)*Point();
 
Я так и не понял как надо заменить предопределенные переменные типа High. Low, Ask, Cose, Open... В какой из специальных функций их надо объявить?  
 
buh400:
Я так и не понял как надо заменить предопределенные переменные типа High. Low, Ask, Cose, Open... В какой из специальных функций их надо объявить?  
High, low, open, close - через CopyHigh(), CopyLow() и т.д. Bid и ask - через SymbolInfoDouble(). - это получение данных. А объявлять Вы должна массивы, в которые Вы будете получать данные (для Copy.. функций) и переменные для значений бид и аск. Объявлять в тех функциях, где Вы хотите получить эти данные (на глобальном уровне объявлять не стоит, хотя можно). Например, если хотите получать данные на каждом тике - в функции OnTick(). Если при инициализации - OnInit() и т.д. Читайте документацию.
 
Прочитал, никакого энтузиазма изучать мкл5 не возникло! Думается, что брокеры не откажутся от МТ4! Да и на мой век хватит! Только не усложняйте мкл4! Пожалуйста!
 
при компиляции кода из 17 раздела, а именно там где мы объявляем константы, выдается ошибка - 'MODE_MAIN' - enumerator identifier already defined. 

 
buh400:
при компиляции кода из 17 раздела,
Дайте ссылку из онлайнверсии справки - https://docs.mql4.com/ru
Справочник MQL4 - Документация на MQL4
  • docs.mql4.com
Справочник MQL4 - Документация на MQL4
 
Rashid Umarov:
Дайте ссылку из онлайнверсии справки - https://docs.mql4.com/ru

этот код из статьи - переход с MQL4 на MQL5. 

17. Технические индикаторы
Получение значений технических индикаторов в своих экспертах очень подробно рассмотрено в одноимённой статье. В этом справочнике представлен краткий способ обращения к стандартным индикаторам, которого вполне достаточно для получения результата расчёта в одной точке. Для реализации такого механизма, нам потребуется вспомогательная функция:

double CopyBufferMQL4(int handle,int index,int shift)
  {
   double buf[];
   switch(index)
     {
      case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
         return(buf[0]); break;
      case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
         return(buf[0]); break;
      case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
         return(buf[0]); break;
      case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
         return(buf[0]); break;
      case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
         return(buf[0]); break;
      default: break;
     }
   return(EMPTY_VALUE);
  }
и объявим следующие константы:
ENUM_MA_METHOD MethodMigrate(int method)
  {
   switch(method)
     {
      case 0: return(MODE_SMA);
      case 1: return(MODE_EMA);
      case 2: return(MODE_SMMA);
      case 3: return(MODE_LWMA);
      default: return(MODE_SMA);
     }
  }
ENUM_APPLIED_PRICE PriceMigrate(int price)
  {
   switch(price)
     {
      case 1: return(PRICE_CLOSE);
      case 2: return(PRICE_OPEN);
      case 3: return(PRICE_HIGH);
      case 4: return(PRICE_LOW);
      case 5: return(PRICE_MEDIAN);
      case 6: return(PRICE_TYPICAL);
      case 7: return(PRICE_WEIGHTED);
      default: return(PRICE_CLOSE);
     }
  }
ENUM_STO_PRICE StoFieldMigrate(int field)
  {
   switch(field)
     {
      case 0: return(STO_LOWHIGH);
      case 1: return(STO_CLOSECLOSE);
      default: return(STO_LOWHIGH);
     }
  }
//+------------------------------------------------------------------+
enum ALLIGATOR_MODE  { MODE_GATORJAW=1,   MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE        { MODE_MAIN,         MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE     { MODE_BASE,         MODE_UPPER,      MODE_LOWER };
enum ICHIMOKU_MODE   { MODE_TENKANSEN=1,  MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN,         MODE_SIGNAL };
 
Все я понял что этот вопрос уже поднимали, и надо прочитать другую статью:) Мои сообщения можно удалить
Причина обращения: