Перейти к содержанию

[open source] [Советник] по ТС [Н4] Lazy Trader


Рекомендуемые сообщения

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Предлагаю в данной ветке проводить разработку, обсуждение
и тестирование советника по ТС "Lazy Trader".

Система находится здесь:
http://tradelikeapro.ru/sistema-lazy-trader/

Последняя версия советника от форумчанина xbms (не забываем ставить ему плюсы) находится во вложениях.


Итак, взяли за основу советник "Начало", подкрутили гайки, добавили фичи, и вот результат:

Спойлер


extern double FixedLot = 0; // Фиксированный лот, если 0, то рассчёт по ММ
extern double LotsFor1000 = 0.1; // ММ, объём(лот) на 1000 депозита (валюта не имеет значения)
extern double TakeProfitK = 1; // TakeProfit - коеффициент, расстояние между отложками,умноженному на TakeProfitK
extern double StopLossK = 1; // StopLoss - коеффициент, расстояние между отложками,умноженному на StopLossK
extern bool UseMartingale = false; // Использовать Мартингейл
extern double Multiplier = 2; // Множитель объёмов, если используется мартингейл
//+------------------------------------------------------------------+
extern int DayStart = 1; // День начала работы (пн)
extern int DayEnd = 5; // День завершения работы (пт)
extern int StartHour = 4; // Начало работы (час)
//extern int EndHour = 4; // Завершение работы (час)
extern int MaxPips = 30; // Максимальная длина свечи в пунктах, при которой разрешено ставить отложки
extern bool CloseByTime = true; // закрывать по времени, если false, то по трейлингу
extern int CloseHour = 23; // Закрывать открытые ордера
extern int Indent = 15; // Отступ от цены для установки отложенных ордеров
extern bool DeleteOpposite = false; // Удалять вторую откложку, если открылся 1-й ордер
extern bool SetLimits = false; // Ставить лимитные ордера, вместо стоповых
//+------------------------------------------------------------------+
extern string LimitLoss = " ========= Безубыток ========";
extern int LossLimit = 0; // Безубыток
extern int LossPoints = 2; // доп. рункты для безубытка
//+------------------------------------------------------------------+
extern string Trail = " ========= Trailing =========";
extern bool UseTrailing = true;
extern bool ProfitTrailing = false; // Тралить только профит
extern int TrailingStop = 15; // Фиксированный размер трала
extern int TrailingStep = 2; // Шаг трала
extern bool UseSound = true; // Использовать звуковой сигнал
extern string NameFileSound = "expert.wav"; // Наименование звукового файла
//+------------------------------------------------------------------+
extern int Magic = 123; // Магический номер ордеров
extern string comment = "LazyTrader v1.0"; // Комментарий ордеров
extern int Slippage = 5; // Проскальзывание ордера
//+------------------------------------------------------------------+

Мартингейл тут "мягкий", можно даже сказать нежный :)
Советник не будет до посинения увеличивать лот, а просто начнёт торговать повышенным, пока баланс не придёт к норме...

Также вместо стоповых ордеров можно ставить лимитные:

extern bool     SetLimits       = true;  // Ставить лимитные ордера, вместо стоповых

результат где-то даже лучше...

Параметры подбирайте сами, выставлено абсолютно наобум...


Альтернативный вариант от автора VanHook:
http://tlap.com/forum/laboratoriya-profitfx/24/open-source-sovetnik-po-ts-n4-lazy-trader/4083/?do=findComment&comment=68201

Исправленный альтернативный вариант от автора SNZHikari:
http://tlap.com/forum/laboratoriya-profitfx/24/open-source-sovetnik-po-ts-n4-lazy-trader/4083/?do=findComment&comment=69232
Настройки:
Спойлер


Сова работает с 3х значными котировками по ене
Для правильной работы мартина, должна быть в единственном экземпляре.
Все значения в новых пунктах.
Исправлены Критические ошибки из-за кторорых сова работала неправильно.
Добавлена минимално необходимая обработка ошибок для работы на реале.

FixLot=false; // Использовать фиксированный лот
Lot=0.5; // Фиксированый лот если FixLot=true
LotNa10000=0.5; // Рассчетный лот на 10000 едениц баланса если FixLot=false
//-------------------------------
FairMM=false; // Включает "Справедливый" ММ.
FairMartin=false; // "Справедливый" ММ рассчитывается после домножения Мартином
Fair=1200; // Лот вычесляется по системе лот*(Fair/стоплос)
//--------------------------------
Indent=200; // Отступ в от теней сигнальной свечи
FixIndent=0; // Не дожедаясь закрытия первой свечи выставляет отложки на данном расстоянии если 0 не используется.
MaxCandle=1500; // Свечи больше заданного размера не считаются сигнальными
MinCandle=100; // Свечи меньше заданного размера не считаются сигнальными
Use2candle=false; // Использовать в качестве сигнальной вторую свечу если первая больше/меньше заданных выше
IndentSL=0; // Сдвигает стоплосс на заданное число пунктов относительно рассчитанного
IndentTP=0; // Сдвигает тейкпрофит на заданное число пунктов относительно рассчитанного
MinSL=0; // Минимальный Стоплос. SL равен это значению если был меньше.
MaxSL=10000; // Максимальный Стоплос. SL равен этому значению если был больше.
TakeProfitK=3; // Отношение ТейкПрофит к СтопЛосс
LotMult=1.2; // Множетель Лота для Мартина если 0 не используется.
balans=0; // Включается Мартин пока Баланс не станет равен этому значению.
StartHour=4; // Час начала торгов сигнальной будет являтся предыдущая 4х часовая свеча.
StartDay=1; // День начала торгов (если -1 сделки открываются и закрываются каждый день)
CloseHour=22; // Час окончания торгов
CloseDay=5; // День окончания торгов
Magic=1221123; // Магик
Sleepage=10; // Проскальзывание
AITrailing = false; // Использовать Трайлинг стоп (работает не по пунктам, а по свечкам)
bTrlinloss = false; // Использовать трайлинг стоп до того как перешли в безубыток
iTmfrm=60; // период, по барам которого следует тралить (1, 5, 15, 30, 60, 240, 1440, 10080, 43200)
iBars_n = 3; // кол-во баров, по которым следует тралить
iIndent = 10; // отступ от тени бара, на котором размещается стоплосс
UseBU=true; // перевод в безубыток если трайлинг стоп не используется
UseBU2=false; // перевод в стопа на цену открытия+стоплос если цена достигла открытие+2*стоплос
BUPips = 20; // Сколько пунктов взять + к безубытку
UseCloseHalf=false; // закрытие половины позиции при переводе в BU
NoClose=false; // Не закрывать ордера в конце недели



Версия, которую разместил test13:
http://tlap.com/forum/laboratoriya-profitfx/24/open-source-sovetnik-po-ts-n4-lazy-trader/4083/?do=findComment&comment=69110
Параметры советника:
Спойлер


lot - лот
Steep - отступ от максимума и минимума искомой свечи (200 для 5 знаков, 20 для 4 знаков)
Profit_factor - во сколько раз TakeProfit больше StopLoss (по умолчанию 3)
TralLevel - Перевод БУ: при достижении х1 - БУ 0, при достижении х2 - БУ х1 и т.д.
MinSizeCandle - Минимальный размер свечи
MaxSizeCandle - Максимальный размер свечи
CloseStopOrderByTP - Удалять отложный ордер, если цена достигла уровня ТП (БУ) противоположной сделки.
Переводит в БУ по достижении х1 х2 х3...



то же самое + магик от Vasgenich:
http://tlap.com/forum/laboratoriya-profitfx/24/open-source-sovetnik-po-ts-n4-lazy-trader/4083/?do=findComment&comment=69129


Мониторинг в Роботесте

(используется мод 1_LT0043 от Foxonn)

LazyTrader_v1-1.mq4
1_LT0043.rar
Тесты_советника_1_LT0043_по_паре_GBPJPY_H4_c_2000-2017.rar

Изменено пользователем Pavel888
  • Лайк 27
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 313
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Предлагаю в данной ветке проводить разработку, обсуждение и тестирование советника по ТС "Lazy Trader". Система находится здесь: http://tradelikeapro.ru/sistema-lazy-trader/ Последняя версия советн

Перейти

Мод 1_LT0043 от Foxonn поставлен в Роботест.

Перейти

Сделал тесты советника 1_LT0043 с 2000 года по июль 2016 по паре GBPJPY H4 спред 10, результаты тестирования находятся в архиве под постом. Также приложу сам тестируемый советник и сет к нему. 1_

Перейти
[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

В чем главное назначение данного советника, торговля или же проверка прибыльности системы на истории?

  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано


В чем главное назначение данного советника, торговля или же проверка прибыльности системы на истории?



Планируется сначала тестить сову, до ума доводить, а потом - в бой :)
так с ТС "начало" произошло, очень хороший пример получился.


Добавлено: 22-04-2013 10:39:28


Так в теме стратегии кто то вроде уже выложил сову????



сова пока в стадии написания, должна скоро быть.
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

8 пункт, мани менеджмент, было бы неплохо сделать на выбор - фиксированный лот или процент от баланса депозита

Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Ну так стоп, мы и договорились взять за основу советник "Начало" и переделать его для этой стратегии...
Вот и напишите сюда что там лишнее, а что нужно добавить... т.к. стратегии действительно очень похожи...

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано


Ну так стоп, мы и договорились взять за основу советник "Начало" и переделать его для этой стратегии...
Вот и напишите сюда что там лишнее, а что нужно добавить... т.к. стратегии действительно очень похожи...



это просто написано много, а по сути версия 1.7. из ТС Начало.
надо добавить день начала и окончания работы сова, и коэффициент соотношения СЛ/ТП.

Добавлено: 22-04-2013 12:57:37

кстати, а вот этот TakeProfitK из Начала - не этот ли коэффициент и есть СЛ/ТП?

тогда только день начала и окончания работы надо добавить.

остальное напишу позже :) Изменено пользователем Fanmeld
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Еще надо ввести пункт умножения лота.
Т.е. если цена заиграла и выбила, к примеру, первый бай, то выставляем второй лот умноженный на кэф. который указываем в сове. Вот такой Мартин.
Для тех кто не любит такое ставим "0" и ордер, в данном случае на бай, не откроется.

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Можно попробовать смотреть сигнальную свечу не по времени, а просто первую закрывшся после выходных.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано


Можно попробовать смотреть сигнальную свечу не по времени, а просто первую закрывшся после выходных.



вот эта идея хорошая, я на ФФ видел - выбор, либо первая свеча сигнальная, либо вторая. Этим, кстати, решается вопрос о переводе времени на зимнее и летнее.
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано


Еще нужны параметры - минимальный и максимальный размер стопа



для чего?
и как с этим "жить"? :)
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Взял потестить сову из основной ветки, от уважаемых litra и SNZHikari,
ту, что с мартингейлом. Показала не плохие результаты,
но на визуальном тестировании видно, что постоянно выбивает безубыток из за
резких разворотов цены. На графике прибыли длинные ровные "полки".
Хотя, хоть что нибудь, но в эти моменты и можно было заработать.
Приделал к версии с мартингейлом трейлинг, уровень которого выставляется не по пунктово,
а автоматически по уровню свечей с отступом на N свечей от "настоящего" времени.
В результате, сова уже вполне имеет право на жизнь и тестирование как минимум на демо,
остаётся ввести обработку ошибок.
Тест EURJPY H4 с 01.2012 по 21.04.2013, с депо всего 100.

LazyTrader_martin_trailing.mq4
TesterGraph.gif

Изменено пользователем zilibob4ik
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано



Еще нужны параметры - минимальный и максимальный размер стопа



для чего?
и как с этим "жить"? :)


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

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Итак, взяли за основу советник "Начало", подкрутили гайки, добавили фичи, и вот результат:

extern double   FixedLot        = 0.1;   // Фиксированный лот, если 0, то рассчёт по ММ
extern double LotsFor1000 = 0.1; // ММ, объём(лот) на 1000 депозита (валюта не имеет значения)
extern double TakeProfitK = 1; // TakeProfit - коеффициент, расстояние между отложками,умноженному на TakeProfitK
extern double StopLossK = 1; // StopLoss - коеффициент, расстояние между отложками,умноженному на StopLossK
extern double UseMartingale = true; // Использовать Мартингейл
extern double Multiplier = 2; // Множитель объёмов, если используется мартингейл
//+------------------------------------------------------------------+
extern int StartHour = 8; // Начало работы (час)
extern int EndHour = 13; // Завершение работы (час)
extern int MaxPips = 30; // Максимальная длина свечи в пунктах, при которой разрешено ставить отложки
extern bool CloseByTime = false; // закрывать по времени, если false, то по трейлингу
extern int CloseHour = 15; // Закрывать открытые ордера
extern int Indent = 15; // Отступ от цены для установки отложенных ордеров
extern bool DeleteOpposite = false; // Удалять вторую откложку, если открылся 1-й ордер
extern bool SetLimits = true; // Ставить лимитные ордера, вместо стоповых
//+------------------------------------------------------------------+
extern string LimitLoss = " ========= Безубыток ========";
extern int LossLimit = 30; // Безубыток
extern int LossPoints = 2; // доп. рункты для безубытка
//+------------------------------------------------------------------+
extern string Trail = " ========= Trailing =========";
extern bool ProfitTrailing = false; // Тралить только профит
extern int TrailingStop = 15; // Фиксированный размер трала
extern int TrailingStep = 2; // Шаг трала
extern bool UseSound = true; // Использовать звуковой сигнал
extern string NameFileSound = "expert.wav"; // Наименование звукового файла
//+------------------------------------------------------------------+
extern int Magic = 123; // Магический номер ордеров
extern string comment = "LazyTrader v1.0"; // Комментарий ордеров
extern int Slippage = 5; // Проскальзывание ордера
//+------------------------------------------------------------------+


Мартингейл тут "мягкий", можно даже сказать нежный :)
Советник не будет до посинения увеличивать лот, а просто начнёт торговать повышенным, пока баланс не придёт к норме...

Также вместо стоповых ордеров можно ставить лимитные:
extern bool     SetLimits       = true;  // Ставить лимитные ордера, вместо стоповых

результат где-то даже лучше...

Параметры подбирайте сами, выставлено абсолютно наобум...

Тест фунта на Н1 за 2013

LazyTrader_v1-0.mq4

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано


А настройки дня начала и конца?



а по русски вопрос задать?
чего "начала"? какого конца?
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано


Насчет мартина не уверен что он тут нужен , тут вся прелесть в надежности и простоте.


Ну так надёжность и простота не меняется, стратегия остаётся не изменна, немного меняется ММ,
но согласитесь, люди занимаются форексом в первую очередь не из за творческого энтузиазма,
а из за возможности получить прибыль.
Если в процессе получения прибыли есть вероятность получить и убытки,
то почему бы не воспользоваться методом, позволяющим компенсировать эти убытки?




Добавлено: 23-04-2013 05:55:07


А настройки дня начала и конца?


litra наверное имел ввиду - Начинаем торговать в понедельник рано утром, закрываем всё открытое в пятницу вечером.
Ну и в настройках соотв начало торгов, и закрытие всего.
(хотя, имхо, эти параметры как раз и неизменны по стратегии) Изменено пользователем zilibob4ik
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано
xbms, вот бы ещё "день открытия торгов" и "день закрытия торгов" прикрутить :)

ЗЫ - :-? меня терзают смутные сомненья... Вроде на пробой должно нам идти в понедельник спозаранку x_x

11111.JPG

Изменено пользователем 00000
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Первая версия советника и описание настроек помещены в шапку темы.

Добавление параметров "день открытия торгов" и "день закрытия торгов"
ожидается в ближайшие дни.

Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Здравсвуйте уважаемые,можно ли добавит функцию в советник,чтобы при достжении ТП скажем в 1,5 включался трейлинг,или трейлинг удавка.Спасибо.

Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Не пойму вот этот параметр, что он значит?
extern int CloseHour = 15; // Закрывать открытые ордера

Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано


Не пойму вот этот параметр, что он значит?
extern int CloseHour = 15; // Закрывать открытые ордера



время принудительного закрытия всех открытых ордеров.
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано



Не пойму вот этот параметр, что он значит?
extern int CloseHour = 15; // Закрывать открытые ордера



время принудительного закрытия всех открытых ордеров.

Ну так есть же вот эти параметры, время открытия и время закрытия, зачем ещё один, объясните пожалуйста

Добавлено: 23-04-2013 16:14:21




Не пойму вот этот параметр, что он значит?
extern int CloseHour = 15; // Закрывать открытые ордера



время принудительного закрытия всех открытых ордеров.

Ну так есть же вот эти параметры, время открытия и время закрытия, зачем ещё один, объясните пожалуйста

Забыл добавить
extern int StartHour = 8; // Начало работы (час)
extern int EndHour = 13; // Завершение работы (час)
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] по ТС [Н4] Lazy Trad… Опубликовано

Продолжаем коллективную разработку
Что бы не путаться с Совой уважаемого xbms
Назвал нашу VeryLazyTrader
Реализован весь бред который был подложен на форуме.
Сова не имеет обработки ошибок, работает с 3х значными котировками по ене
Для правильной работы мартина, должна быть в единственном экземпляре.
Все значения в новых пунктах
Возможно в дальнейшем по мере доработки все ограничения будут убраны.
extern int Indent=200; Отступ в от теней сигнальной свечи
extern int IndentSL=0; Сдвигает стоплосс на заданное число пунктов относительно рекомендованного
extern bool UseFixIndent=false; Включить Фиксированное выставление ордеров
extern int FixIndent=500; Не дожедаясь закрытия первой свечи выставляет отложки на данном расстоянии
extern int NoTrade=1500; Свечи больше заданного размера не считаются сигнальными
extern bool Use2candle=true; Использовать в качестве сигнальной вторую свечу если первая больше NoTrade
extern bool FixLot=false; Использовать фиксированный лот
extern double Lot=0.25; Фиксированый лот если FixLot=true
extern double LotNa10000=0.25; Рассчетный лот на 10000 едениц баланса если FixLot=false
extern bool FairMM=false; Включает "Справедливый" ММ
extern bool FairMartin=false; "Справедливый" ММ рассчитывается после домножения Мартином
extern int Fair=1000; Лот вычесляется по системе лот*(Fair/стоплос)
extern int MinSL=0; Минимальный Стоплос
extern int MaxSL=10000; Максимальный Стоплос
extern double TakeProfitK=3; Отношение ТейкПрофит к СтопЛосс
extern bool UseMartin=true; Использовать Мартенгейл
extern double LotMult=1.3; Множетель Лота для Мартина
extern double balans=0; Включается Мартин пока Баланс не станет равен этому значению.
extern int StartHour=4; Час начала торгов сигнальной будет являться предыдущая 4х часовая свеча.
extern int StartDay=1; День начала торгов
extern int CloseHour=22; Час окончания торгов
extern int CloseDay=5; День окончания торгов
extern int Magic=1221123; Магик
extern int Sleepage=10; Проскальзывание
extern bool AITrailing = true; Использовать Трайлинг стоп (работает не по пунктам, а по свечкам)
extern bool bTrlinloss = false; Использовать трайлинг стоп до того как перешли в безубыток
extern int iTmfrm=60; период, по барам которого следует тралить (1, 5, 15, 30, 60, 240, 1440, 10080, 43200)
extern int iBars_n = 3; кол-во баров, по которым следует тралить
extern int iIndent = 10; отступ от тени бара, на котором размещается стоплосс
extern bool UseBU=true; перевод в безубыток если трайлинг стоп не используется
extern bool UseBU2=false; перевод в стопа на цену открытия+стоплос если цена достигла открытие+2*стоплос

Если что то не понятно спрашивайте.
Просьба если кто-то в процессе тестов выявит ошибки, полезность или безполезность параметров поделится своими результатами.

Добавлено: FixIndent работает неправильно сейчас буду исправлять
Добавлено2: Исправлено.

VeryLazyTrader_v0.1.mq4

Изменено пользователем SNZHikari
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • ×
    ×
    • Создать...