Оптимист
Название советника: "Оптимист"
Разработка: Tradelikeapro.ru
Год выпуска: 2013
Версия: 3.5.1
Валютные пары: изначально EURUSD
Таймфрейм: любой (опционально - М15)
Начальный депозит: от 260$ (для лота 0,01)
Описание:
Предлагаемый вашему вниманию в этой теме торговый советник возник после прочтения одной торговой стратегии, ссылкой на которую кто-то здесь поделился (_http://forexru.bypsi.com/besproigrishnaya-strategiya-foreks).
Стратегия меня заинтересовала, была опробована на демо-счёте, после чего и было составлено тех.задание на советник по данной стратегии. Назвал я его "Оптимист" (мне понравилось :d ).
Выполнить тех.задание, т.е. - написать самого советника, любезно согласился наш форумчанин, участник некоторых проектов, толковый программист и ... просто хороший человек - Ttomas, за что я выражаю ему свою признательность!

Перед использованием советника рекомендуется внимательно прочитать (и понять) саму стратегию торговли, её ручной вариант. В процессе написания, тестов и устранения багов версия советника выросла от первоначальной в.1 до актуальной рабочей в. 3.5.1
Update: 01.12.13
Добавлена обновлённая версия советника в. 3.8. В качестве изменений добавлена возможность отключения торговли после закрытия каскада, а также - остановка торговли при закрытии всего каскада в минус. Переработан сам код на предмет избавления от ошибок, появляющихся уже в процессе работы советника (глобальные переменные). Настройки по умолчанию соответствуют режиму ГСЧ-автомат.
Описание настроек советника:
extern bool StopIfAllLoss=True; - Запрет на открытие новых каскадов после полностью убыточного
extern bool AutoContinumTrade=True; - Запрет открывать следующий каскад
extern string q1="Это настройки для ММ";
extern double FixLot=0; - Значение фиксированного лота для инициирующей сделки
extern double ProtsD=0; - Процент от депозита для для инициирующей сделки
extern int StepFromDepo=260; - размер депозита на 1 минимальный лот для инициирующей сделки
extern int Multipler=2.0 Множитель лотности (2.0 - удвоение последующего лота)
extern int OsnTP=13; - размер ТП в старых пунктах
extern int OsnSL=13; - размер СЛ в старых пунктах
extern int Slippage=3; - - размер Проскальзывания в старых пунктах
extern int OrdersLimit=6; - Количество ордеров каскада(с учетом инициирующей сделки)
extern bool DownLots=false; - Флаг снижать ли размер Лота после просадки или снятия средств(по статье должно быть False, однако если нужно вывести значительную сумму то ставим True,)
extern int Kaskad1=0; - направление 1 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern int Kaskad2=1; - направление 2 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern int Kaskad3=1; - направление 3 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern int Kaskad4=1; - направление 4 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern int Kaskad5=0; - направление 5 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern int Kaskad6=0; - направление 6 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern int Kaskad7=0; - направление 7 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern int Kaskad8=1; - направление 8 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern int Kaskad9=1; - направление 9 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern int Kaskad10=1; - направление 10 Ордера каскада после инициирующего ордера 0 - в томже направлении, 1 в противоположном
extern string q12="Тип управления False - Ручное, True - Автоматическое";
extern bool AvtoPilot=True;
extern bool UseGSCh=False; - если True то ГСЧ если false то МА
extern bool ModifToSistem=True; - Изменить ли ордеру ТП и СЛ в соответствии с системой.
extern string i91="Настройки к индикатору MA";
extern int MASlow_Per=24; - Период Медленной МА
extern int MAFast_Per=12; - Период Быстрой МА
extern int MASlow_Shift=0; - Сдвиг Медленной МА
extern int MAFast_Shift=0; - Сдвиг Быстрой МА
extern int MA_Met=1; - Метод исчисления МА 0-Симпл 1 Экспонентал
extern int MA_Price=1; - Цена для расчета МА
extern int MA_Bar=0; - Бар взятия МА
extern string q9="Служебные настройки";
extern int Magic=12345678; - Магик ордеров для данного советника
extern int Repids=3; - Количество повторов, защита от зацикливания
extern string q10="Планировщик";
extern bool PonDay=True; - торговать в понедельник?
extern int PonStartHour=10; - Когда начать
extern int PonStopHour=22; - Когда Закончить
extern bool VtorDay=True; - Торговать во вторник?
extern int PonStartHour=9; - Когда начать
extern int PonStopHour=22; - Когда Закончить
extern bool SredDay=True; - Торговать в Среду
extern int PonStartHour=9; - Когда начать
extern int PonStopHour=22; - Когда Закончить
extern bool ChetDay=True; - Торговать в Четверг
extern int PonStartHour=9; - Когда начать
extern int PonStopHour=22; - Когда Закончить
extern bool PitDay=True; - Торговать в пятницу?
extern int PonStartHour=9; - Когда начать
extern int PonStopHour=15; - Когда Закончить
В процессе создания советника, помимо реализации собственно самой стратегии, были добавлены следующие функции (всё есть в настройках):
- оригинальный вариант входов - ручное открытие инициирующей (первой) сделки; направление входа выбирается по генератору случайных чисел (описано в самой стратегии). Генерировать входы можно здесь;
- входы первым ордером по сигналам пересечений быстрой и медленной МА (рекомендуется ТФ М15) - автоматический режим;
- автоматический режим с использованием встроеного в МТ4 ГСЧ (генератора случайных чисел);
- встроеный планировщик на каждый рабочий день;
- множитель для коррекции расчёта лота (на любителя повысить/понизить риски);
На работу советника существенное влияние оказывает размер спреда - это также отмечалось автором самой стратегии. Поэтому предпочтительны счета с хорошим исполнением и небольшим спредом. При тестировании по евродоллару со спредом 1,5 результаты боли довольно хорошими, но уже при спреде 2 пункта прибыльность заметно падала.
Рекомендуется также исопльзовать планировщик для заблаговременного отключения советника перед известными важными новостями (нон-фармы и прочее), дабы не подвергать свой депозит опасности частичной его потери (это рекомендуется почти во всех ТС и многих роботах).
Тема открывается с целью подключения всех заинтересованых участников форума к тестам и поискам оптимальных сетов в различных режимах работы советника (а возможно - и на других парах ... ). Не забываем и плюсуем Ttomas-у за хорошо проделаную работу (надеюсь видеть его участие в обсуждении работы советника :) ).
Примеры тестов за 2013-й год:
Тесты в режиме МА-автомата: два сета (с фикслотом 0,01 и с включеным ММ и множителем 2,2). Тесты проводились со спредом в 1,5 пункта. В обоих случаях - неплохой рост депозита вплоть до 22.10.13, где на важной новости и хорошей свече сет не справляется с задачей и снижает размер депо. Отсюда - опять же - рекомендация: за несколько часов до выхода значимых новостей (могущих дать кратковременное движение в 100 и более пунктов) отключать торговлю советника.
Мониторинги:
Мониторинг демо-счёта (ручной рандом).
Мониторинг режима МА-автомат (демо-счёт):
Мониторинг режима ГСЧ-автомат (демо-счёт):
Мониторинг данного режима работы советника удалён. Причина - слитие депозита. Данный режим работы советника нуждается в дальнейшей доработке и поиске настроек каскада сделок.
Советник и пара сетов прикреплены в конце поста. Версия советника по мере его обновления будет также добавляться в первый пост.
Сеты не окончательные. Надеюсь на участие и поиск оптимальной работы советника. По моему опыту пока наилучшие результаты получаются при ручных случайных входах и дальнейшем сопровождении сделок с помощью подобраных каскадов.
Всем удачи и профитов! ;)


