Здравствуйте, гость ( Вход | Регистрация )

26 страниц V « < 3 4 5 6 7 > »   
Ответить в эту темуОткрыть новую тему
> Perceptron, Нейронная сеть
leonid553
сообщение 29.3.2007, 18:05
Сообщение #41





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Сделал.
extern int ExpertID =1111;
А как быть с :
extern int MagicNumber = 838; ?
Теперь как-то он стал работать непонятно!
хотя и чуть лучше - профитнее.
Но там же в коде есть:
else
{
// trailing stop
if(!OrderModify(OrderTicket(), OrderOpenPrice(),
Bid - sl * Point, 0, 0, Blue))
{
Sleep(30000);
prevtime = Time[1];
-------------------------------------------------------------------------------------------
Это наверное как-то влияет?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NoName
сообщение 29.3.2007, 18:31
Сообщение #42





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



Конечно влияет!
Пришли советник, попробую поправить.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 29.3.2007, 18:54
Сообщение #43





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



вот он:


Прикрепленные файлы
Прикрепленный файл  N0_NO_N0_MULTY.rar ( 2.47 килобайт ) Кол-во скачиваний: 241
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 30.3.2007, 8:26
Сообщение #44





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Поработал пока с версией советника с инд. Фишера .(закачка в пост 30)
По евроиене, h1 (любимая моя пара!)
Результат с сентября 2005 г.

---Символ EURJPY (Euro vs Japanese Yen)
Период 1 Час (H1) 2005.09.12 09:00 - 2007.03.28 16:59
Модель - По ценам открытия (быстрый метод на сформировавшихся барах)
Параметры RangePeriods=11; PriceSmoothing=0.4; IndexSmoothing=0.5;
x1=225; x2=54; x3=9; x4=63; sl=57;
lots=0.1; MagicNumber=833;
P_1=0; P_2=7; P_3=14; P_4=21;

Баров в истории 9492 Смоделировано тиков 18873 Качество моделирования n/a

Начальный депозит 10000.00
Чистая прибыль 4224.36
Общая прибыль 8670.18
Общий убыток -4445.81
Прибыльность 1.95 Матожидание выигрыша 15.88
--------------------------------------------------------------
Абсолютная просадка 27.77
Максимальная просадка 308.67 (2.23%)
Относительная просадка 2.33% (262.68)
---------------------------------------------------------------
Всего сделок 266
Короткие позиции (% выигравших) 145 (57.24%)
Длинные позиции (% выигравших) 121 (76.03%)
Прибыльные сделки (% от всех) 175 (65.79%)
Убыточные сделки (% от всех) 91 (34.21%)
Самая большая прибыльная сделка 371.47
убыточная сделка -58.33
Средняя прибыльная сделка 49.54
убыточная сделка -48.86
Максимальное количество непрерывных выигрышей (прибыль) 13 (461.68)
непрерывных проигрышей (убыток) 6 (-308.67)
Средний непрерывный выигрыш 3 непрерывный проигрыш 2
-------------------------------------------------------
Андрей! Обрати внимание на просадки - оч. приличный результат!
А когда будет сделан "разумный" трал, то результаты будут ещё лучше!


Эскизы прикрепленных изображений


Прикрепленные файлы
Прикрепленный файл  StrategyTester_EURJPY_H1.rar ( 12.78 килобайт ) Кол-во скачиваний: 223
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NoName
сообщение 30.3.2007, 8:50
Сообщение #45





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



Да, действительно, просадка около 2% - отличный результат smile.gif

Вот вариант советника с "разумным" тралом:
Прикрепленный файл  N0_NO_N0_MULTY.rar ( 2.17 килобайт ) Кол-во скачиваний: 627

Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 30.3.2007, 9:09
Сообщение #46





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Благодарю! Оч. кстати!
Решил выяснить - почему в строчках кода
double w1 = x1 - 100.0;
заявлено именно (х-100)
Вспомнил, что Решетов рекомендовал применять весовые коэффициэнты не более 200.
Вопрос сразу прояснился!
Получается, что при такой записи - весовые коэф-ты у нас получаются двухполярными!
Также как и шкала индикатора!
В результате имеем своего рода расширение "динамичечкого диапазона" значений индикатора.
Положительные значения при этом увеличиваются при х>100, а отрицательные также по абсолютной величине увеличиваются при х.>100. Т.е. уменьшаются.
При х<100 - динамический диапазон, напротив, сужается!
Тут надо ещё посоображать...
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 30.3.2007, 19:35
Сообщение #47





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Руки до всего не доходят! - времени не хватает!
Ну ладно...
Оптимизировал по всей доступной истории (с 2005г) EURJPY, H1 по трем версиям - Стохастик, WPR, Фишер.
Репрезентативная выборка показала устойчивый профит за янв-февр.-матр - в среднем 200-500 пипсов ежемесячно.
Периодичность - примерно одна сделка в день.
Пришла пора попробывать на систему на "многослойке"!
По фунту и по евроиене все версии уже "приплясывают" в ожидании!
Поэтому предлагаю сделать значения Х1-Х2-Х3-Х4 - фиксированные для каждого индикатора, т.е.примерно так:
double perceptron_1()
{
double w1 = 225 - 100.0;
double w2 = 54 - 100.0;
double w3 = 9 - 100.0;
double w4 = 63 - 100.0;
.......
Т.к. данная версия нужна будет только для конкретной торговли, а не для оптимизации.
И так по каждому индикатору -
double perceptron_2()
...
double perceptron_3()
...
double perceptron_4()
....
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 30.3.2007, 20:16
Сообщение #48





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Вроде так(значения х1-х4 еще не подставил):
----------------------------------------------------------------------------------------------
The PERCEPRRON - a perceiving and recognizing function |
//+------------------------------------------------------------------+
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 = x1 - 100.0;
double w2 = x2 - 100.0;
double w3 = x3 - 100.0;
double w4 = x4 - 100.0;
double a1 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, P_1);
double a2 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, P_2);
double a3 = iStochastic(Symbol(), 0, Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN,P_3);
double a4 = iStochastic(Symbol(), 0,Stochastic_period, 3,3,MODE_SMA,0,MODE_MAIN, P_4);
return (w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);
}
//-----------------------------------------------------------------------------
double p_2()
{
double r1 = x1 - 100.0;
double r2 = x2 - 100.0;
double r3 = x3 - 100.0;
double r4 = x4 - 100.0;
double b1 = iWPR (Symbol(), 0,WPR_period, P_1);
double b2 = iWPR(Symbol(), 0,WPR_period, P_2);
double b3 = iWPR(Symbol(), 0, WPR_period, P_3);
double b4 = iWPR(Symbol(), 0,WPR_period, P_4);
return (r1 * b1 + r2 * b2 + r3 * b3 + r4 * b4);
}
//-------------------------------------------------------------------------
double p_3()
{
double v1 = x1 - 100.0;
double v2 = x2 - 100.0;
double v3 = x3 - 100.0;
double v4 = x4 - 100.0;
double c1 = iCustom(NULL, 0, "Fisher_m11",RangePeriods,PriceSmoothing, IndexSmoothing,0,P_1);
double c2 = iCustom(NULL, 0, "Fisher_m11",RangePeriods,PriceSmoothing, IndexSmoothing,0,P_2);
double c3 = iCustom(NULL, 0, "Fisher_m11",RangePeriods,PriceSmoothing, IndexSmoothing,0,P_3);
double c4 = iCustom(NULL, 0, "Fisher_m11",RangePeriods,PriceSmoothing, IndexSmoothing,0,P_4);
return (v1 * c1 + v2 * c2 + v3 * c3 + v4 * c4);
}
//---------------------------------------------------------------------------
double p_4()
{
double e1 = x1 - 100.0;
double e2 = x2 - 100.0;
double e3 = x3 - 100.0;
double e4 = x4 - 100.0;
double d1 = iAC(Symbol(), 0, P_1);
double d2 = iAC(Symbol(), 0, P_2);
double d3 = iAC(Symbol(), 0, P_3);
double d4 = iAC(Symbol(), 0, P_4);
return (e1 * d1 + e2 * d2 + e3 * d3 + e4 * d4);
}
-------------------------------------------------------------------------------------------------
Не компиллируется! Пишет:
'p_1' - variable not defined
'p_2 ----------------------------
'p_3 ---------------------------
'p_4 ----------------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NoName
сообщение 30.3.2007, 20:50
Сообщение #49





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



Проблема в последнем результирующем слое.
p_1, p_2 ... - это функции, значит после них нужно поставить скобки.
Вот так будет правильно:
Код

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);
}


Интересная картина получается, однако. Даже, затрудняюсь представить конечный результат. Последний слой будет оценивать результаты работы остальных трёх и принимать окончательное решение. Чувствую что количество входов в рынок при такой архитектуре станет меньше. Дай Бог, что бы отбрасывались только убыточные входы wink.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 31.3.2007, 8:43
Сообщение #50





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



ДА, ДЕЙСТВИТЕЛЬНО!
С р_1() всё получилось


Эскизы прикрепленных изображений
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

26 страниц V « < 3 4 5 6 7 > » 
Ответить в эту темуОткрыть новую тему

 



- Текстовая версия Сейчас: 23.7.2024, 4:43