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

 

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


В Вашем отчете тестера видно, что вероятность профитной сделки примерно 0.9, при этом средний профит равен 10 пунктам (~1%) и средний лось 20 пунктов (2%). Это если открываться 0.1 лотом от депо в $1000 на условиях Альпари. Таким образом, если варьировать размер лота (риска), то можно получать примерные последовательности сделок и вероятностные Балансы. Опять-таки, тупое нажимание F9 покажет, что это очень хорошие результаты, слить невозможно. Конечно, если в будущем сделки будут так и распределяться.
Вот такова вкратце идея этого моделирования.
 
Интересно... А я решил эту задачу не много инече, нашел в нете разложение в ряд функции нормального распределения(12 строк) и считаю вероятность с точностью до второго знака, не знаю может это замедлит расчет(к эксперту тока подбираюсь), если будет интересно могу выложить кусочек кода...

Я тоже находил в инете расчёт квантилей на сайте ALGLIB.SOURCES.RU. Но там как-то совсем не 12 строк оказалось и одна функция ещё требовала расчёта других. Я про это писал в этой же ветке ранее. Так что думаю, что подход, использованный на этом сайте, внёс бы свою лепту в торможение работы эксперта. Так что если Вы действительно обладаете 12 строками кода, которые делают то де самое, то всем будет интересно ознакомиться с ними. Я использую таблицу квантилей с 3-мя знаками после запятой. Думаю, что 2 знака после запятой не изменят принципиально всю картину работы, но польза будет всем.
 
Какое максимальное стандартное отклонение в пунктах мы имеем? Не более 100. Тогда поиск вероятности нахождения в любой точке ценового графика недалеко от центра распределения составит не более 1 %, то есть 2 знака порсле запятой. Значит нет никакой необходимости в большей точности.
 
Быть может я чего-то не до понял про выводы из центральной предельной теоремы( у меня в справочнике написано так: Если случайную величину можно представить как сумму большого числа не зависящих друг от друга слагаемых, каждое из которых носит в сумму лишь незначительный вклад то эта сумма распределена приблизительно нормально), то получается мы просто из таблицы функции нормального распределения по заданному значению доверительного интервала мы определяем вероятность нахождения св в нем.

Поэтому я просто сделал разложение в ряд функции распределения и по размеру интервала заданного либо в пипсах (если к=труе (тобишь вероятность продолжения движения цены вверх или вниз)) либо в величинах СКО

double ver(bool k, double Par,int e, int b)
{if(k)
{Canal(PriseData,e,b);
Par=(Par-CanalA[0]*b-CanalA[1])/CanalA[2];}
double t=MathAbs(Par);
double sum=t;
double x=t*t; 
double s=0;
for( int m=3; MathAbs(s-sum)>0.01;m=m+2){t=x*t/m; s=sum; sum=sum+t;}
if(Par>0)return(-0.7968*sum*MathExp(-x/2));
else return(0.7968*sum*MathExp(-x/2));
}




ЗЫ то что Вы этого не сделали меня сильно удивило, и теперь заставило во всем этом сомневаться...

ЗЫЗЫ И пожалуйста если Вас не затруднит расскажите что Вы имете ввиду под понятием "квантиль"

 
Вот кусок готового кода практически для вычисления вероятности по отклонению.

https://c.mql5.com/mql4/forum/2006/06/kvantil.zip

Как использовать в коде - догадаться не сложно.
 
Вроде ошибок я у себя в этой функции не нашел так что пока эксперта не сделаю менять ничего не буду.

А по функции сделаю пояснение:
k - ключ который показывает на то что передается функцие в параметре Par
если k=true, то Par это цена и тогда нужно передать в функцию еще и параметры канала относительно которого считается вероятность. Эти параметры e - последний бар канала и b- первый бар канала.
если k=false, то Par это отклонение выраженное в величинах СКО и тогда параметры b и e не используются.
Canal(Data[],e,b) - функция которая вычисляет регрессию и СКО заполняя CanalA [] полученными значениями.

Ну а дальше собственно алгоритм разложения, который был взят с сайта http://www.kamlit.ru/docs/aloritms/lgolist.manual.ru/maths/matstat/NormalDF/NormalDF1.php.htm

MathAbs(s-sum)>0.01 а здесь можно задать требуемую точность расчета
 

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

ЗЫ то что Вы этого не сделали меня сильно удивило, и теперь заставило во всем этом сомневаться...

ЗЫЗЫ И пожалуйста если Вас не затруднит расскажите что Вы имете ввиду под понятием "квантиль"

В фразе "Если случайную величину можно представить как сумму большого числа" ключевым является слово большого. И это слово думаю что относится кроме как к самим факторам так и к числу наблюдений. На практике мы рассматриваем выборки например начиная от 30 баров и до 1000. В данном случае более уместно всё-таки использование распределения Стьюдента нежеди нормальное распределение. Я именно так и делаю. Хотя возможно, что с нормальным распределением мы получим тоже самое. Я пока что ещё не проверял это.

Честно говоря я не смог с первого взгляда разобраться в Вашем коде. Как Вам удаётся в столь малом объёме кода учитывать ещё и степени свободы? В Excel имеются готовые функции вычисления квантилей для различной вероятности и различных степеней свободы. Я использую таблицу распределения Стьюдента, а не нормального распределения (стр 53-55 Булашева).

Под понятием "квантиль" я подразумеваю всё то же самое, что написано Булашевым на страницах 18-19 его основополагающего труда.
 

Честно говоря я не смог с первого взгляда разобраться в Вашем коде.


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

ЗЫ К сожалению, в те времена тервер был слишком теоретическим материалом, применение которому в жизни не виделось.
 
Поэтому мне было бы интересно послушать как Вы применяете распределение Стьюдента :)

Ну так я же уже написал выше. Просто расчитываю квантили для построения доверительных интервалов. Как его ещё можно использовать? У Булашева написано как в Excele посчитать эти самые квантили. В общем условно говоря я имею такой же файл, что вы выложили выше, но тошлько для распределения Стьюдента. Вот и вся разница. Сами подумайте как можно например к выборке в 30 баров применить нормальное распределение вероятности если баров всего ничего? Просто сравните квантили распределения Стьюдента при разных степенях свободы и всё сразу прояснится.