Вторая тема по разработке советника для ТС Сёрфинг.
Отличия в функционале от первой темы
Название советника: EA_surf+Super_Trend
Год выпуска: 2013
Актуальная Версия: EA_surf+Super_Trend(12.12.2013)
Валютные пары: Основные
Таймфрейм: М15-Н4
Время торговли: Любое.
Описание последней версии
Описание:
1. Отложка выставляется при выполнение всех условий ТС Сёрфинг., на расстояние alpha от сигнальной свечи.
2. Отложка будет удалена, если цена отойдёт от неё на расстояние gamma.
3. В рынке одновременно может находиться не более Двух отложек, которые направленны в разные стороны.
4. СЛ вычисляется в момент открытия ордера(НЕ путать с установкой) по правилам ТС Сёрфинг, где delta дополнительный отступ для страховки, можно регулировать МАКСИМАЛЬНЫЙ SL параметром zeta.
5. Параметр multiply_SL отвечает за истинный размер СЛ, аналогично и multiply_TP.(Пример: в настройках по умолчанию имеем multiply_SL= 0.8 и multiply_TP = 2.5 получаем отношение СЛ к ТП: 2.5/0.8 = 3.125)
6. Вынес уровни RSI(10) во внешние параметры, можно менять-тестить.(По ТС Сёрфинг для бая выше 55, для села ниже 45)
7. Закрытие части ордера - полностью изменено. Теперь его можно включить\выключить, закрывается лот в %(Close_Part_Lots) от текущего лота, при достижении уровня прибыли в First_TP пунктов, и значение SL переносится на расстояние Level_BE от цены открытия, но не дальше(!!!) изначального SL.(Например, можно закрыть 50% прибыли на расстоянии в 20п, и перенести СЛ на -20п от цены открытия(при условии что изначально СЛ был >20п) фактически ордер находится в рынке, с отрицательным СЛ, но уже в БУ).
8. Трал имеет 4 функции: 1. хай\лоу, 2. фраклаты, 3. параболик 4.стандартный. Соответственно, чтобы включить нужный тип трала, выбираем цифру(если 0 - трал не работает) если нужен стандартный, то просто пишем кол-во пунктов. StepTrall - шаг трала, а indent отступ от фрактала\свечи\параболика.
9. Очень жаль, но переменная epsilon, которая отвечала за перенос ТП, чтобы не открывались сделки в конце импульса, канула в лету. Причин этому несколько, и главная из них трал. Чтобы вновь справиться с этой бедой, думаю что-нибуть из разряда фибо-сетки, или просто ограничение на максимально возможный ТП...но это уже совсем другая история...
ВАЖНО!!!
Tral_on - измеряется в пунктах, означает, что трал включиться через столько-то пунктов.
НЕ ПУТАТЬ С
TrailingStopProfit - измеряется так: 0. Трал отключён. 1. хай\лоу, 2. фраклаты, 3. параболик 4.стандартный. Отвечает за вид трала.
Не забывайте менять магики, если цепляете в одном терминале несколько копий советника!
По поводу ошибки, при настройках по умолчанию, у нас есть некоторая зависимость переменных, для корректной работы она должна быть вот такая:
зависимости переменных: OrderStopLoss()
Настройки советника.
extern string Advisor = "Настройки Советника";
extern int Magic = 123;
extern int slippage = 5;
extern double lots = 1;
extern string comment = "";
extern string def_alpha = "Отступ для отложки";
extern int alpha = 20;
extern string def_delta = "Отступ для стоплосса";
extern int delta = 20;
extern string def_gamma = "Кол-во пунктов жизни отложки";
extern int gamma = 100;
extern string def_zeta = "Максимальный StopLoss";
extern int zeta = 50;
extern string def_SL = "EMA_20 + delta";
extern double multiply_SL = 0.8;
extern double multiply_TP = 2.5;
extern string RSI_SMA = "Опции РСИ и сМА";
extern int level_rsi_buy = 55;
extern int level_rsi_sell = 45;
extern int period_rsi = 10;
extern int apply_rsi = 0;
extern int period_sma = 10;
extern int shift = 1;
extern string def_Close_Part = "Закрытие части ордера в % и БУ";//Close_Part_Lots > 0
extern bool Close_Part = false;
extern int Close_Part_Lots = 0;
extern int First_TP = 0;
extern int Level_BE = 0;
extern string trailing = "0-off 1-Candle 2-Fractals 3-Parabolic >3-pips";
extern string def_Tral_on = "Через сколько пунктов тралить сделки";
extern int Tral_on = 50;
extern string def_TrailingStopProfit = "Трал сделок";
extern int TrailingStopProfit = 3; // тралл прибыльных сделок, если 0 off
extern string def_StepTrall = "Шаг трала";
extern int StepTrall = 5; // шаг тралла - перемещать стоплосс не ближе чем StepTrall
extern string def_indent = "Отступ от фрактала\свечи\параболика";
extern int indent = 25; // отступ от фрактала свечи и др.
extern string def_Parabolic = "Настройки параболика";
extern double Step = 0.02;
extern double Maximum = 0.2;
Цели:
1. Добавление индикаторов, в качестве фильтра.
Ещё не интегрировано.
О дополнительных фильтрах.
1. Две ЕМА 21 и 55.
Если 21 выше/ниже 55 то открываемся только в данном направлении.
Если переплетены или очень близко друг к другу, то в обе стороны.
2. по мaшкам .применяю ЕМA 80 и 20
2. Оптимизация начального значения StopLoss'a.
3. Расширение рабочих инструментов и ТФ'ов.
4. Добавление среды для доливок по тренду, и/или использование подвижного TakeProfit'a.
5. Добавить возможность ММ и авто-расчет лота.
6. Первых 5 пунктов с головой хватит на начальном этапе построения.
Подведу промежуточный итог:
Добавил версию для папских тестов с 99% точности, на билде 432 >:d
Тема создана для тех, кто желает потестить, потыкать пальцем, и вообще для всех интересующихся.
В данный момент веду размышления по 4 пункту.
Всем заинтересованным!
Тестируйте, пожалуйста, малые ТФ с малым ТП и СЛ, интересно мнение, как будет отрабатывать трал.
EA_trading_surfing_v_005_20131023.ex4
test_for_bild_432_v005.ex4
EA_surf+Super_Trend12.12.2013.rar



