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

 
Vovilon V:

Возьмите тики отсюда.

ThirdPartyTicks
ThirdPartyTicks
  • www.mql5.com
Исторически сложилось, что для MetaTrader 4 пользуются популярностью сторонние приложения, позволяющие получать тиковую историю из различных источников. Как правило, ее используют в Тестере Стратегий как полигон для проверки советников, а также для исследований (машинное обучение и т.д.). Некоторые источники котировок в обсуждениях стали почти...
 
Мне не тики нужны другие, тики у меня есть и они меня вполне устраивают. Вопрос/сложность, как на основе этих тиков построить минутные бары, чтобы загрузить в МТ5
 
Vovilon V:
Мне не тики нужны другие, тики у меня есть и они меня вполне устраивают. Вопрос/сложность, как на основе этих тиков построить минутные бары, чтобы загрузить в МТ5

После импорта тиков запустите на чарте нового символа (будет без баров) этот скрипт

Forum on trading, automated trading systems and testing trading strategies

Discussion of article "Creating and testing custom symbols in MetaTrader 5"

fxsaber, 2018.04.12 07:59

#property script_show_inputs

#include <fxsaber\ThirdPartyTicks\CustomSymbol.mqh> // https://www.mql5.com/ru/code/20225

// Generate M1-history from ticks
void OnStart()
{  
  MqlTick Ticks[];
  CUSTOMSYMBOL Symb;

  if (Symb.IsCustom() && (CopyTicksRange(Symb.Name, Ticks, COPY_TICKS_ALL, 0, LONG_MAX) > 0))
  {
    Symb.AddTicks(Ticks);
  
    Symb.CreateHistoryRates();
    
    ChartOpen(Symb.Name, PERIOD_CURRENT);
  }
}


А так, вроде, обещали сделать автоматическую конвертацию тиков в бары

 

Большое спасибо, попробую!

 

Баг 09.

CustomTicksAdd не генерирует NewTick-событие.

Для воспроизведения запустить на "живом" символе этот советник

void OnTick() { ExpertRemove(); }

Советник не выгрузится, несмотря на приходящие тики.


ЗЫ Возможно, сейчас не работает из-за защиты от дурака: на кастомном символе запускается советник и в OnTick делается CustomTicksAdd себя же.

 
fxsaber:

Баг 09.

CustomTicksAdd не генерирует NewTick-событие.

Для воспроизведения запустить на "живом" символе этот советник

Советник не выгрузится, несмотря на приходящие тики.


ЗЫ Возможно, сейчас не работает из-за защиты от дурака: на кастомном символе запускается советник и в OnTick делается CustomTicksAdd себя же.

https://www.mql5.com/ru/docs/runtime/event_fire

Событие NewTick генерируется при поступлении новых котировок и обрабатывается функцией OnTick() у присоединенных советников. Если при поступлении новой котировки выполнялась функция OnTick, запущенная на предыдущей котировке, то пришедшая котировка будет проигнорирована советником, так как соответствующее событие не будет поставлено в очередь событий эксперта.

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
Сразу же после того, как клиентский терминал загрузит программу (эксперт или пользовательский индикатор) и запустит процесс инициализации глобальных переменных, будет послано событие Init, которое обрабатывается функцией OnInit(), если она есть. Это событие также генерируется после смены финансового инструмента и/или периода графика, после...
 

Точно, Спасибо! Тогда баг09 полноценный.

Кстати, а если в OnCalculate пробрасывать по два тика, защита какая-нибудь сработает?

 
fxsaber:

Точно, Спасибо! Тогда баг09 полноценный.

Кстати, а если в OnCalculate пробрасывать по два тика, защита какая-нибудь сработает?

Не сработает.

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

 

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

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

fxsaber, 2019.03.17 09:56

Баг 07.

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

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

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

Оказалось, что в режиме по реальным тикам уже не только бары, но и ТИКИ не соответствуют истории! Ну вот нафига так делать?!


Ну и теперь Тестер не может справиться с элементарным - дать историческую последовательность тиков.

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


Ну правило же простейшее: "Руки прочь от реальных тиков". На кой черт их Тестер правит/фильтрует?


Какие данные предоставить, чтобы оперативно к следующей бете исправить этот технический позор?


ЗЫ Вот так и получается, что для одних задач нужен 2025b, а для других - более ранние билды. Снова просьба помочь с архивом билдов.

ЗЗЫ Этот баг обходится, если грохнуть кастомный символ с зачисткой bases. После чего пересоздать и ни на какие другие торговые счета не переключаться. Крайне рекомендую перед работой с Тестером проверять его историю.

 
fxsaber:

Снова просьба помочь с архивом билдов.

Залил 2009 и 2025 в прежнее место.