торговая стратегия на базе Волновой теории Эллиота - страница 52

 
Vladislav, не могли бы Вы ответить на несколько вопросов....

2) Начитавшись умных книжек я забыл чего надо найти :). Если я правильно понял что Вы имеете ввиду под понятием функционала потенциальной энергии, то не понятно зачем мы его ищем, так как результатом поиска будет уравнение(не значение, а функция!) траектории при движении по которой изменение потенциальной энергии(в процессе движения, а не при достижении конечной точки!) будет минимальным, а я так понимаю по этой самой траектории и движется цена, и мы уже выбрали уравнение которым решили аппроксимировать эту траекторию (это ур-е регрессии), то есть нам остается лишь сделать вывод на сколько хорошо мы аппроксимировали эту траекторию. Но еслиж его всетаки искать то по идее как раз найдется квадратичная функция и вот если коэффициенты В и С в уравнении Ах^2+Вх+С будут равны(или очень близки) коэффициентам в ур-е регрессии то наверно и это тот канал котоый нужен, хотя меня смутные сомнения уже растерзали :)


Да, я тоже к этому пришел. (Проверял как то чего и попутно обнаружил). То есть,решая МНК уравнения производных суммы квадратов отклонения, мы попутно решаем и задачу минимизации суммы просто отклонений. Это справедливо для случая СКО23>СКО (у меня по крайней мере). Хотя может что то и подзабыл и напутал. :)(
 

Сорри - опять воевал с советником - чего то начал виснуть не по детски. Так что на некоторое время пришлось уйти "в астрал" :). Зато теперь ужал коды до 7,6К строк :).

Каналы по хай\лоу, интервалы от 60 до 99,99%. Расходящихся каналов на рисунке нет. Когда есть канал, который не определяется как сходящийся, какой бы он ни был длины он не учитывается для построения проекции поскольку каналам свойственно пробиваться - то есть чем дольше цена идет в канале, тем со временем его пробой вероятнее. Точного критерия у меня для определения этого момента нет (надеюсь пока) - использую уровни Мюррея, можно подсчет волн, можно уровни поддержки\сопротивления, можно еще чего нить придумать, попробую.
2 Rosh По поводу параболы - при ее использовании есть весьма неприятный момент - невозможно достоверно определить экстремум, пока он реально не пройден. Все из-за такой неприятной особенности линии второго порядка, что через две точки эту линию можно провести неединственным образом. Так что для построения проекций не очень удобно. Для подтверждения же прохождения точки разворота - пойдет.
Поэтому я при построении проекций не использую линии второго порядка.

Удачи и попутных трендов.


Есть такой простой закон из физики - угол падения равен углу отражения. Как ни странно, но он очень часто работает:) Можно его как то использовать для поиска возможной текущей параболы, как - пока не знаю.
 
Сорри - опять воевал с советником - чего то начал виснуть не по детски. Так что на некоторое время пришлось уйти "в астрал" :). Зато теперь ужал коды до 7,6К строк :).


Я думаю, от нас тоже была польза в этом :)
 
2 Jhonny
Если я правильно понял что Вы имеете ввиду под понятием функционала потенциальной энергии, то не понятно зачем мы его ищем ...
Но еслиж его всетаки искать то по идее как раз найдется квадратичная функция и вот если коэффициенты В и С в уравнении Ах^2+Вх+С будут равны(или очень близки) коэффициентам в ур-е регрессии то наверно и это тот канал котоый нужен, хотя меня смутные сомнения уже растерзали

Я тоже в последнее время решил разобраться все-таки, как же применить на практике идеи Vladislav'а, которые мне так понравились. Поэтому хочу вставить свои 2 коп.

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

