Новая версия платформы MetaTrader 5 build 5430: Улучшенные графики на движке Blend2D - страница 37

 

В диалоге настройки Trade Settings тестера, на закладке Commissions таблица не прокручивается, если все комиссии берутся с сервера - а почему? Тот факт, что таблица нередактируема, пока не поставлен флаг Use custom settings, не означает, что таблицу не должно быть можно просмотреть до конца.

Кроме того, редактировать удобнее непосредственно на фоне стандартных значений, а не так, как сейчас - если проставить флажок Use custom settings, то все стандартные настройки пропадают. Абсолютно неудобно.

 
Stanislav Korotky # :

В диалоге настройки Trade Settings тестера, на закладке Commissions таблица не прокручивается, если все комиссии берутся с сервера - а почему? Тот факт, что таблица нередактируема, пока не поставлен флаг Use custom settings, не означает, что таблицу не должно быть можно просмотреть до конца.

Кроме того, редактировать удобнее непосредственно на фоне стандартных значений, а не так, как сейчас - если проставить флажок Use custom settings, то все стандартные настройки пропадают. Абсолютно неудобно.

Подтверждено и доведено до сведения MQ.
 
Alain Verleyen #:
Подтверждено и доведено до сведения MQ.

Это также доведено?



int OnCalculate(const int32_t rates_total,
                const int32_t prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int32_t &spread[])
{
//---
  string but_name="bt";
  ObjectCreate(0,but_name,OBJ_BUTTON,0,0,0);
  ObjectSetString(0,but_name,OBJPROP_TEXT,CharToString(225));
  ObjectSetInteger(0,but_name,OBJPROP_XSIZE,200);
  ObjectSetInteger(0,but_name,OBJPROP_YSIZE,50);
  ObjectSetInteger(0,but_name,OBJPROP_CORNER,CORNER_LEFT_UPPER);
  ObjectSetInteger(0,but_name,OBJPROP_XDISTANCE,20);
  ObjectSetInteger(0,but_name,OBJPROP_YDISTANCE,50);
  ObjectSetInteger(0,but_name,OBJPROP_COLOR,clrRed);
  ObjectSetInteger(0,but_name,OBJPROP_FONTSIZE,22);
  ObjectSetInteger(0,but_name,OBJPROP_HIDDEN,true);
  ObjectSetString(0,but_name,OBJPROP_FONT,"Wingdings");
//--- return value of prev_calculated for next call
  string txt = CharToString(233);
  string arrowObj = "Arrow";
  ObjectCreate(0, arrowObj, OBJ_LABEL, 0, 0, 0);
  ObjectSetInteger(0, arrowObj, OBJPROP_CORNER, CORNER_LEFT_UPPER);
  ObjectSetInteger(0, arrowObj, OBJPROP_ANCHOR, ANCHOR_LEFT_UPPER);
  ObjectSetInteger(0, arrowObj, OBJPROP_XDISTANCE, 50);
  ObjectSetInteger(0, arrowObj, OBJPROP_YDISTANCE, 150);
  ObjectSetInteger(0, arrowObj, OBJPROP_FONTSIZE, 22);
  ObjectSetString(0, arrowObj, OBJPROP_FONT, "Wingdings");
  ObjectSetInteger(0, arrowObj, OBJPROP_BACK, false);
  ObjectSetString(0, arrowObj, OBJPROP_TEXT, txt);
  return(rates_total);
}
 
Vitaly Muzichenko #:
CharToString

fix: ShortToString

CharToString исторически воспринимает аргумент 233 (>=128) как число со знаком и дальше начинается веселье..

 
Maxim Kuznetsov #:
ShortToString

Спасибо!

Сработало.

 

 
Vitaly Muzichenko # :

Это также доведено?



Да. Это по-прежнему ошибка при использовании CharToString().
 

Подскажите, в чем проблема. В документации сказано:

По умолчанию на графике визуального тестирования показываются все индикаторы, которые создаются в тестируемом эксперте.  Также эти индикаторы показываются на графике, который автоматически открывается по окончании тестирования.

...

Если в папке <каталог_данных>MQL5\Profiles\Templates присутствует специальный шаблон <имя_эксперта>.tpl, то при визуальном тестировании и на графике тестирования будут показаны только индикаторы из данного шаблона. В этом случае никакие индикаторы, используемые в тестируемом эксперте, показаны не будут. Даже если в коде советника вызывалась функция TesterHideIndicators() с параметром true.

Если же в папке <каталог_данных>MQL5\Profiles\Templates нет специального шаблона <имя_эксперта>.tpl, но есть шаблон tester.tpl, то при визуальном тестировании и на графике тестирования будут показаны индикаторы из шаблона tester.tpl и индикаторы из советника, которые не запрещены к показу с помощью функции TesterHideIndicators().

Функцию TesterHideIndicators я не вызываю, но начиная с какого-то билда у меня не показываются индикаторы, созданные из советника во время тестирования, на чарте открываемом после тестирования.

Если тестировать в визуальном режиме - индикаторы показываются.

Если отлаживать и прервать отладку (причем даже не в визуальном режиме) - индикаторы показываются на чарте в терминале (здесь по непонятным мне законам - иногда чарт открывается, а иногда нет, вероятно только при остановке из редактора).

Шаблона с именем эксперта нет. Шаблон default.tpl есть (разумеется, без индикатора, т.к. этот шаблон - на все графики, и он был всегда, даже когда фича работала). Шаблон tester.tpl - пробовал и с ним и без него - по барабану.

Документация по MQL5: TesterHideIndicators / Общие функции
Документация по MQL5: TesterHideIndicators / Общие функции
  • www.mql5.com
Задает режим показа/сокрытия индикаторов, которые используются в эксперте. Функция предназначена для управления видимостью используемых индикаторов...
 

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

Теперь показывает такое. b5499

 
Alain Verleyen #:
Да. Это по-прежнему ошибка при использовании CharToString().
Тоже жду решения с wingdings. Какие-то коды работают, какие-то нет. Например в коде ниже и ShortToString не помогает

void OnStart()
  {
   string name = "OBJ_Wingdings";

   ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
   ObjectSetInteger(0, name, OBJPROP_XDISTANCE, 800);
   ObjectSetInteger(0, name, OBJPROP_YDISTANCE, 300);
   ObjectSetString(0, name, OBJPROP_TEXT, CharToString(246));
   ObjectSetString(0, name, OBJPROP_FONT, "Wingdings");
   ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 40); // Размер
   ObjectSetInteger(0, name, OBJPROP_COLOR, clrRed); // Цвет

   ChartRedraw();
  }
 
Vitaliy Kuznetsov # :

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

Теперь показывает такое. b5499

Не могли бы вы предоставить минимальный фрагмент кода для воспроизведения проблемы?