[open source] [Советник] Setka Trader Mod (модификация)

От Abb1963, 24 декабря, 2012 в Лаборатория ProfitFX

Автор#1

Есть интересная разработка, основанная на базе исходного кода первой версии Forex Setka Trader.
Советник работает в обе стороны рынка, может работать одновременно сериями ордеров в покупку и продажу,
используя настраиваемые сигналы нескольких индикаторов на различных таймфреймах:
EMA, CCI, RSI , АС+АО, по ценам закрытия последних баров (как в исходном коде).
ММ: используются не фиксированные лоты, а % риска в сделке от текущего уровня эквити.
В качестве ограничения риска используется понятие максимального и минимального риска в сделке в % от капитала,
а так же ограничение на открытие последующих колен сетки, если они не подтверждены выбранными сигналами.
ТП так же не фиксированные, используется алгоритм увеличения шага сетки в арифметической или геометрической прогрессии по задаваемым коэффициентам.
Реализована полноценная индикация всех параметров и сигналов.
Тестирование по GBPUSD за период с 2008 по 2012 год с оптимальными параметрами показало прохождение тестов на всех сильных трендах.
Результат за 2012 год:
Баров в истории 23168
Смоделировано тиков 45336
Начальный депозит 10000.00
Чистая прибыль 106522.47
Общая прибыль 135435.87
Общий убыток -28913.40
Прибыльность 4.68
Матожидание выигрыша 298.38
Абсолютная просадка 5961.13
Максимальная просадка 21009.83 (25.01%)
Относительная просадка 68.49% (8777.36)
Всего сделок 357

График:

Спойлер



Кому интересна данная разработка, обращайтесь.

Актуальная версия: FST ABB_1_15.mq4
http://zalil.ru/34281598
Последняя версия FST 1.17, в которой реализовано несколько доработок, выложена здесь: http://www.sendspace.com/file/7xhg8c

Реквизиты для желающих отблагодарить автора:
Спойлер

WWZ: Z730800127573
WMR: R308819727417
QIWI: +79243271726



Советник распространяется в исходном коде.
Автор советника не несёт ответственности за результаты работы советника на реальных счетах.
Денежные вознаграждения не налагают на автора никаких обязательств перед спонсорами.

Forex_Setka_Trader_ABB_1_15.mq4181 скач.

Изменено 10 июля, 2017 пользователем Pavel888

#2
Выделил в отдельную тему.
#3

Мне кажется гон или вылизанное тестирование на истории.

Автор#4

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

extern bool UseMAGIC = FALSE; // 1 - учитываем только ордера, открытые советником, 0 - учитываем все ордера
extern string t0 = "======== Основные параметры ========";
extern double MinRisk = 2; // Риск в сделке на первом колене % от капитала (при ММ=1)
extern double MaxRisk = 20; // Максимальный риск в сделке % от капитала (при ММ=1)
extern double MinRiskExponent = 1; // Коэффициент увеличения минимального риска по сигналам МА
extern double MaxRiskExponent = 1; // Коэффициент увеличения максимального риска по сигналам МА
extern int MaxOrders = 14; // количество колен
extern int MaxOrdersStopNextStep= 8; // Максимальное колено, после которого не открываются следующие, если сигналы не совпадают
extern double MultiLotsFactor = 1.5; // К-т увеличения лота
extern double StepOrders = 12.0; // Шаг ордеров
extern double TakeProfit = 26.0; // ТП по умолчанию
extern double Slippage = 3.0;
extern string t1 = "============ Шаг сетки =============";
extern bool Grid_Ariphmetic = TRUE; //арифметический шар сетки / TP - нет
extern bool Grid_Multiplier = FALSE; //шаг умножением
extern double Grid_Ratio = 5; //коэффициент увеличения шага сетки
extern int MagicNumber = 200;
extern string t2 = "============== Сигналы =============";
extern bool UseSignal_MA = TRUE; //использовать сигналы по МА
extern int TimeFrame_MA = 240; // Рабочий таймфрейм для определения направления по MA
extern bool UseSignal_CCI = FALSE; // Фильтр входа по CCI.
extern int TimeFrame_CCI = 15; // Рабочий таймфрейм для определения направления по CCI
extern bool UseSignal_RSI = TRUE; // Фильтр входа по RSI.
extern int TimeFrame_RSI = 15; // Рабочий таймфрейм для определения направления по RSI
extern bool UseSignal_Bars = FALSE; //использовать сигналы по ценам закрытия баров
extern int TimeFrame_Bars = 15; // Рабочий таймфрейм для определения направления по ценам закрытия баров
extern bool UseSignal_AC_AO = FALSE; //использовать сигналы по индикаторам AC AO
extern int TimeFrame_AC_AO = 15; // Рабочий таймфрейм для определения направления по индикаторам AC AO
extern string t3 = "======= Параметры индикаторов ======";
extern int Period_MA1 = 21; // Период расчётной МА1
extern int Period_MA2 = 55; // Период расчётной МА2
extern int Period_MA3 = 200; // Период расчётной МА3
extern int Period_CCI = 16; // Период CCI фильтра.
extern int Filter_CCI_Min = -200; // Минимальный уровень CCI фильтра - СИГНАЛ в BUY
extern int Filter_CCI_Max = 200; // Максимальный уровень CCI фильтра - СИГНАЛ в SELL
extern int Period_RSI = 14; // Период RSI фильтра.
extern bool Logic_RSI = TRUE; // Логика работы RSI: TRUE -> Period_RSI Filter_RSI_Max - SELL
// FALSE -> Period_RSI // Period_RSI > Filter_RSI_Min, и если Period_RSI падает - SELL
extern int Filter_RSI_Min = 30; // Минимальный уровень RSI фильтра
extern int Filter_RSI_Max = 70; // Максимальный уровень RSI фильтра
extern string t4 = "============ Трейлинг ==============";
extern bool UseTrailing = FALSE;
extern double TrailStart = 38.0;
extern double TrailStop = 18.0;
extern string t5 = "====== Защита от стопаута ==========";
extern bool SafeEquityStopOut = FALSE; // Если 1 - закрываем убыточные позиции, если сумма убытка по всем открытым позициям превышает баланс на dMaxRelativeDrawDown %
extern double SafeEquityRisk = 40; // Максимальный дродаун Эквити в % от Баланса, после которого все убыточные закрываются
int iCloseAllLossesByDrawDown = 1; // Если 1 - закрываем все убыточные позиции (0 - по одной), если сумма убытка по всем открытым позициям превышает баланс на dMaxRelativeDrawDown %
extern string t6 = "====== Отображение информации ======";
extern bool IndicationAll = TRUE; // Вкл ВСЕЙ индикации
extern bool IndicationTopLeft = TRUE; // Вкл индикации в левом верхнем углу (P/L за периоды)
extern bool IndicationTopRight = FALSE; // Вкл индикации в правом верхнем углу (деньги)
extern bool IndicationBottomLeft = TRUE; // Вкл индикации в левом нижнем углу (основные параметры)
extern bool IndicationBottomRight= TRUE; // Вкл индикации в правом нижнем углу (открытые позиции)
extern int FontSize = 10; // Размер шрифта индикации
extern string t7 = "========= Настройка цветов =========";
extern bool UseColorBlackFon = TRUE; // Настройки цветов для темного фона
extern color ColorText = Silver; // Цвет текста
extern color ColorDemo = DarkTurquoise; // Цвет текста подписи демо-счета
extern color ColorReal = MediumSpringGreen; // Цвет текста подписи реального счета
extern color ColorProfit = LimeGreen; // Цвет прибыли
extern color ColorLoss = OrangeRed; // Цвет убытка
extern color СolorNeededLong = DeepSkyBlue; // Цвет текста нехватки ордеров в BUY
extern color СolorNeededShort = DeepPink; // Цвет текста нехватки ордеров в SELL
extern color СolorFullLock = LimeGreen; // Цвет текста BUY = SELL
extern string t8= "==== Индикатор прибыли i-Profit ====";
extern bool lCalcCurrentSymbol = TRUE; // 1 - учитываем только ордера по текущему символу, 0 - учитываем все ордера
extern int iCalcPercentProfit = 5; // Расчёт процента прибыли относительно:
// 0 - текущего баланса
// 1 - баланса на начало дня
// 2 - баланса на начало недели
// 3 - баланса на начало месяца
// 4 - баланса на начало квартала
// 5 - баланса на начало года
// 6 - расчет от суммы депозитов (без учета выводов средств) - моя доработка
extern int ShiftRow = 42; // Смещение текста по вертикали
extern int StepRow = 12; // Шаг смещения текста по вертикали
extern int ShiftColumn1 = 5; //130; // Координата X первой колонки
extern int ShiftColumn2 = 105; //280; // Координата X второй колонки
extern int ShiftColumn3 = 170; //340; // Координата X третьей колонки

Вид экрана терминала при работе советника:

Terminal_FST_1_09_2012_12_25_10-20.JPG

#5

Интересная идея, и похоже автор много времени потратил на ее разработку, я бы взял потестить. А почему автор не хочет выложить советник в свободный доступ как все исторические моды?

Автор#6

Советник находится в стадии разработки и тестирования на демо и мини-реалах, код до конца не проверен,
поэтому пока воздерживаюсь от выкладывания в общий доступ исходный код.

Выкладываю ex4 версию 1.11 для тестирования.
Параметры оптимизированы под GBPUSD на M15

Мысли и пожелания по поводу доработки принимаются.

FST_ABB_1_11.ex4181 скач.

#7
Abb1963
+1 в репу, лично от меня. А можете скинуть мониторинги демо?
#8

советую автору обратить посмотреть на Mod M6 от армсофта, там поправлены некоторые ошибки исходной версии, возможно, в качестве исходной базы для изменений он окажется полезным))

Автор#9

Версию Mod M6 от армсофта я смотрел, от ошибок первой версии FST вроде избавился при разработке.
О каких ошибках идет речь?

#10


Версию Mod M6 от армсофта я смотрел, от ошибок первой версии FST вроде избавился при разработке.
О каких ошибках идет речь?


в 1-м посте темы там написано
Автор#11

Выложил исправленную версию 1.11.1, версия 1.11 не работала в некоторых ДЦ

FST_ABB_1_11_1.ex4186 скач.

#12


Выложил исправленную версию 1.11.1, версия 1.11 не работала в некоторых ДЦ



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

P.S. илан, он и в африке илан... :)
#13

По поводу 2-го выложенного Вами файла. На каких условиях Вы предоставляете рабочую версию? Если что, то коммерция на форуме запрещена.

#14

кто-нибудь прогонял через тестер?

#15

У меня не завелось.
+ на скрине автора крест возле названия сова. Всеже я продолжаю сомневаться в реальности. На скрине скорее шаблон/стратегия с насаженным не работающим советником. Но это чисто из скрина.
Бэктест есть, но мониторинга нет, подробностей нет, реального советника тоже нет.

#16

Тест за 2012 год во вложении.Отличие в настройках:; UseTrailing=true; TrailStart=30; TrailStop=5 и Тейк профит чтобы не мешал тралу поставил 200 пунктов

StrategyTester.rar115 скач.

#17

Может я внесу ясность, но чего вы в конце концов хотите?

Идей? Выкладывайте сов, его распилят знатоки и будут давать советы.
Чтоб купили? Во первых коммерция тут запрещена, здесь узкий круг лиц и все для своих безвозмездно
Похвастаться? Ну да, слюнки попускали на мартина.

Скорее всего вы его просто не хотите давать прикрываясь "волнением" за использование. Оно и понятно, своя разработка. Если так и есть - скажите и лавочку свернут чтоб зря не обнадеживать людей.

#18

Прибыльность нормальная такая. Осталось прогнать на качестве 99% и на более продолжительном периоде, если попрёт, то можно и оптимизацией заняться.

#19

исходник бы почитал

#20

Мда, автор Abb1963 назагадывал загадок...


Это не гон, а результат долгого и кропотливого анализа работы мартингейловых советников,
с целью устранить большие просадки и сливы депозитов, при неконтролируемом наращивании лотов, если вход в рынок был неудачным.



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

Но принципиально нового в боте я не вижу.
Это, скорее, качественный бот-носитель, бот-заготовка для навешивания дополнительных опций и реализации новых идей.
Хотя порознь опции бота (как и их совокупность) выглядит весьма и весьма продуманно и просто симпатично и, возможно, бота уже можно или скоро будет можно использовать в торговле как минимум на центовых счетах.
Бот, имхо, уже некий программный продукт, как минимум, в предкоммерческом состоянии.

Что касается сигналов на вход...
Вот кто бы мне еще рассказал каким должен быть сигнал на вход для контртрендового мартина...
5 индикаторов? Так они срабатывают раньше и вход в итоге все равно по машке и RSI - а остальные можно выкинуть...
200 и другие машки на н4? Извините, и как они сопрягаются с потиково работающим мартином? Имхо, никак - это другой ход времени.
Тренд пытаемся увидеть - наверно, глобальный? А они вообще есть нынче, тренды какие-нибудь вообще?!
Тем более что валютная война только начинается...
Не считаю себя великим трейдером, но полной адекватности таких сигналов на вход стратегии мартингейл не вижу.
А если сигналы на вход сомнительно адекватны, то о чем мы вообще тогда говорим?!...

Ну и по ММ, вычисляемому лоту и оперативному реинвестированию получаемой прибыли.
Вообще-то это нормально и даже, как по мне, достаточно грамотно и даже красиво.
Хотя, как по мне, единственно оправданная в мартинах схема реинвестирования есть ступенчатая: заработали Х денег (например, 3000-5000) - увеличили минимальный ордер на 0.01 лота.
Но об этом можно дискутировать.

И дело не в этом - а в том, что в тестах даже за год при оперативном реинвестировании мы видим Большую Рождественскую Сказку.
Потому что в реале мы, чаще всего, раз в месяц снимаем 50%-100% прибыли.
И реинвестировать тогда особо-то и нечего, а заработок, если есть, то вполне обычный.
Это не считая того, что на центовых счетах обычно есть ограничения по максимальному ордеру и/или еще и по сумме объемов открытых ордеров.
Сомневаюсь, что в боте это учитывается - а это может блокировать реинвестирование напрочь.
Хотя в тестере стратегий все без проблем - 1000% прибыли в год и никаких фиксаций убытков.
Как минимум, при реинвестировании прибыль за год из тестера надо делить, наверно, на 3-5 - имхо.
Это не считая того, что если в тесте за 2012 максимальная просадка 21000+, то кто знает сколько раз за год в реале на обычном депо сработала бы защита со списанием около 40% баланса - мы просто этого не знаем.
Только прошу понять меня правильно: я не говорю, что реинвест и рассчитываемый лот есть плохо - я говорю о том, что в тестах в тестере они показывают просто фигню.

Abb1963, без обид - я не критикую ваш продукт, как раз в этом у вас результат близкий к максимумам и мне он в общем весьма нравится.
Думаю, что и качество кода у вас на высоком уровне.
Как говорится, добро пожаловать на борт!

Ну а с реальными проблемами рынка/графика, индюков, мартинов как стратегии и тестера стратегий как моделировщика надо продолжать разбираться сообща...
О некоторых из них в данном посте я и написал.
#21

ждём ебилдов исходиков ))

Автор#22

Ну что ж, Старик, спасибо за такую оценку моего труда, Ваше мнение на этом форуме - очень веское, а так понял.

Реальной торговлей на рынке Форекс я занимаюсь с конца 2005 года.
Через многое прошел, многому научился на своем опыте, который был приобретен за эти годы огромным количеством слитых депозитов и потраченных времени и нервов. Первого своего советника я разработал еще в 2007 году, чтобы поучавствовать в чемпионате. Попытка была неудачной - мой эксперт не открыл тогда ни одной сделки.
Затем, в 2008 году, я решил написать своего скальпера, нигде его особо не афишируя, который позволял бы работать одновременно со множеством открытых позиций по разным парам в обе стороны, и приносить прибыль. В отдельные периоды рынка (флэт), этот советник показывал 2500-3000 п. прибыли в день, но на сильных трендах опять же сливал, или уходил в просадку.
Эта разработка продолжается до сих пор, но пока без особых успехов (финансовых).

После того, как я познакомился с мартингейловыми советниками типа Илана, и попробовал торговать с их помощью на реальных счетах, я понял как потенциал прибыли, которую такие советники приносят во флэте, так и огромные риски потерять все при сильных и непредсказуемых движениях рынка, какие случались в это лето и осень ( например 29.06.2012 днем на Азии, когда еврик за 10 минут улетел вверх на 220 п. - сам слил депозит, или в первую неделю июля сильный безоткатный тренд вниз по еврику на 460 п. убил очередной депозит, на котором работал Илан 1.47 по трем парам), и будут случаться дальше.

Было перепробовано много готовых советников, последним стал как раз Forex Setka Trader первой версии, которого нашел еще в июне, но стал его тестировать и использовать в торговле только недавно - в ноябре 2012 г.
Начальные лоты в таких советниках должны быть очень маленькими по сравнению с депозитом, чтобы соотношение риск/прибыль было нормальным. А это значит, что можно было расчитывать на реальную прибыль 20-30% в месяц при адекватных рисках.
Я поставил целью поднять минимальные риски в сделке до приемлемых значений (2-5% от капитала), чтобы даже на первых коленах прибыль была хорошей, и в то же время, при движении рынка против позиций, минимизовать возможные просадки. Цель по прибыли - 100-200% в месяц.
Разобрался с кодом сетки и доработал ее, с учетом своих наработок, в течение двух недель. Некоторые мысли взял с этого форума.

Замечание по поводу ММ: Только реинвестированием прибыли можно добиться хорошего результата в торговле (да и не только).
Начальный лот в моем советнике определяется не определенной цифрой, которая может быль или заниженной или завышенной,
а в % от текущего уровня маржи, что, по моему - правильно.
"Это нормально и даже, достаточно грамотно и даже красиво" - цитирую Старика.
Хотите снизить нагрузку на депозит - снижаете минимальный риск в сделке.
Хотите, чтобы не открывались дикие лоты - ограничиваете максимальный риск в сделке. При этом теряется прибыль на больших коленах (по сравнению опять же с исходной сеткой), но при этом уменьшается просадка и риск потерять все.

Что касается сигналов на вход...
Согласен, что 5 сигналов - это перебор. Просто я сначала тестировал различные сочетания тех или иных сигналов,
чтобы определить наиболее приемлемые как по отдельности, так и в комбинации друг с другом.
В итоге пришел к такому же выводу, что лучше всего работают именно тяжелая МА на H4 + RSI (ТФ не обязательно М15)
Хотя с применением CCI вместо RSI результаты немногим хуже. Сделок немного больше, просадка так же увеличивается,
но не все тренды проходятся по тестам с 2008 года с адекватными рисками (не менее 1% на первом колене).
С рисками 0,1%/10% и ниже практически с любыми комбинациями сигналов тесты проходятся. Главное - сигнал МА на H4 не отключать.
Выкинуть из кода лишние сигналы, это не проблема, но зато так есть свобода выбора, какими сигналами пользоваться, а какими нет.
Каждый может для себя подобрать оптимальную комбинацию. По разным парам, кстати, они могут сильно отличаться.

С замечанием по поводу того, что ничего принципиально нового в этом советнике нет, согласен.
Как было написано выше: "Илан - он и в Африке Илан :)"
Но все, опять же, познается в сравнении.
Хорошую стратегию можно безнадежно испортить неграмотным ММ,
и наоборот, умеючи, можно и из г... сделать конфетку :d

Вот такая исповедь получилась.
Надеюсь на понимание и дальнейшее плодотворное сотрудничество. b-)



#23

Господа у меня первая вылаженная версия тестируется а вторая не как не хочет в чем может быть дело кто подскажет?

#24


Каждый может для себя подобрать оптимальную комбинацию. По разным парам, кстати, они могут сильно отличаться.


И кому это надо? Как показал опыт, надо давать сразу готовую систему с сетами, настройками и инструкциями. Иначе система так и остаётся уделом энтузиастов.
#25

Совчерашнего дня не одной сделки x(

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

Перейти к списку тем
Форум · 2.0.20260627.0025