2 идея. Потенциальная энергия в области действительной траектории цены может быть представлена квадратичной формой.
Самый общий вид квадратичной формы U(x,y)=A*y^2+B*y*x+C*x^2+D*y+E*x+G. Подразумевая, что у - цена, а х - (как независимая переменная) время. Понятно, что U(x,y) определена с точностью до масштабного коэффициента. Поэтому можно положить А=1. Кроме того, начало отсчета U(x,y) всегда можно перенести куда угодно. Следовательно можно пренебречь и свободным членом G.
Отсюда: U(x,y)=y^2+B*y*x+C*x^2+D*y+E*x.
Для каждого фиксированного момента времени эта функция представляет из себя параболу. Цена движется по минимуму этой параболы. А этот минимум получается из условия равенства 0 частной производной U(x,y).
dU(x,y)/dy=2y+B*x+D=0;
Отсюда получается уравнение проекции линии минума потенциальной энергии на плоскость (x,y):
у=-(B*x+D)/2 или у=а*х+b - то есть уравнение линейной регрессии. Параметры этого уранения мы находим на основе текущих данных рынка с помощью МНК.
Далее цитата из одного из ранних постов Vladislav
Отсюда можно сделать предположение о том, что функция траектории адекватно может быть представлена некоторой квадратичной формой - дальше почти просто: поиск экстремумов функционалов критериев качества для таких форм весьма исследованная область. То есть нужно делать отбор выборок, экстремальным образом удовлетворяющих критериям качества.

Функция траектории - это, насколько я понимаю, потенциальная энергия. Поиск экстремумов функционалов критериев качества, как я предполагал, что-то вроде принципа наименьшего действия, только в интегральной форме. И все это для того, чтобы найти траекторию. Но мы ведь ее уже нашли ! И даже параметры посчитали ! Таким образом и я тоже пришел к вопросу, который задал Jhonny: зачем нам вообще нужна потенциальная энергия ?
Либо я чего-то не понимаю, либо не понимаю всего ! :-)

3 идея. Задача оптимизации - "отбор выборок, экстремальным образом удовлетворяющих критериям качества" (Vladislav). И он же
А критерием качества есть потенциальная энергия - смотрите о квадратичных формах - ничего необычного.

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

Уважаемый Vladislav, я просто изложил что понял и что не понял в Вашей методике. Если чего-то и не понял, то я отношу это на счет своей тупости, так что уж извините. Если чего-то поясните то буду весьма признателен. Если нет, то тоже спасибо !

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

 
Вобщем "схемку" Вы и свою сможете придумать, не скажу, что это будет просто, но только тогда можно будет понять как это работает и как (и почему менно так и никак не иначе) трактуются сигналы.

Гораздо эффективнее создать МТСину (что я сейчас и заканчиваю, точнее надеюсь, что заканчиваю :) и надеюсь, что вы тоже недалеки от этого этапа.

Vladislav, здесь вы оказались абсолютно правы!;o) "Схемку" свою придумал и уже получил первый жизнеспособный на мой взгляд вариант эксперта. Он у меня оказался по формальному подсчёту четырнадцатым за последние 2 недели с момента начала создания советника по Вашей стпатегии, описанной в этой ветке;o).
Вот здесь выложены результаты его прогона на истории. Правда полный стейтмент выкладывать не собираюсь поскольку он раскрывает в некоторой степени алгоритм работы эксперта, что в этой ветке официально признано Вами как секретная информация.
https://c.mql5.com/mql4/forum/2006/06/stat14_results.zip
Советник работает по следующему принципу. Во время начала нового часового бара происходит запуск эксперта. Эксперт просчитывает каналы и при небходимости сразу входит в позицию, а также устанавливает лимитники. Далее запуск эксперта происходит только лишь во время появления следующего часового бара. Это было специально заточено для тестирования такого эксперта в тестере МТ4 по быстрому методу на основе цен открытия. Соответственно в некоторых дополнительных расчётах в эксперте в качестве расчётных цен бались цены PRICE_OPEN. Размер кода эксперта чуть более 4.000 строк кода, сделанного на коленке и не совсем причёсанного (этим займёмся позже когда отработаем методику работы эксперта). Время просчёта каналов на каждоом запуске эксперта составляем примерно 2 секунды. Благодаря тому, что удалось разработать алгоритм быстрого расчёта каналов то соответсвенно появилась возможность дождаться результатов тестирования советника "ещё в этой жизни" :o). Данные представленные здесь были получены примерно за 12 часов расчётов на P4 2,4ГГц. Для тестирования были заданы самые жёсткие критерии для входа в позу. В результате чего видно, что не все разворотные точки оказались в игре. В ближайшее время будем смягчать критерии для входа в позу, а также введу переменный размер лота для открытия позы в зависимости от расчётного риска, как это сделано у Vladislava. В представленном отчёте размер лота был фиксирован и составлял 5USD, плечо 1:200.

PS: Хотелось бы по этому поводу сказать следующее. Данный результат был получен при ПЕРВОМ прогоне на истории БЕЗ ОПТИМИЗИРУЮЩИХ проходов!!! Тот кто занимался оптимизацией, а потом реальной торговлей по результатам оптимизации меня прекрасно поймёт!:o) То есть это говорит о принципиальной разнице стратегий в первом и во втором случае. Хотя и сделок оказалось во время тестирования очень мало, но если посмотреть на качество самих точек входа, то ни у кого сомнений в работоспособности системы не возникнет ;o))).

Vladislav, ещё раз ОГРОМНЕЙШЕЕ СПАСИБО ЗА СТРАТЕГИЮ!!!!!!!
 
solandr , держи в помощь экселевский файл для расчета депозита через N сделок с риском M :)
https://c.mql5.com/mql4/forum/2006/06/optF.zip

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

 
Да, забыл сказать, сам советник содержит в себе вызов пользовательского индикатора(на 340 строк), конечно, но это не имеет значения, так как индикаторы для того и пишутся и отлаживаются , чтобы их потом использовать для внешних вызовов.

А бесконечный цикл, который рисует каналы(на картинке выше) и содержит пока ошибку с повторным расчетом Херста выглядит так:

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   while (!IsStopped())
      {
      if (ChannelNotExist()) 
         {
         FindChannel();
         BuildChannel(firstBar,lastBar);        
         }
      if (isChangedFirstOrLastBar()) BuildNewChannel(firstBar,lastBar);
      Sleep(1000);     
      }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
На самом деле я в код скрипта вставил индикатор Vladislava (последнюю версию) 470 строк примерно, так как вызов внешних кастомерских индикаторов мне не удобен. Прежде всего при отладке. При каждом вызове индикатора в логе фиксируется этот факт, что мне просто неудобно. Я использую вызов только встроенных в МТ4 индикаторов, вызов которых в лог не записывается. Также в состав эксперта входит ещё и табличная функция расчёта квантилей 90, 95, 99 и 99,9% вероятностей (всё согласно рекомендациям Vladislava), что также составляет примерно 630 строк. Также эксперт пока что содержит достаточное количество дополнительных функций по отрисовке разной графики как на самом ценовом графике так и на отдельных окнах, которая напрямую к торговле не относится и может быть из эксперта удалена. Хотя пока идёт режим отладки системы это делать явно преждевременно. Таким образом наверное при акуратной переработке кода эксперта в перспективе можно будет сделать облегченную версию эксперта с достаточным минимумом графической информации, что подсократит код на 20-25%. Конечно же ужать мой эксперт до размеров менее 1000 строк как у Вас думаю просто не реально. Да и зачем в принципе это нужно?

solandr , держи в помощь экселевский файл для расчета депозита через N сделок с риском M :)
https://c.mql5.com/mql4/forum/2006/06/optF.zi
Я честно говоря ничего из этого файла не понял. Было бы интересно услышать комментарии. Я думаю что риск сделки в стратегии Vladislava должен расчитываться исключительно от текущего положения цены в доверительном интервале, а не от генератора случайных чисел. Насколько я понял именно генератор случайных чисел выбран в качестве задатчика суммы сделок в файле?
 
Также в состав эксперта входит ещё и табличная функция расчёта квантилей 90, 95, 99 и 99,9% вероятностей (всё согласно рекомендациям Vladislava), что также составляет примерно 630 строк.


Интересно... А я решил эту задачу не много инече, нашел в нете разложение в ряд функции нормального распределения(12 строк) и считаю вероятность с точностью до второго знака, не знаю может это замедлит расчет(к эксперту тока подбираюсь), если будет интересно могу выложить кусочек кода...

ЗЫ Пока на расчет каналов(без Херста и квадратичных функций(пока белые пятна, у меня вообще по Херсту для каналов с выборками меньше примерно 80 показатель >1 так что походу где-то ошибка)), тока кратчайшие каналы по условию сходимости СКО) уходит около 5-6 секунд, но машинка Duron 800 :)
Причина обращения: