Советники, эксперты, форекс роботы Обсуждение, поиск и тестирование форекс советников, роботов, экспертов и МТС

Закрытая тема
02.12.2012, 21:06
Аватар для Buldakov
Buldakov Buldakov вне форума Местный житель
Регистрация: 29.03.2009 / Сообщений: 95
Поблагодарили 189 раз(а) / Репутация: 189

По умолчанию Советник Wave Trend (работает на EUR/USD на М5)

Предлагаю вашему вниманию Советник Wave_Trend
Работает по паре EUR/USD на М5
Ниже приводится сам советник и индикатор.

Данный советник был написан на основе книги Д.Маккормик "Энциклопедия торговых стратегий". Отдельно были протестированы сигналы на открытие и закрытие позиций. Затем они были объединены вместе. Критерием написания кода являлось получение максимального отношения прибыли к значению просадки.

Последний раз редактировалось Ирина К; 26.05.2014 в 14:14.
03.12.2012, 10:40
Аватар для Novikov
Novikov Novikov вне форума Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
Если я правильно понял, то s1a - советник, а i1a - индикатор?

Если не затруднит, объясни пожалуйста, какие параметры необходимо оптимизировать, в каком диапазоне и какой использовать шаг?

Hours_MA =26; //Период скользящей средней (час)
extern int kg =2; //Коэффициент гармоники скользящей средней (час)
extern int Alfa_MA =4; //Угол наклона скользящей средней
extern int Fast_MACD =6; //Период быстрой скользящей средней (час)
extern int Slip =3; //Проскальзывание (час)
extern int Signal_MACD =23; //Период сигнальной скользящей средней (час)
extern int Profit_const =1000; //Величина прибыли в долларах на 1 лот.
extern double Profit_var =0.4; //Величина прибыли в долях коридора.
03.12.2012, 16:01
Аватар для Buldakov
Buldakov Buldakov вне форума Местный житель
Регистрация: 29.03.2009 / Сообщений: 95
Поблагодарили 189 раз(а) / Репутация: 189
s1a - это советник. i1a - это индикатор.

Hours_MA от 1 часа до 100 часов с шагом 1 час
kg от 1 до 6
Alfa_MA от минус 10 до плюс 50 с шагом 2
Fast_MACD от 1 часа до 10 часов с шагом 1 час
Slip от 1 часа до 10 часов с шагом 1 час
Signal_MACD от 1 часа до 100 часов с шагом 1 час
Profit_const от 0 до 1000 долларов с шагом 50 долларов
Profit_var от 0 до 1 с шагом 0.1

Эти предельные границы (в общем виде). тестировал на 5 минутках по ценам открытия.В советнике используется только цены открытия.

Последний раз редактировалось Buldakov; 03.12.2012 в 16:04.
03.12.2012, 16:25
Аватар для Novikov
Novikov Novikov вне форума Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
Slip от 1 часа до 10 часов с шагом 1 час
А вы в курсе, что обычно в советниках "Slip" означает проскальзывание цены в пунктах, а не как не часы!?
И если я не ошибаюсь, то данный параметр не оптимизируется, а просто выставляется на усмотрение трейдера, обычно в диапазоне 1-2 пункта, для 4х зн. котировок и 5-10 пунктов для 5и зн. котировок.
Об этом даже в комментариях говорится!
03.12.2012, 19:10
Аватар для Buldakov
Buldakov Buldakov вне форума Местный житель
Регистрация: 29.03.2009 / Сообщений: 95
Поблагодарили 189 раз(а) / Репутация: 189
Проскальзывание в пунктах называется не "Slip" а "slippage" и оно действительно 5-10 пт. для 5 значных котировок.
Тогда вопрос к вам. Если есть 2 скользящие средние с периодом 20 часов и фазовым сдвигом между собой 2 часа. Как вы назовете переменную этого фазового сдвига? И почему например не измерять ее в часах, а не в градусах или радианах?
03.12.2012, 19:22
Регистрация: 13.03.2009 / Сообщений: 2,406
Поблагодарили 1,980 раз(а) / Репутация: 2057
Как вы назовете переменную этого фазового сдвига?
Обычно сдвиг именуют Shift. Даже в параметрах МА он так называется. Правда там сдвиг в барах.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
03.12.2012, 20:33
Аватар для Novikov
Novikov Novikov вне форума Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
Прогнал оптимизацию за 3 последних месяца по EURUSD, GBPUSD, AUDUSD
У всех доход за этот период около 18-20% при просадке 2-3% - это так и должно быть?
Или можно как-то увеличить доход или агрессивность?
04.12.2012, 04:53
Аватар для Buldakov
Buldakov Buldakov вне форума Местный житель
Регистрация: 29.03.2009 / Сообщений: 95
Поблагодарили 189 раз(а) / Репутация: 189
Гонял только на EUR/USD и на акциях газпрома. доходность менялась в диапазоне 100 - 1000 процентов за пол года.(при оптимальных параметрах).

