Новая версия платформы MetaTrader 4 build 1280 - страница 4

 

Roman Shiredchenko:

Код это в мт4. Причем тут пользовательские роботы???

Проблема организационная и сохраняется. Я не  поленюсь ее воспроизведу в скринах и напишу в сервис деск. Раз в таком формате разработчики  забивают на просьбу об устранении ее. Ветвь не та.... может. Ок. Напишу в иную тему и в мервис деск. Скрины ввложу.

Как обычно отмазка, а что лето все в отпусках...

Спс за подсказку. Тут дело не в капсе совсем...

Сервисдеск решает только финансовые вопросы.

Ваши картинки никому не нужны. Нужен код, который можно запустить и получить описываемую вами проблему.

Если нужны шаблоны, то нужны все ваши шаблоны с советниками и индикаторами. Нужны чёткие шаги для воспроизведения: 1, 2, 3 ... и т.д..

Если не хотите делиться с разработчиками своими советниками, то создайте тестовые советники, шаблоны и воспроизведите проблему у себя с ними. Если будет проблема проявляться, то выкладывайте это всё. Это технический форум, а не приложение к красочному (и не очень) журналу. Тут картинки и КРИКИ не воспринимаются.

И ещё - MetaTrader 4 больше не развивается. Иногда правятся выявленные баги, касающиеся большинства пользователей. Если ваш случай единичный, то исправлять для вас не будут терминал.

Переходите на MetaTrader 5.

 
Artyom Trishkin:

Сервисдеск решает только финансовые вопросы.

Ваши картинки никому не нужны. Нужен код, который можно запустить и получить описываемую вами проблему.

Если нужны шаблоны, то нужны все ваши шаблоны с советниками и индикаторами. Нужны чёткие шаги для воспроизведения: 1, 2, 3 ... и т.д..

Если не хотите делиться с разработчиками своими советниками, то создайте тестовые советники, шаблоны и воспроизведите проблему у себя с ними. Если будет проблема проявляться, то выкладывайте это всё. Это технический форум, а не приложение к красочному (и не очень) журналу. Тут картинки и КРИКИ не воспринимаются.

И ещё - MetaTrader 4 больше не развивается. Иногда правятся выявленные баги, касающиеся большинства пользователей. Если ваш случай единичный, то исправлять для вас не будут терминал.

Переходите на MetaTrader 5.



Еще раз. Речь не о роботах. Проьлема касается мт4 это не моя выделенная проблема. Куда и когда переходить в рекомендациях от вас не нуждаюсь. В мт4 проблема. Посьба ее решить. Что вы по пусту тут трете вещи не те? Еще раз перечитайте мой вопрос.
Просьба -  ПО СУЩЕСТВУ. БЕЗ ЛИРИК.
О развитии мт4 еще раз перечитайте название темы, где вы лирику свою имхойную постите мне.
Готов вомпроизвести проблему и поделиться сохраненным профилем и шаблоном с роботом.
 
Alexey Viktorov:

Почаще пишите в сервисдеск. И можно даже капсом. Так скорее удалят аккаунт.

...

С удовольствием бы обблевал вас за ваш спам.

 
Roman Shiredchenko:

А ты прямо в монитор плюй.

 
Roman Shiredchenko:


Еще раз. Речь не о роботах. Проьлема касается мт4 это не моя выделенная проблема. Куда и когда переходить в рекомендациях от вас не нуждаюсь. В мт4 проблема. Посьба ее решить. Что вы по пусту тут трете вещи не те? Еще раз перечитайте мой вопрос.
Просьба -  ПО СУЩЕСТВУ. БЕЗ ЛИРИК.
О развитии мт4 еще раз перечитайте название темы, где вы лирику свою имхойную постите мне.
Готов вомпроизвести проблему и поделиться сохраненным профилем и шаблоном с роботом.

Сделайте уже наконец. И, пожалуйста, не грубите незнакомым вам людям - себя же и унижаете тем самым.

