От теории к практике - страница 270

 

Я и Novaja сделали небольшое исследование.

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


Само распределение пауз между тиками выглядит примерно так - 

"Примерно" - это потому что график усреднён. Дилинги искажают настоящее время тиков. Либо округляют их к ~10 милисекундам, либо циклично изменяют скорость их генерации. До усреднения этот график (окно в 0-100 мс) выглядит так - 

Этиже пики я видел и у Александра на графиках, теперь стало более понятно откда они берутся.


В итоге получилось что усредённый график частот можно описать с помощью суммы распределений Гамма и Коши. Первый парметр гамма распределения для некоторых дилингов можно подобрать как целое число, и тогда Гамма распределение становится его частным случаем - распределением Эрланга.


Это график с другого дилинга:

чёрная линия - распределение как оно получено из истории тиков
красная - усреднённое
фиолетовая то что получено по формуле из гамма+коши.

Выглядит не идеально, но зато неплохо выглядит и на логарифмической шкале, и вершина и хвост в целом совпадают.


Хвост распределения хорошо совпадает и на десятках секунд



Формула:

gamma(4e+00, 2.8e+01) * 5e-01 + cauchy(0e+00, 7.37e+02) * 2e+00 * 5e-01

Это формула для конкретного дилинга, у всех параметры и коэффициенты немного отличаются.

В общем виде функция выглядит как-то так:
function(k, Θ, γ, c){
   gamma(k, Θ) * c + cauchy(x0=0, γ) * 2 * (1-c)
}

параметр c - от 0 до 1

 
Напоминает всеобщую формулу окислительно-восстановительной реакции, открытую мною в 1973 году. 
 

а это влияет?

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

Ошибки, баги, вопросы

fxsaber, 2018.03.27 21:06

Запускаем советник в режиме "Все тики" на MQ-Demo

void OnTick()
{
  static int i = 0;
  
  if (i < 2)
  {
    MqlTick Tick;
    
    if (SymbolInfoTick(_Symbol, Tick))
      Print(Tick.time_msc);
      
    i++;
  }
  else
    ExpertRemove();
}


Результат

Si-6.18,M1 (MetaQuotes-Demo): every tick generating
Si-6.18,M1: testing of Experts\fxsaber\LimitsSlippage.ex5 from 2018.03.25 00:00 to 2018.03.27 00:00 started
2018.03.26 10:00:00   1522058400378
2018.03.26 10:00:00   1522058400013
2018.03.26 10:00:00   ExpertRemove() function called

Время первого сгенерированного тика больше второго - баг.


 
Kirill Belousov:

а это влияет?

Нет, похоже что эта ошибка возникает только в тестере, на сгенерированных из ohlc тиках.
Я брал историю тиков из MT5 (Вид-Символы, закладка Тики), это с тем не связано.

 
Dr. Trader:

Novaja:

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

Вот такие вещи достойны для оформления в виде статьи с гонораром за нее.

С уважением,

А_К2

 
Ну хорошо Братцы. Теорию мы тут видели не однократно. Ну а где же практика???? Какой смысл от теории если её нельзя применить на практике?
 

Из проведенного исследования можно сделать важнейшие практические выводы:

1. Надо научиться "отбрасывать" тики, принадлежащие распределению Коши и работать только с теми, которые относятся к Гамма-распределению (в нашем дискретном случае - распределению Эрланга)

2. Если это сделать, то решение задачи должно строиться следующим образом:.

Сейчас я работаю в скользящем временном экспоненциальном окне, а в нем считаю реальные тики и интенсивность торгов, а надо делать наоборот - работать со скользящим объемом тиковой выборки и считать за какое время этот тиковый объем "собрался", и уже оттуда находить интенсивность.

Dr. Trader и Novaja, Вы реально делаете большое дело.

 
Mihail Marchukajtes:
Ну хорошо Братцы. Теорию мы тут видели не однократно. Ну а где же практика???? Какой смысл от теории если её нельзя применить на практике?

К черту практику!!! Люди здесь реально делают великие открытия!!!

 
Alexander_K2:

К черту практику!!! Люди здесь реально делают великие открытия!!!

Грош цена любому открытию если оно не имеет практического применения. Разве что в физике такое может быть, да и в астрологии. Но на рынке такие открытия не нужны. Какой в них смысл? Да и название ветки как то обязывает практиковать получченные результаты. Разве нет???

 
Работая над тиками в интервале милисикунд, врядли получится как то это использовать. На таком коротком промежутке существенную роль будет играть пинг, да и ДЦ такие сделки не одобряет и не производит по ним выплаты. ИМХО
Причина обращения: