Задачка для ума. Алгоритм для поиска оптимальных параметров в сеточной стратегии. - страница 2

 
Sergey Likho:

Задача: рассчитать на будущее параметры для торговли по сетке. 

Стратегия: открываем сделку лотом Х, следующая открывается лотом Х умноженным на коэффициент. Сделки открываются через шаг в пунктах. Каждый следующий шаг умножается на коэффициент. 



Дано: допустимый убыток в USD,  расстояние в пунктах которое может пройти цена. 

Нужно: подобрать параметры, шаг лот и коэффициенты, которые бы укладывались в убыток и заданное расстояние. 


Вывести какую-то формулу, не получается)) В голове идея с глобальным подбором а потом выборкой лучшего набора параметров. 


Как бы вы решали эту задачу?

все просто. Берем распределения приращений на разных таймфреймах и когда на одном тайм фрейме выходит за рамки распределения, тогда можно открывать позу. Дальше масштаб сетки будет плавать в зависти от распределения приращений на высших тайм фреймах и текущей ситуации. Так и получится плавающая сетка с правильным шагом. Но это очень сильно в кратце. Простая система из этого не получится. Н оесли вы понимаете о чем это, тогда вам будет полезна идея.

 
Sergey Likho:

Спасибо. 


Спрошу по другому. 


Есть формула расчета прогрессии:


Как через эту формулу можно выразить q?

http://www.wolframalpha.com/input/?i=b*(x%5En-1)%2F(x-1)+%3D+0

Wolfram|Alpha: Making the world’s knowledge computable
Wolfram|Alpha: Making the world’s knowledge computable
  • www.wolframalpha.com
Wolfram|Alpha brings expert-level knowledge and capabilities to the broadest possible range of people—spanning all professions and education levels.
 

использую три варианта расчёта геометрии: банальный - предыдущий лот на коэфф, правильный - стартовый лот помноженный на лотмножитель возведённый в степень количества ордеров в серии минус один (звучит дико, выглядит ещё страшнее чем звучит)

третий вариант уже плавающая  геометрия: очень трудно объяснить словами - рассчитывается от уровня безубытка и где бы советник не решил усредниться то лот будет рассчитан так что дистанция до безубытка будет всегда постоянной величиной или заданной величиной со своей прогрессиией, берём и делаем так

NormalizeDouble((((безубыток баев) - (Ask + постоянная величина * Point)) * сумму объёмов) / (постоянная величина * Point), 2); - это для бая, для села наоборот

NormalizeDouble((((Bid - постоянная величина * Point) - (безубыток селов)) * сумма объёмов) / ( постоянная величина * Point), 2);

третий вариант считаю математическим шедевром где не надо парить мозги над коэффициентами и шагом - просто выставил нужную дистанцию для закрытия в пунктах и пофиг на то сколько пунктов прошла цена или какой объём последнего ордера или какое их количество - твой следующий усредняющий ордер закроет всю серию в 0 через столько пунктов сколько ты ему указал в постоянной величине

 
Sergey Likho:

Геометрические прогрессии проходили в 9м. И уже все благополучно забыто)

В формуле вся сложность в том, что там q  в степени  n. 

   Да. Для случая произвольных n формулы нет, можно лишь указать итерационный процесс, сходящийся к q (рекуррентную последовательность). Например, итерации по методу Ньютона https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%9D%D1%8C%D1%8E%D1%82%D0%BE%D0%BD%D0%B0.
   Однако нужно ли это Вам? Точное решение для q и реализовать-то нельзя из-за дискретности допустимого объема сделок в лотах. Может быть, проще будет просто построить в Excel семейство графиков зависимостей Sn/b1 = (1-q^n)/(1-q) от q для разных n и этого уже хватит. Ведь все суммы Sn пропорциональны b1.