Новая версия платформы MetaTrader 5 build 2560: Улучшения во встроенной системе обучения - страница 29

 

После обновления перестала работать функция

ChartSetInteger(0,CHART_BRING_TO_TOP,0,true)

Не переключается на 0 график (крайний слева).

void OnStart()
  {
   long currChart,prevChart=ChartFirst();
   int z=0,limit=100;
     while(z<limit)
     {
      currChart=ChartNext(prevChart);
      string __simvol=ChartSymbol(currChart);
      ENUM_TIMEFRAMES __period=ChartPeriod(currChart);
      if(currChart==-1)
        {
         __simvol=Symbol();
         currChart=0;
        };
         if(!ChartSetInteger(currChart,CHART_BRING_TO_TOP,0,true))
        {
         //--- выведем сообщение об ошибке в журнал "Эксперты"
         Print(__FUNCTION__+", Error Code = ",GetLastError());
         //return(false);
        };
      Print(currChart, "  ", __simvol);

      Sleep(2000);
      if(currChart==0)
         {break;};
     prevChart=currChart;
      z++;

     };
  }

второе и дальнейшее применение шаблона дублирует окна

ChartApplyTemplate(0,"Template.tpl");

До обновления эти функции работали.


Документация по MQL5: Операции с графиками / ChartApplyTemplate
Документация по MQL5: Операции с графиками / ChartApplyTemplate
  • www.mql5.com
Применяет к графику указанный шаблон. Отданная команда поступает в очередь сообщений графика и выполняется только после обработки всех предыдущих команд. Возвращает true в случае удачного помещения команды в очередь графика, иначе false. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). Если посредством этой...
 
Rashid Umarov:

Спасибо за скриншот. Видно, что значение ProfitFactor=0. Это означает, что нет убыточных сделок. А это плохо - лютая подгонка.

Я это понимаю, поэтому не ориентируюсь по этим результатам, а ищу ниже такие, где несколько раз (1-3 раза за год) срабатывает SL, и после этого просадка по балансу быстро (за пару недель) восстанавливается. Там результат тоже очень хороший  (PF, RF, Sharpe, Sortino, TSSF, качество кривой эквити), и так же кодируется красным, если трейдов около 20.

Я оптимизирую параметры входа и TS-выхода, а SL (около 50 в 4 знаках), BreakEven и TP устанавливаю вручную, чтобы не было подгонки, и строго контролирую тестированием на следующих полгода. Это работает, я специально добиваюсь, чтобы после оптимизации на Y1 советник продолжал приносить прибыль (пока на истории) следующие MN5-MN7). Просто пока не додумался, как в кастом добавить условие, чтобы было минимум 1-3 SL, но баланс быстро восстанавливался.

И да, терминал при цветовом кодировании результата не может делать выводов о подгонке, имея лишь расчётные данные. А те же результаты с PF==0, но с 40-50 трейдами будут зелёными, как я писал
 
SEM:

После обновления перестала работать функция

Не переключается на 0 график (крайний слева).

второе и дальнейшее применение шаблона дублирует окна

До обновления эти функции работали.


У Вас терминал какой билд? Эту проблему давно исправили.

 
Vladimir Pastushak:

У Вас терминал какой билд? Эту проблему давно исправили.

build 2560

 
SEM:

build 2560

Уже доступен 2572

 
Vladimir Pastushak:

Уже доступен 2572

2572 последняя релизная версия?

При проверке у меня выдает последняя релизная версия 2560 (т.е. нет обновлений)

 
SEM:

2572 последняя релизная версия?

При проверке у меня выдает последняя релизная версия 2560 (т.е. нет обновлений)

Тогда просто знайте, что это исправлено, но продолжайте использовать свою версию.
 
Artyom Trishkin:
Тогда просто знайте, что это исправлено, но продолжайте использовать свою версию.

спасибо за информацию.

 https://www.metatrader5.com/ru/releasenotes

Что нового в MetaTrader 5?
Что нового в MetaTrader 5?
  • www.metatrader5.com
MetaTrader 5 build 2560: Улучшения во встроенной системе обучения В предыдущем обновлении платформы мы полностью переработали встроенную систему обучения. Сейчас мы внесли финальные штрихи: Сделали иконку прогресса более заметной Доработали тексты нескольких советов, чтобы ни один пользователь не запутался Исправили ряд ошибок с расчетом...
 
Rashid Umarov:

Уточняй, гадать не буду. И так уже хватает вопросов общего плана в Сервисдеске (и не только)

1. Какой критерий, какая раскраска

2. Какой критерий, какие правила, какая раскраска?

Устал ни очем

Вопрос был один, сформулирован с разных сторон.

Скриншоты были приведены, я о них и говорил:

 


Если оптимизировать по Макс. балансу, то цвет должен меняться от макс баланса (самый зеленый) до мин баланса (самый красный) через средний баланс ((мин+макс)/2 — черный).

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

Иначе зачем использовать свой критерий?

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

MT5 и скорость в боевом исполнении

fxsaber, 2020.08.13 04:36

Получилось воспроизвести тормоза HistorySelect-функций.

  1. Зайти на демо-счет MetaQuotes-Demo с относительно большой торговой историей. 
    1. Если на демо-счете небольшая торговая история, то разрешить авто-торговлю и параллельно запустить скрипт OrderSend-Test2.ex5 (в приложении, исходник).
  2. Открыть два чарта EURUSD и запустить на каждом советник ниже (желтым в исходнике показаны дополнительные изменения).

MT5 b2572 сыпет такими сообщениями.

2020.08.13 05:28:00.143 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 6 ms.
2020.08.13 05:28:00.148 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 3 ms.
2020.08.13 05:28:00.153 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 4 ms.
2020.08.13 05:28:00.162 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 5 ms.
2020.08.13 05:28:00.167 Alert: Time[Test6.mq5 34: HistoryOrderSelect(0)] = 2 ms.
2020.08.13 05:28:00.174 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 4 ms.
2020.08.13 05:28:00.180 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 5 ms.
2020.08.13 05:28:00.186 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 4 ms.
2020.08.13 05:28:00.194 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 6 ms.


Просьба написать о своих результатах, кто будет пробовать. Воспроизводятся тормоза?


ЗЫ Долго пытался въехать, почему на боевых счетах тормоза. Похоже, нашел проблемное место.

Причина обращения: