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

 
fxsaber:

Баг 06.

Тестер на некоторых кастомных символах ведет себя полностью неадекватно в режиме по реальным тикам.

Прогнал в 1970, там все норм. Так что ошибка появилась недавно.

 

2009:

 

Баг 07.

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

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

 
fxsaber:

Баг 07.

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

Какие это бары строятся по Bid на биржевых инструментах?

 
Aleksey Vyazmikin:

Какие это бары строятся по Bid на биржевых инструментах?

Кастомные.

 
fxsaber:

Кастомные.

Понял, это очень критичный баг.

 
Когда заработают кастомные символы?
 
Sergey Chalyshev:
Когда заработают кастомные символы?
Конкретизируйте Ваш вопрос, пожалуйста
 
Slava:
Конкретизируйте Ваш вопрос, пожалуйста

Конкретизировать очень сложно, на каждом углу засада. Вы сами хоть тестировали?

1) Невозможно добавить бар если в истории кастомного символа нету баров.

2) Невозможно добавить тик если кастомный символ не выбран в MarketWatch.

3) Невозможно удалить кастомный символ. Надо сначала его добавить в MarketWatch, потом его удалить из MarketWatch, только потом удалить кастомный символ.

Пока достаточно. Лучше сами протестируйте.


 
Sergey Chalyshev:

Конкретизировать очень сложно, на каждом углу засада. Вы сами хоть тестировали?

1) Невозможно добавить бар если в истории кастомного символа нету баров.

2) Невозможно добавить тик если кастомный символ не выбран в MarketWatch.

3) Невозможно удалить кастомный символ. Надо сначала его добавить в MarketWatch, потом его удалить из MarketWatch, только потом удалить кастомный символ.

Пока достаточно. Лучше сами протестируйте.

Однако, по какой-то причине работает

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

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

fxsaber, 2019.03.02 13:23

Библиотека расширила функционал из-за определенных событий. Пример его использования
// Пример создания "живого" символа.

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

const bool Init = EventSetMillisecondTimer(20); // С такой частотой будем пробрасывать тики

void OnTimer()
{
  static bool FirstRun = true;

  static const SYMBOL Symb("CUSTOM_" + _Symbol); // Создали символ
  
  static MqlTick Ticks[];
  static int Pos = 0;
    
  if (FirstRun)
  {
    Symb.DeleteHistory();       // Мало ли что-то было в истории - грохнули
    Symb.Delete(true);          // Символ тоже прибьем, чтобы исключить наличие тика в Обзоре рынка
    Symb.Create(NULL, _Symbol); // Воскресили девственно чистым.
    
    if (Symb.IsExist() && Symb.On())   // Если все отлично
    {     
      ChartOpen(Symb.Name, PERIOD_M1); // Открыли чарт
      CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, (ulong)D'2019.02.01' * 1000); // Взяли тики для проброса
    }
      
    FirstRun = false;
  }
  else if (Pos < ArraySize(Ticks))
    Symb += Ticks[Pos++]; // Пробрасываем по тику
}


На таком символе Вы можете вести отладку индикаторов даже в выходные дни, когда котиры стоят.


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