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

 

Не возможно изменить последний цвет в индикаторе через вкладку цвета

Он не выбирается никак...

 
Vladimir Pastushak #:

Не возможно изменить последний цвет в индикаторе через вкладку цвета

Он не выбирается никак...

Ткни прямо в квадратик того цвета какой надо изменить.

 
Alexey Viktorov #:

Ткни прямо в квадратик того цвета какой надо изменить.

Пробовал, не работает... 
 
Vladimir Pastushak #:
Пробовал, не работает... 

Плохо пробовал, всё работает. Внимательно смотрите снимки…




 

Появилось описание матриц и векторов. Интересно, пощупаем :-)

P.S. Рано обрадовался. Пока в коде не работает (build 3143).

Документация по MQL5: Основы языка / Типы данных / Матрицы и векторы
Документация по MQL5: Основы языка / Типы данных / Матрицы и векторы
  • www.mql5.com
Матрицы и векторы - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Denis Kirichenko #:

Появилось описание матриц и векторов. Интересно, пощупаем :-)

P.S. Рано обрадовался. Пока в коде не работает (build 3143).

Выглядит многообщающе... Очень заманчиво использовать нативные матрицы без доп.библиотек.

 

Ещё бы нативный regex в строковых функциях (StringFind, StringReplace, StringSplit).

 

на уровне DLL vector, matrix как видятся ? как double * или вообще никак - через преобразование в массив...

очень хочется услышать ответ

 
transcendreamer #:

Выглядит многообщающе... Очень заманчиво использовать нативные матрицы без доп.библиотек.

И правда... Это что ж, я зря себе в библиотеке матричный тип описал?  :)))


Ну, посмотрим-посмотрим... 

 

Почему-то CustomRatesUpdate() вылетает с ошибкой 5304. Откуда она вообще там?

Первый раз символ нормально импортировался, но после добавления CustomSymbolSetInteger и ещё что-то...

void OnStart()
{
   const string symbol = "VTBR";
   CustomSymbolDelete(symbol);
   if (CustomSymbolCreate(symbol)) {
      CustomSymbolSetInteger(symbol, SYMBOL_DIGITS, 0);
      CustomSymbolSetDouble(symbol, SYMBOL_POINT, 1.0);
   }
   ResetLastError();
   int hcsv = FileOpen("history/VTBR_210101_220110 (1).csv", FILE_COMMON|FILE_TXT|FILE_ANSI);
   string ln = FileReadString(hcsv);
   string ar[];
   double multi = 1e5;
   MqlRates rt[1] = {};
   Print(GetLastError());
   while ((ln = FileReadString(hcsv)) != "") {
      StringSplit(ln, ',', ar);
      rt[0].time = StringToTime(ar[2] + " " + ar[3]);
      rt[0].open = StringToDouble(ar[4]) * multi;
      rt[0].high = StringToDouble(ar[5]) * multi;
      rt[0].low = StringToDouble(ar[6]) * multi;
      rt[0].close = StringToDouble(ar[7]) * multi;
      rt[0].real_volume = (long)(StringToInteger(ar[8]) / 1e4);
      rt[0].tick_volume = rt[0].real_volume;
      rt[0].spread = 1.0;
   Print(GetLastError()); // 0
      CustomRatesUpdate(symbol, rt);
   Print("CRU ",GetLastError()); // 5304 Пользовательский символ с таким именем уже существует
   break;
   }
   FileClose(hcsv);
}

Файл:

<TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
VTBR,1,20210104,100000,0.0380250,0.0382000,0.0380100,0.0381150,307040000
VTBR,1,20210104,100100,0.0381200,0.0382900,0.0381100,0.0381950,229370000
VTBR,1,20210104,100200,0.0381950,0.0381950,0.0380750,0.0381050,191290000
VTBR,1,20210104,100300,0.0381100,0.0381950,0.0380350,0.0380350,294810000
VTBR,1,20210104,100400,0.0380500,0.0381300,0.0380150,0.0381300,91400000
........