Без этого всего. Тем более, что:

И ещё - MetaTrader 4 больше не развивается. Иногда правятся выявленные баги, касающиеся большинства пользователей. Если ваш случай единичный, то исправлять для вас не будут терминал.

Переходите на MetaTrader 5.

 

Функция ExpertRemove() должна завершить текущее событие и в следующее уже не заходить.

Вот такой код на живом графике работает правильно, после OnInit() вызывается OnDeinit().

А в тестере печатается Print() из OnTick(), хотя OnTick() уже не должен обрабатываться. И только потом вызывается OnDeinit()

#property strict

void OnInit()
{
  Print(__FUNCTION__);
  ExpertRemove();
}

//+-------------------------------------------------------------------------------------------------------------------+
void OnDeinit(const int reason)
{
  Print(__FUNCTION__, " reason=", reason);
}

//+-------------------------------------------------------------------------------------------------------------------+
void OnTick()
{
  Print(__FUNCTION__, " Удалились в OnInit(), это событие не должно обрабатываться");
} 
Файлы:
 
Если в mq4-файле имеется инклуд другого mq4-файла,
#include "Other.mq4"

то компиляция создаст два EX4-файла: оригинального mq4 и вставленного (Other.ex4).

 
Добрый день, после обновления возник следующий баг [MT4 (1280) / МE (2375)]:

Раскрытие области видимости через шаблонный параметр для доступа к функциям с возвращаемым значением.         

Пример 1: вызов функции базового класса.               
class _f
{
public:
   
   bool f(){ return false; }
   
   void g(){ Print("g");   }   
};

template<typename F>
class run_f : public F
{
public:

   bool f(){ return F::f(); } //<--- '::' - unexpected token

   void g(){ F::g(); }        //<--- OK
};


//+------------------------------------------------------------------+

void OnStart() 
{ 
   run_f<_f> r;
   
   r.f();
   r.g();
}  
Если обращаемся через раскрытие области видимости к void-функции или без продвижения возвращаемого значения, то все ок.

Пример 2: вызов static-функции класса.  
class _f
{
public:
   
   static bool static_f(){ return true; } 
   static void static_g(){}    
};

template<typename F>
bool call_static()
{
   return F::static_f(); //<--- '::' - unexpected token and function not defined
   
   F::static_f();       //<--- OK (не используем возварщаемое значение)
   
   //F::static_g();     //<--- OK (void функция)
   
   return true;  
}

//+------------------------------------------------------------------+

void OnStart() 
{ 
   call_static<_f>();
}  

До обновления работало. В MT5/MetaEditor 2560 тоже все ок.
Документация по MQL5: Основы языка / Операторы / Оператор возврата return
Документация по MQL5: Основы языка / Операторы / Оператор возврата return
  • www.mql5.com
Оператор возврата return - Операторы - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Добрый день, после обновления возник следующий баг [MT4 (1280) / МetaEditor (2375)]:

перегрузка шаблонной функции в теле класса, шаблонный параметр перекрывает правильную версию функции.

(Для глобальных функций - разрешение перегрузки работает ок.)
template<typename T>
class template_class{};

class X
{  
public:

   template<typename T>
   void f(const template_class<T>&) 
   {
      Print("T");
      
      T * obj = NULL;
   }
   
   void f(const template_class<string>&) 
   {
      Print("string");
   }
   
   void call()
   {
      template_class<string> ts;
      
      f(ts);    //Вызывает версию Т, а должен string.
   }
};

void OnStart()
{
   X x;
   
   x.call();
}
 
Заколебался уже 100 раз просить. Люди-- разработчики! НЕУЖЕЛИ ТАК ТРУДНО добавить ОБЫЧНУЮ стрелку в графические инструменты МТ4?  Точно такую же как в МТ5.  Это что такая ПРОБЛЕМА?? Который год уже никто не в состоянии решить. 
Причина обращения: