![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
leonid553 |
![]()
Сообщение
#51
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
Вставил оптимизированные параметры для каждого индикатора.
Теперь следует разобраться с double f1 = y1 - 100.0; double f2 = y2 - 100.0; double f3 = y3 - 100.0; double f4 = y4 - 100.0; return (p_1() * f1 + p_2() * f2 + p_3() * f3 + p_4() * f4); ---------------------------------------------------------------------------------- Понятно, что первый тест с лета - не дал приличного результата, хотя общий профит наблюдается! Предположим, что мы желаем воспользоваться не сразу всеми - а лишь одним индикатором - стохастиком. Пусть он у нас будет - как от р_1(STOCHASTIC) тогда , видимо надо задать весовые коэт-ты остальных функций =100 , т.е. =0 в итоге: double f1 = y1 - 100.0; double f2 = y2 - 100.0=100-100=0; double f3 = y3 - 100.0=100-100=0; double f4 = y4 - 100.0=100-100=0; тогда будет, return (p_1() * f1 + p_2() * 0 + p_3() *0+ p_4() *0)=return (p_1() * f1) ; И если при этом мы зададим f1=1(у1=101), или, иначе говоря: double f1 = y1 - 100.0= 101-100=1; то в результате теста должны получить результат , соответствующий индикатору Stochastic ( при этом необходими также задать соответствующийй sl - стоплосс) Так вот! Так не получается! |
leonid553 |
![]()
Сообщение
#52
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
Не могу понять, в чем дело!
сделал так с индикатором WPR. А вот здесь результат сошелся с тестом версии WPR ! С индикаторм фишера - опять всё не так! А с индикаторм АС - РЕЗУЛЬТАТ СОШЕЛСЯ ТОЖЕ! нИЧЕГО НЕ ПОНИМАЮ! |
leonid553 |
![]()
Сообщение
#53
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
Поскольку тесты с WPR и АС соответствуют здравому смыслу решил пока оставить весовые коэф-ты стохастика и Фишера равными нулю (у1=у3=100).
После чего слегка оптимизировал стоплосс и весовые коэф-ты индикаторов АС и WPR Любопытно, что число сделок (с 2004г.) возрасло. По параметру SL результат оптимизируется. А вот по весам - почти не реагирует! (у2=у4=101) ---------------------------------------------------------------------------- Начальный депозит 10000.00 Чистая прибыль 5770.04 Общая прибыль 30794.36 Общий убыток -25024.32 Прибыльность 1.23 Матожидание выигрыша 5.94 Абсолютная просадка 759.76 Относительная просадка 10.80% (1119.00) Всего сделок 972 Короткие позиции (% выигравших) 469 (60.55%) Длинные позиции (% выигравших) 503 (61.03%) Прибыльные сделки (% от всех) 591 (60.80%) Убыточные сделки (% от всех) 381 (39.20%) Самая большая прибыльная сделка 369.76 убыточная сделка -67.56 Максимальное количество непрерывных выигрышей (прибыль) 13 (813.04) непрерывных проигрышей (убыток) 10 (-661.08) ----------------------------------------------------------------------------- При этом отмечу, что прибыль при этом "двухслойном варианте" достигла =+5770, в то время как по отдельности в однослойках результаты были =+5400 и = +5001 по АС и WPR соответственно ! Сейчас ещё и ММ вставлю ... для моральной поддержки ..! ![]() Эскизы прикрепленных изображений |
NoName |
![]()
Сообщение
#54
|
![]() Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) ![]() |
Попробовал тоже так сделать. Стохастик у меня сошелся, правда не с первого раза
![]() Смотри внимательно настройки индикаторов в конкретном советнике, и выставляй такие же в общем советнике. В стохастике, я, например, не обратил внимания на период. Когда поправил - всё сошлось. Весовые коэффициенты, естественно так же должны быть одинаковыми! |
leonid553 |
![]()
Сообщение
#55
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
ОК! Понял.
|
leonid553 |
![]()
Сообщение
#56
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
Исправил все недоработки. Система заработала так, как и положено!
В часности, обнаружилось, что в коде у стохастика надо добавить - двухполярную шкалу: double a1 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 0)-50; double a2 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 7)-50; double a3 = iStochastic(Symbol(), 0, Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN,14)-50; double a4 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 21)-50; --------------------------------------------------------------------------------------------------------------- И ещё там (0-7-14-22) надо заменить на (0-7-14-21) - не знаю как так случилось! Получается, что система работает наилучшим образом тогда, когда индикаторы друг другу "не мешают"! За исключ. вышеописанного варианта АС+WPR ! Вроде бы нахожу этому обьяснение. ![]() Но пока - посмотри на график. это кусочек работы со стохастиком , у=101(у остальных у=100) Стох - самая прибыльная версия (+8786$ с мая 2004г) и поэтому предлагаю "плясать" именно от неё! Здесь видно , что идут подряд две убыточных, лосевых сделки - против тренда, при этом перцептрон меньше нуля. В то-же время значения инд. Фишера больше нуля и при правильно подобранных весовых коэф-тах, мы , как минимум, запретили бы вход в SELL в такой ситуации. А в идеале - вошли бы в BUY ! Эскизы прикрепленных изображений |
leonid553 |
![]()
Сообщение
#57
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
Если нам удасться правильно организовать взаимодействие iStochastic и "Fisher_m11", - именно этих двух , то результаты сильно улучшаться! - это ещё мягко сказано!
Причем заметь - со стохастиком частенько так бывает - прёт , как баран, против тренда - и при этом остается самой выгодной версией! |
NoName |
![]()
Сообщение
#58
|
![]() Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) ![]() |
Вот идея появилась навскидку. Тоже может дать интересный результат.
Код double perceptron() { //---------------------------------------------------------------------- double f1 = y1 - 100.0; double f2 = y2 - 100.0; double f3 = y3 - 100.0; double f4 = y4 - 100.0; return (p_1() * f1 + p_2() * f2 + p_3() * f3 + p_4() * f4); } // --------------------------------------------------------------------------- double p_1() { double w1 = z_1 - 100.0; double w2 = z_2 - 100.0; double w3 = z_3 - 100.0; double w4 = z_4 - 100.0; double a1 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 0); double a2 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 7); double a3 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 14); double a4 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 21); return (w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4); } //----------------------------------------------------------------------------- double p_2() { double w1 = z_1 - 100.0; double w2 = z_2 - 100.0; double w3 = z_3 - 100.0; double w4 = z_4 - 100.0; double a1 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 0); double a2 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 6); double a3 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 12); double a4 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 18); return (w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4); } //------------------------------------------------------------------------- double p_3() { double w1 = z_1 - 100.0; double w2 = z_2 - 100.0; double w3 = z_3 - 100.0; double w4 = z_4 - 100.0; double a1 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 0); double a2 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 5); double a3 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 10); double a4 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 15); return (w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4); } //--------------------------------------------------------------------------- double p_4() { double w1 = z_1 - 100.0; double w2 = z_2 - 100.0; double w3 = z_3 - 100.0; double w4 = z_4 - 100.0; double a1 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 0); double a2 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 4); double a3 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 8); double a4 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, 12); return (w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4); } //+--------------------------------------------------------------------------------------+ Стохастик привёл только как пример, можно использовать любой другой индикатор. Фишка в выборе "контрольных точек". Идей много, времени мало ![]() |
leonid553 |
![]()
Сообщение
#59
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
|
leonid553 |
![]()
Сообщение
#60
|
![]() Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) ![]() |
но даже и в этом случае необходим фильтр - для предотвращения сделок против тренда!
Вот можно попробовать , например , осциллятор Эллиотта или индикатор OsMA. Причем даже не нужно слишком оптимизировать весовые. Просто взять значения этих индикаторов - плюс и минус и применить к условиям входа. Эскизы прикрепленных изображений |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 14.3.2025, 5:54 |