Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 506

 
Mihail Marchukajtes:

Всем привет!!! Ребята, подскажите как выполнить задержку расчёта индикатора. Открылся новый бар, а индикатор нужно расчитать спустя 30 секунд!!!!!

Ну или подскажите где про это написано или пример, а то всё излазил, не могу найти :-(

А зачем задержка?

 
Vitaly Muzichenko:

А зачем задержка?


Данные с СМЕ подгружаются с опоздание секунд на 30. И бывает так что индикатор расчитался, после чего подгрузились данные, делаю перекомпил индюка и он меняет направление, потому как данные подгруженны полностью, в отличии от первых 5 секунд жызни бара. Как правило 30 секунд достаточно... Такое вообще возможно провернуть с индикатором? Я имею ввиду задержку.....

 
Mihail Marchukajtes:

Данные с СМЕ подгружаются с опоздание секунд на 30. И бывает так что индикатор расчитался, после чего подгрузились данные, делаю перекомпил индюка и он меняет направление, потому как данные подгруженны полностью, в отличии от первых 5 секунд жызни бара. Как правило 30 секунд достаточно... Такое вообще возможно провернуть с индикатором? Я имею ввиду задержку.....

Либо создавать событие таймера одноразового,
либо самостоятельно сделать: запоминается время нового бара, и каждый тик проверяется прошло ли 30 секунд.
 
Aleksey Terentev:
Либо создавать событие таймера одноразового,
либо самостоятельно сделать: запоминается время нового бара, и каждый тик проверяется прошло ли 30 секунд.

Вот именно функция таймер не совсем понятна. По предыдущим советам сделал следующую функцию и теперь расчёт бара идёт без задержек. (без неё вообще не считал пока не переключишь ТФ)

void OnTimer()
{
   int bars = Bars(_Symbol, _Period);
   if (bars <= 0) return;
   
   datetime T[];
   int res = CopyTime(_Symbol, _Period, 0, bars, T);
   if (res <= 0) return;
   
   // unused params
   double d[];
   long l[];
   int i[];
   OnCalculate(bars, bars - 1, T, d, d, d, d, l, l, i);
   ChartRedraw();
}

Как лучше всего это организовать, не подскажешь????

 
Mihail Marchukajtes:

Данные с СМЕ подгружаются с опоздание секунд на 30. И бывает так что индикатор расчитался, после чего подгрузились данные, делаю перекомпил индюка и он меняет направление, потому как данные подгруженны полностью, в отличии от первых 5 секунд жызни бара. Как правило 30 секунд достаточно... Такое вообще возможно провернуть с индикатором? Я имею ввиду задержку.....

Первое что пришло:

 int OnCalculate(const int rates_total,
                const int 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 int &spread[])
  {
 // здесь ваши расчёты 
 int limit=rates_total-prev_calculated;
  if(limit>0) { 
  ...
  }

 // задержим на 30 сек
 if(time[0] > TimeCurrent()-30)
   return(rates_total-1);

 // остальной код
   ...
 
Vitaly Muzichenko:

Первое что пришло:


Занятно!!! Вставил Ваш код в индюк, посмотрю что да как. Но я думал что подобная задержка должна быть описана в онТаймер, разве нет???

Но всё равно спасибо!!!
 
Mihail Marchukajtes:

Всем привет!!! Ребята, подскажите как выполнить задержку расчёта индикатора. Открылся новый бар, а индикатор нужно расчитать спустя 30 секунд!!!!!

Ну или подскажите где про это написано или пример, а то всё излазил, не могу найти :-(

Зачем на 30 сек? - делайте сразу на 60 сек - т.е. считайте не по 1-му бару, а по 2-му. Т.е. вышел новый 0-й бар, первый еще надо ждать 30 сек, зато 2-й уже готов.

К тому же вы наверняка оптимизацию и тестирование по ценам открытия производите.

 
Review of Econometric Models Applicable to Hedge Fund Returns Capturing Serial Correlation and Illiquidity by Ludovic Dubrana :: SSRN
  • papers.ssrn.com
Hedge Fund returns are often highly serially correlated mainly due to illiquidity exposures given that investments in such securities tend to be inactively traded and associated market prices are not always readily available. Following that, observed returns of such alternative investments tend to be smoother than “true” unobserved returns...
 

Бегло посмотрел. В выводах увидел сведения, которые являются банальностью для GARCH моделей. Не понял, что нужно вынести из этого материала?

 
elibrarius:

Зачем на 30 сек? - делайте сразу на 60 сек - т.е. считайте не по 1-му бару, а по 2-му. Т.е. вышел новый 0-й бар, первый еще надо ждать 30 сек, зато 2-й уже готов.

К тому же вы наверняка оптимизацию и тестирование по ценам открытия производите.


Я так делаю с БО!!! Но с основной стратегией такое не прокатит, это значит бар принятия решения нужно сдвинуть назад, что противоречит базовой стратегии, так что не вариант....

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