Увеличить агрессивность - можно путем увеличения значения переменной n_Lots=1 в блоке 1.
04.12.2012, 09:29
Аватар для Novikov
Novikov Novikov вне форума Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
Спасибо за советник, вроде бы не плохо себя показывает!
Думаю, позже поставлю на VPS на демо и выложу здесь мониторинг.
Хочу поставить на 5-8 пар - какие можешь посоветовать?
И какой начальный депозит необходим для одной пары?

Будь так любезен, объясни эти параметры:
extern int Profit_const =1000; //Величина прибыли в долларах на 1 лот.
extern double Profit_var =0.4; //Величина прибыли в долях коридора.
как, что, зачем и почему?
и как работает параметр n_Lots=1 ?
Заранее благодарю!
04.12.2012, 10:07
Аватар для Buldakov
Buldakov Buldakov вне форума Местный житель
Регистрация: 29.03.2009 / Сообщений: 95
Поблагодарили 189 раз(а) / Репутация: 189
Повторюсь еще раз. Тестировал только на евро доллар.
Минимальный депозит взять больше уровня максимальной просадки хотя-бы раза в 2.
для лота размером 0.01 это примерно 100 - 200 долларов.

Profit_const и Profit_var задают размер прибыли.
Например при лоте=1.00 прибыль 1000 долларов
при лоте 0.01 прибыль 10 долларов.
А второй параметр показывает как прибыль считается в зависимости от ширины коридора BB.
Общая прибыль считается так:
t=Profit_const+Profit_var*((Hi_BB-Lo_BB)/Point);
t_profit1=n_Lots*Step*t*1.0;

По поводу n_Lots.
Так от него зависит размер лота.
Lots=1*n_Lots*Step;
04.12.2012, 19:03
Аватар для Novikov
Novikov Novikov вне форума Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
Почему бы сразу параметр
int n_Lots=1; //Размер первоначального лота в целых единицах шага лота.
не прописать как
extern int n_Lots=1; //Размер первоначального лота в целых единицах шага лота.
и тогда во внешних переменных, появляется еще один параметр n_Lots.
На мой взгляд, удобнее для оптимизации!
я ставлю от 1 до 10 с шагом 1 и тогда можно поставить "максимальную просадку" такую, какая устраивает! я ставил 10% - за 3 последних месяца доход около 100% по одной паре EURUSD.
04.12.2012, 19:23
Аватар для ponomarenkoroman
ponomarenkoroman ponomarenkoroman вне форума Почётный гражданин
Регистрация: 17.09.2010 / Сообщений: 380
Поблагодарили 307 раз(а) / Репутация: 308
if(Year()<2012 && Month()<06) return(0);//Год и месяц начала тестирования //

автор жжет а оптить сову как ? по настоящему?

П.С. как пример ДЦ Альпари, евро/бакс, 2011г, 1000$, 1:100, 0.01 --- на выходе ничего нет по $

Последний раз редактировалось ponomarenkoroman; 04.12.2012 в 19:41.
04.12.2012, 21:00
Аватар для Buldakov
Buldakov Buldakov вне форума Местный житель
Регистрация: 29.03.2009 / Сообщений: 95
Поблагодарили 189 раз(а) / Репутация: 189
Никто не мешает вставить n_Lots во внешние переменные. Просто добавится лишняя переменная для оптимизации.

А по поводу года и месяца начала тестирования - поставьте вместо 2012 какой нибудь другой год - например 1980. или закоментируйте данную строку.
04.12.2012, 21:36
Аватар для Yuri A.Soloviev
Yuri A.Soloviev Yuri A.Soloviev вне форума Местный знаток
Регистрация: 02.10.2010 / Сообщений: 845
Поблагодарили 769 раз(а) / Репутация: 771
Как освободится место, закину на впс, посмотрим..
« Кто весь день работает, тому некогда зарабатывать деньги. »
Джон Дэвисон Рокфеллер

« Не надо бояться больших расходов, надо бояться маленьких доходов. »
Джон Дэвисон Рокфеллер
-------------------------------------------------------------------------
07.12.2012, 00:23
Аватар для Novikov
Novikov Novikov вне форума Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
Поставил на 3 пары!
Первый торговый день не впечатлил!
Ордер по AUDUSD зашел в + более 2%, а в итоге получился маааааленький минус за день

Будем дальше посмотреть, что из этого выйдет!
14.12.2012, 10:08
Аватар для Novikov
Novikov Novikov вне форума Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664

По умолчанию Продолжю наблюдение

