Отправлено 19 September 2010 - 17:52
Здравствуйте Necron. Нужна помощь в написании советника.
Вначале расскажу о самой системе.
Система основана на рулеточной системе ставок Д Аламбера. В случаи проигрыша ставка увеличивается на 1 единицу, а в случаи выигрыша уменьшается на 1 единицу. Если ставка 1 единица и наступает выигрыш, то ставка не меняется (у этой системы есть усовершенствованная модификация, но она не применима к форексу). Размер выигрыша и проигрыша должен быть одинаковым (стоп лосс = тейкпрофиту).
При количестве выигрышей 50% от всех ордеров, прибыль равна: P=W*V/2, где
P - прибыль
W - сумма выигрыша при сделке с одной единицей
V - общее количество орденов
Но это при условии, что сначала идут проигрыши, а потом выигрыши.
Существуют варианты, когда достаточно 40-46% профитных сделок чтобы оказаться в плюсе.
Например, если из 10 сделок 4 окажутся выигрышными (при начальной ставке 20 пунктов) мы окажемся в плюсе на 20 пунктов (-20-40+60-40+60+40-20-40-60+80=20).
Но чем больше серия ставок, тем больше необходим % выигрышных ордеров чтобы остаться в плюсе, например, если мы откроем 10 ордеровнам необходимо 40% выигрышей, 30 ордеров - 43%, 50 - 44%, 100 - 46%, 200 - 47%.
Так как у нас присутствует спред (возьмем его равным 2пунктам), то если открываться от балды с TP и SL = 50, то соотношение прибыльных и убыточных сделок будет 48%/52% (при условии что их будет бесконечно много, по теории больших чисел сделки будут стремиться к этому соотношению). Если TP и SL будут больше или спред будет меньше, то и соотношение прибыльных и убыточных сделок будет лучше. С этими параметрами надо поэкспериментировать.
Для того чтобы хоть немного повысить соотношение выигрышей к проигрышам, можно попробовать входить по какому либо индикатору (например, трендовому), либо другому правилу.
Может быть кто-нибудь посоветует индикатор, который бы помог сделать соотношение прибыльных и убыточных сделок хотя бы 50/50 (отыгрывал бы спред у рынка), с частыми входами и не большими тейком и стопом.
Так как в течение игры количество выигрышей будет меньшеколичества проигрышей (из-за спреда и других причин), то в процессе игрывеличина ставки будет расти. А этого допускать нельзя. Поэтому необходимо использовать условие сброса ставки (защитную функцию). Например, по условию положительности баланса в текущей серии.
Например: -1-2-3-4-5+6+5+4+3=3, сброс на начальную ставку. и т.д. Сбросы повышают устойчивость игровой системы в целом, но уменьшают её доходность.
Данный метод можно еще более обезопасить, например, поставить лимит ставок 10 единиц, т.е. ставка не может быть больше 10 единиц, еслиследующая ставка по правилам системы должны быть больше 10, то все равно ставить только 10.
Для данной стратегии также есть величина критической ставки, после достижения которой стратегия дает отрицательный прирост вскорости выигрыша. Данная ставка на рулетке равна 18 начальных единиц. Чему равна данная ставка на форекс я не знаю и формулу расчёта этой ставки я тоже незнаю, надо будет подбирать экспериментальным путём.
Так же можно сэкономить на спреде. Если нужно открыть следующую сделку в том же направлении что и предыдущая, не закрывать и открывать сделки по новой в том же направлении, а просто наращивать лот либо фиксировать прибыль по открытой сделке, закрывая только её часть.
Например:
Текущая сделка buy 0,5 лота (шаг 0,1 лота) ТП=20, СЛ=20,
Цена доходит до ТП и индикатор показывает, что нужно опять покупать, вместо того чтобы закрывать 0,5 лота и открывать 0,4 лота в ту же сторону, нужно зафиксировать прибыль по 0,1 лота (закрыть ордер частично), а на оставшиеся 0,4 лота выставляем ТП=+40, СЛ=0 от первоначального входа, дальше по аналогии, если опять цена доходит до ТП, закрываем 0,1 лота по ТП, а на оставшиеся 0,3 лота выставляем ТП=+60, СЛ=+20 от первоначального входа. Если в данный момент открыто 0,1 лота то прибыль не фиксируем, а просто передвигаем ТП и СЛ (ТП=+40, СЛ=0).
Если же цена доходит до СЛ и индикатор показывает, что нужно опять открываться в том же направлении, нужно просто докупить 0,1 лота к уже открытым 0,5 а ТП и СЛ по обоим ордерам установить на уровне ТП=+20, СЛ=-20 от открытия последней сделки.
Если индикатор показывает, что нужно открываться в противоположную сторону от последней сделки то действуем по системе: закрываем всю позицию полностью (если было открыто несколько позиций, то все позиции) и открываемся в обратном направлении объёмом, предусмотренным в правилах системы.
Тех.задание на написание советника.
Правила открытия сделки:
По трендовому индикатору TrendMagiс.
Повторюсь, может посоветуете другой более точный, так какTrendMagiс показал на тесте, что он ничуть не лучше обычного открытия на угад.
При смене тренда не нужно сразу же открывать противоположную сделку. В случае смены тренда все равно дожидаемся пока не закроется текущая сделка по тейку или стопу (то есть в один момент может быть открыта только одна сделка sell или buy).
Правила закрытиясделки: по SL/TP.
Управлениекапиталом:
В случае проигрыша следующая сделка открывается лотом увеличенным на 1 единицу, а в случаи выигрыша уменьшается на 1 единицу (если лот 1 единица и наступает выигрыш, то лот не меняется).
Когда совершается определенное количество сделок (кол-во устанавливается во входных параметрах) с момента запуска эксперта или с момента начала новой серии, то следующая сделка совершается лотом равным начальному.
В случае если лот текущей сделки увеличится до максимально уставленного во входных параметрах, то следующая сделка открывается лотом равным начальному и серия начинается заново.
При достижении заданного во входных параметрах уровня проигрыша или выигрыша начинаем серию с начала с начального лота.
Дополнительныепараметры:
Во входные параметры хотелось бы добавить возможность прекращения торговли в пятницу вечером, и возобновление торговли в понедельник с начального лота (новая серия). А так же реализовать алгоритм экономии спреда, описанный выше, сделать его отключаемым.
Входные параметры:
StartLot - Начальный лот = 0,1
Step - Изменение начального лота при выигрышеили проигрыше = 0,1
TP - Тейк профит = 20
SL - Стоп лосс = 20
MaxTrades- Максимальная серия сделок (при достижении возвращаемся к начальному лоту) =100
MaxLot1- Максимальный лот (при достижении возвращаемся к начальному лоту) = 2,0 (если= 0, то параметр отключен)
MaxLot2- Максимальный лот (при достижении прекращаем поднимать следующую ставку при проигрыше, но опускаем при выигрыше) = 1,0 (если = 0, то параметр отключен)
MaxLotProfit- Если текущий лот больше заданного в этом параметре лота, то начинаем серию сначала, как только достигнем положительного баланса по текущей серии сделок =1,0
TP_Series - Сброс размера лота на начальный и начало новой серии при достижении прибыли по текущей серии= 100 (пунктов) (со следующей сделки, текущая закрывается по TP даже придостижении прибыли в 100 пунктов)
SL_Series - Сброс размералота на начальный и начало новой серии при достижении убытка по текущей серии =100 (пунктов) (со следующей сделки, текущая закрывается по SL даже при достижении убытка в 100 пунктов)
FridayStopAt- Прекращение торговли в пятницу и возобновление торговли в понедельник с начального лота = 20.00 (Время прекращения торговли в пятницу, если значение = 0, то этот параметр отключен)
SpreadSaving - Функция экономии спреда = TRUE/FALSE
И настройки индикатора, по которому происходит открытие.