Пользовательские символы. Ошибки, баги, вопросы, предложения. - страница 7

 
Sergey Chalyshev:

добавил символ в обзор рынка тики пошли нормальные:

Выходит, решение есть.

но бары всё равно не появляются:

Так пишите бары.

 
fxsaber:

Выходит, решение есть.

Так пишите бары.

Нету никакого решения в рамках МТ5, уже всё перепробовал.

Бары пишу, ошибок никаких не выдает, но и бары не пишутся.

Хотя бары должны сами формироваться.

 

Вот по такому символу тики пишутся, бары формируются, хотя даже в обзор рынка не добавлен

а по такому баров нет и тики кривые,

скрипт один, алгоритм один, только названия символов разные,

видимо какая то буква не нравится в названии символа.

как узнать какая буква "неправильная"?

 
Sergey Chalyshev:

как узнать какая буква "неправильная"?

Перебрать. Если бы хотел разобраться, предоставил бы исходники. Тут, похоже, иной случай.

 
fxsaber:

Баг 07.

Тестер формируют бары по Last для биржевых кастомных символов с ценой построения баров по Bid.

Соответственно, баровая история в Терминале и Тестере полностью расходится. И если кто-то в ТС использует бары (индикаторы, например), то результат бэктеста для него случайный.

Продолжение по теме странных баров в Тестере.

Баг 08.

Запускаем на MQ-Beta EURUSD этот скрипт

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

Библиотеки: Symbol

fxsaber, 2018.07.09 14:20

// Включаем в бэктест текущий день
#property script_show_inputs

#include <Symbol.mqh> // https://www.mql5.com/ru/code/18855

input int Offset = -24 * 7; // Offset in hours

#define HOUR 3600

void OnStart()
{
  const SYMBOL Symb(_Symbol + "_Offset" + (string)Offset); // Создали символ

  if (Symb.IsExist()) // Если символ создан
  {
    Symb.CloneProperties(); // Скопировали свойства
    
    MqlRates Rates[];

    // Сместили время баров
    for (int i = CopyRates(_Symbol, PERIOD_M1, 0, (int)SeriesInfoInteger(_Symbol, PERIOD_M1, SERIES_BARS_COUNT), Rates) - 1; i >= 0; i--)
      Rates[i].time += Offset * HOUR;
      
//    Symb.CloneTicks(Ticks);

    // Записали смещенные бары и включили символ в Обзор рынка
    if ((Symb.CloneRates(Rates) > 0) && Symb.On())
      ChartOpen(Symb.Name, PERIOD_CURRENT); // Открыли график нового символа
  }
}

Затем в Тестере в режиме OHLC M1 гоним Визуализацию по созданному кастомному символу. Отлично видно, что бары сильно отличаются от тех, что в Терминале.


Terminal



Tester


 
fxsaber:

Продолжение по теме странных баров в Тестере.

Баг 08.

Запускаем на MQ-Beta EURUSD этот скрипт


Затем в Тестере в режиме OHLC M1 гоним Визуализацию по созданному кастомному символу. Отлично видно, что бары сильно отличаются от тех, что в Терминале.


Terminal



Tester


Попробуйте убрать символ "-" из названия кастомного символа

В справке про "-" ничего не сказано, 

(допускаются ".", "_", "&" и "#"),

но минуса и точки сервер котировок не любит.

 
Билд 2025 - изменений не заметил.
 
Здравствуйте! Есть проблема с пользовательскими символами. Постараюсь описать понятно. 
Короче. создал свой символ в МТ5 к примеру EURUSD, CSV файл (базовую историю) с тиковыми данными я взял с программы  Tick Data Suite. После того как добавил символ в МТ5 и запустил тест, на графике не корректно отображаются бары, сами тики стали нормально. Разобравшись что не так понял что проблема в самом файле  CSV, там нет данных для баров. Так вот похоже что нужно какой то скрипт чтобы поправить эту проблему!
 
 
CSV-файл выглядит вот так