Просадка пока удовлетворительная - до 13% доходила.
Будем смотреть за развитием ситуации!
Пока по паре EURUSD это выглядит так:
14.12.2012, 19:53
Аватар для Buldakov
Buldakov Buldakov вне форума Местный житель
Регистрация: 29.03.2009 / Сообщений: 95
Поблагодарили 189 раз(а) / Репутация: 189
Очень странное поведение. между первой и второй сделкой должны быть по теории еще открыты и закрыты хотя бы 2 сделки на покупку. А третьей сделки вроде не должно было быть.
Просьба скинуть при каких настройках запустили советника. (содержимое блока 1)
мои настройки были такие:

extern int Hours_MA =26;
extern int kg =2;
extern int Alfa_MA =4;
extern int Fast_MACD =6;
extern int Slip =3;
extern int Signal_MACD =23;
extern int Profit_const =1000;
extern double Profit_var =0.4;

1 2012.12.10 01:50 sell 1 0.01 1.28980 0.00000 0.00000 0.00 10000.00
2 2012.12.11 12:05 buy 2 0.01 1.29724 0.00000 0.00000 0.00 10000.00
3 2012.12.12 01:30 close 2 0.01 1.30049 0.00000 0.00000 3.20 10003.20
4 2012.12.12 14:20 buy 3 0.01 1.30373 0.00000 0.00000 0.00 10003.20
5 2012.12.13 03:10 close 3 0.01 1.30628 0.00000 0.00000 2.40 10005.60
6 2012.12.13 23:59 close at stop 1 0.01 1.30781 0.00000 0.00000 -18.01 9987.60

последнюю 6 позицию можно не считать.

Последний раз редактировалось Buldakov; 14.12.2012 в 20:11.
15.12.2012, 09:03
Аватар для Novikov
Novikov Novikov вне форума Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
Очень странное поведение. между первой и второй сделкой должны быть по теории еще открыты и закрыты хотя бы 2 сделки на покупку. А третьей сделки вроде не должно было быть.
Просьба скинуть при каких настройках запустили советника. (содержимое блока 1)
мои настройки были такие:

extern int Hours_MA =26;
extern int kg =2;
extern int Alfa_MA =4;
extern int Fast_MACD =6;
extern int Slip =3;
extern int Signal_MACD =23;
extern int Profit_const =1000;
extern double Profit_var =0.4;

1 2012.12.10 01:50 sell 1 0.01 1.28980 0.00000 0.00000 0.00 10000.00
2 2012.12.11 12:05 buy 2 0.01 1.29724 0.00000 0.00000 0.00 10000.00
3 2012.12.12 01:30 close 2 0.01 1.30049 0.00000 0.00000 3.20 10003.20
4 2012.12.12 14:20 buy 3 0.01 1.30373 0.00000 0.00000 0.00 10003.20
5 2012.12.13 03:10 close 3 0.01 1.30628 0.00000 0.00000 2.40 10005.60
6 2012.12.13 23:59 close at stop 1 0.01 1.30781 0.00000 0.00000 -18.01 9987.60

последнюю 6 позицию можно не считать.
Вот мои настройки:

extern int Hours_MA =25;
extern int kg =1;
extern int Alfa_MA =49;
extern int Fast_MACD =9;
extern int Slip =2;
extern int Signal_MACD =67;
extern int Profit_const =1000;
extern double Profit_var =0.8;
extern int n_Lots =6

Ордер Sell 0.24 закрылся в минусе.
А вот скрин, как закончилась неделя (-13%):
15.12.2012, 11:55
Аватар для Buldakov
Buldakov Buldakov вне форума Местный житель
Регистрация: 29.03.2009 / Сообщений: 95
Поблагодарили 189 раз(а) / Репутация: 189
Прогнал с вашими настройками.
Не знаю по каким критериям их подбирали.
Я могу только рассказать, как подбирал свои.
extern int kg должна быть обязательно больше 1. Например 2,3,4,5,6 - это величина обратная номеру гармоники Hours_MA.
Оптимизирую на истории около 5 - 6 мес.Добиваюсь отношения прибыли к максимальной просадке в районе 3 - 10. Например Прибыль 500 дол. Просадка 60 дол. Данные коэффициенты действуют примерно 2 недели - 1 месяц. После этого прогоняю на истории за 6 мес. и нахожу новые коэффициенты. Признаком стабильной работы советника на истории - является наличие сделок увеличенного обьема в размере не более 20 процентов количества всех сделок.
15.12.2012, 13:16
Аватар для Novikov
Novikov Novikov вне форума Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,676 раз(а) / Репутация: 2664
kg оптимизировал от 1 до 6, как вы ранее писали.
попробую от 2 до 6 поставить.
при оптимизации беру последние 3 месяца
про коэффициент учту на будущее!
Закрытая тема


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 17:09. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO