Форум трейдеров » Торговые роботы, советники, индикаторы » Ilan_RSI_mm_extr192_r
+ Подписаться
  1. 2,154
    Комментарии
    16
    Темы
    2928
    Репутация Pro
    Аватар для Онлайн  
    Мастер форумных наук

    6 Медалей

    Ilan_RSI_mm_extr192_r

    Ilan 19

    Отличия от предыдущей версии:
    + на 5 знаков сделать автоматом пересчет параметров (в помощь пользователям которые некорректно выставляют параметры в пунктах на 5 знаках)
    + сам подгружает котировки по всем ТФ, в тестере котировки должны быть подгружены и пересчитаны, в демо и реале, надо чуть подождать после запуска чтобы он сам подгрузил котировки
    + более корректное определение размера лота, убрал параметр lotdecimal (в помощь пользователям которые некорректно выставляют лот)
    + другой лок (на основе принципа качлей или лавины) сразу предупреждаю лок и то как он работает тестировал не долго, могут быть ошибки
    + возможно отключать индикаторы и торговать в одну сторону как хочеться
    (см. параметры FDir, IndOff1, IndOff2)

    советник можно ставит на любой график от м1 до н1
    для работы нужны индикаторы i-Regr и TrendMagic

    extern string с2= "Основные параметры";
    здесь все как в обычном илане, массивы значений нужны для тех кому не хватает функционала и хотел бы использовать разные пипстепы, разные лотэкспоненты, разные тейки на каждом шаге

    extern double LotExponent = 1.4; умножение лотов в серии по экспоненте для вывода в безубыток. первый лот 0.1, серия: 0.15, 0.26, 0.43 ...
    doublelearr[25]=1.3,1.4,1.5,1.6,1.7,2,2,2,2,1.3,1.3,1.3,1.3,1.3,1 .3,1.3,1.3,1.6,1.6,1.6,1.6,1.6,1.6,1.6 каждый шаг если LotExponent=0

    extern double TakeProfit = 30; минимальный тейк профит,
    если = 0 то используем массив значений тейков при установке колен
    int tparr[25]=10,10,10,10,20,30,30,30,30,30,30,30,30,30,30,30,3 0,10,10,10,10,10,10,10,10,10

    extern double PipStep = 30; шаг первого колена
    double psar[25]=70,110,110,110,110,110,110,110,110,110,110,110,90 ,90,90,90,90,90,170,180,190,200,
    200,200,200,200
    пипстепы если PipStep=0

    extern string c9 = "MM";
    extern double Lots = 0.1; теперь можно и микролоты 0.01 при этом если стоит 0.1 то следующий лот в серии будет 0.15
    extern double Risk = 0.5; первая сделка размером в % от депо, если = 0 то первая сделка открывается размером Lots

    Эти параметры нужны в том случае когда хотим на последних лотах не докупаться огромными лотами и у же фиксированными например 0,1 - 0,2 - 0,4 - 0,8 - 1,6 - 1,6 - 1,6 ...
    extern double LastTrade=100; после этого ордера размеры ордеров становяться = последнему открытому а тейк переносится в
    точку безубытка + lastradeprofit
    extern double TakeProfitLast = 10.0; минимальный тейк профит когда открыто сделок больше чем LastTrade
    extern double LasTradeSize=17; максимальный размер открытой сделки в % от депо, например при депо 10 000 размер последней позиции не больше 1 лота
    extern int MaxTrades = 50; максимально количество одновременно открытых ордеров

    extern string s11 ="Параметры сделок по тренду";
    эти параметры отвечают за работу советника когда идем докупаться (или пирамидинг) по тренду, Общий смысл таков что если NumTr = 2 то по тренду мы фактически идем удвоенным лотом, таким образом наиболее выгодныо при реализации данной идеи ставить максимальный первоначальный лот, небольшой множитель, минимальный шаг ТрендПС, и максимум NumTr (5-6), но если не угадали с выбором направления и начинаем усредняться как в обычном илане, то у нас висит приличный "якорь"
    extern double TrendPS = 11; шаг открытия колен по тренду,
    если =0 то по тренду не работаем, нельзя делать меньше или равным уровню стопов
    extern double ProfitPerc= 5; если по тренду накоплено прибыли более 10% депозита, то закрываем всю серию с прибылью
    extern double MinProfitPips =15; если у нас отрыта серия по тренду и цена пошла против нас, то закрываемся по стоплоссу, который расположен в + на уровне MinProfitPips от точки безубытка
    extern double MinProfitPipsOne =2; если у нас отрыта серия по тренду и цена пошла против нас, то закрываемся по стоплоссу, который расположен в + на уровне MinProfitPips от точки безубытка ???????
    extern double NumTr=2; сколько позиций оставлять если цена пошла не в нашу сторону
    extern int FDir = 2; принудительный выбор направления
    если = -1 открытие по сигналу индикатора локального тренда,
    если = 0 то первая сделка всегда и сразу открывается на бай,
    если=1 селл не ожидая условия на отркрытие и окончания бара,
    если =2 - то просто немедленно открыться, в зависимости от глобального тренда

    extern string c3= "Вспомогательные параметры";
    extern int MagicNumber = 54321; магик
    extern double slip = 3.0; проскальзывание
    extern double minslip =3;
    extern int ComOn=0; отключить вывод комментариев при =0

    extern double PercDown=0; т.е. если мы "зафиксировали" (т.е. цена уходила далеко не в нашем направлении) просадку на депозите по серии сделок больше 30 % от текущего баланса, то нам надо сматываться с рынка да побыстрее
    extern double PercClose=0; поэтому если мы дошли до 10 % просадки после 30 надо закрываться с таким минусом, дальше соотношение поддерживается, если на 60 % уходили в просадку, то закроемся при 20 % чтобы не пользоваться данной функцией надо установит эти параметры равными

    extern int ComOn=0; отключить вывод комментариев при =0

    extern string c4= "Параметры связанные с временем";
    extern int TFIlanX=0; таймфрейм на котором илан открывает сделки см. mper при = 5 - H1
    период свитчер
    extern int nH1=0; =3 после 3 сделки переключаемся на ТФ Н1
    extern int nH4=0; =5 после 5 сделки переключаемся на тф Н4

    extern string c8= "Параметры лока";
    кому надо и сам поставит лок и разрулит, но смысл такой: ставим лок если индикатор trendmagic показал другое направление чем серия илана, если лок выставили неудачно и цена пошла против лока, то выставляем новый локовый ордер в противоположенную сторону.
    вообщем на таком принципе (обчно наз. качели, лавина, реверсивный мартин) работают ряд экспертов типа хлопмастер, тудасюда, чебурашка, тупой
    extern double LockS=0; пытаемся локировать часть позиций и получить дополнительную прибыль, если =0 то не работает, если =0.5, то локируем 50% позиций серии
    extern int LMagN=689; магический номер для локовой позы
    extern int NumLockMin=10; после какого по счету колена открывать локовый ордер если индикатор глобального тренда изменил направление
    extern int NumLoc=15; после какого по счету колена открывать локовый ордер если количество ордеров просто стало большим
    extern int MaxDist=400; максимальное расстояние от первой сделки после которого так же открываем лок
    extern int LockProfitPerc=1; суммарный заработок в % от депозита при закрытии всех локовых ордеров и серии
    extern int koridor = 50; расстояние в через который лок переворачивается в пунктах
    extern double Lmul = 2; множитель второго и последующих локовых ордеров
    extern int MaxLockTrades = 4; максиммальное количество локовых ордеров
    extern int CCPeriod = 50; параметр трендового индикатора для открытия лока TrendMagic
    extern int ATRPeriod = 5; параметр трендового индикатора для открытия лока TrendMagic
    extern int TMTF = 7; таймфрейм на котором работает трендовый индикатор
    int TradeAfterLock = 0; // при =0 если у нас открылся лок, то мы перестаем торговать, = 1 продолжаем торговать

    extern string _tmp2_ = " --- i-Regr --- с большим периодом опеределяем глобальный тренд";
    по данному индикатору с этими настройками определяем "глобальный тренд" против которого никогда не открываемся (первая сделка)
    вообщем это и определяет сливаемость данного советника, если ошиблись и открылись не туда, то за 2000 пунктов сольемся
    (если без лока и вошли больше чем 5 % депо, на некотрых тестах и проходит) главное чтобы этим индикатором поймать разворот глобального тренда !
    для более гибкой работы можно делать период и таймфрейм меньше, например (параметры попорядку) 3, 1.5, 2, 0, 800, 5, 0

    extern bool IndOff1=false; // отключение индикатор при = TRUE
    extern int Regr.degree1 = 6; порядок регрессии
    extern double Regr.kstd1 = 5; ширина канала, если =0 то рисуется только средняя линия
    extern int kanal=2; вариант работы с границами канала, при =2 не открывааем позиции за границами канала, при =1 только за пределами одной границы, при = 0 не учитываем границы только измененгие основной линии регрессии
    int Regr.shift1 = 0; смещение относительно текущего бара
    extern int SPer = 800; период баров
    extern int TFS=7; таймфрейм на котором работает индикатор,
    extern int invert=0; // если = 0 то по тренду, если =1 то работаем против глобального тренда, можно использовать с локом,
    если лок размером больше суммы открытых позиций в серии, то теоретический при invert=1; мы всегда закроемся в +

    extern string _tmp3_ = " --- i-Regr --- с малым периодом";
    по данному индикатору с этими настройками мы докупаемся если цена пошла против нас, этот же индикатор используется при закрытии и открытии локовых позиций
    для более устойчивой работы можно увеличивать период и ТФ, например (параметры попорядку) 1, 3,1.5, 0, 800, 5

    extern bool IndOff2=false; // отключение индикатора при = TRUE
    extern int Regr.degree1mall = 3; порядок регрессии
    extern double Regr.kstd1mall = 1.5; // ширина канала, если =0 то рисуется только средняя линия
    int Regr.shift1mall = 0; смещение относительно текущего бара
    extern int SPermall = 150; период баров
    extern int TFSmall=3; таймфрейм на котором работает индикатор

    ннннннннннннннннннннннннн ннннннннннннннннннннннннн ннннннннннннннннннннннннн ннннннннннннннннннннннннн ннннннннн
    bool UseEquityStop = FALSE;
    double TotalEquityRisk = 20.0;
    bool UseTimeOut = FALSE;
    double MaxTradeOpenHours = 48.0;
    ннннннннннннннннннннннннн ннннннннннннннннннннннннн ннннннннннннннннннннннннн ннннннннннннннннннннннннн нннннннн

    extern string t2 = " параметры трейлинга"; кто пользуется трейлингом, пожалста ...
    extern int UseTrailingStop = 0; 0-не используем трал, 1 - ступенчатый трал, 2 - трал типа есмарт
    extern int ProfitTrailDist = 30; dec расстояние от точки безубытка, после которой включаем трал ------------------------------------------------------------------

    ТРЕЙЛИНГ СТАНДАРТНЫЙ-СТУПЕНЧАТЫЙ
    Функции передаётся тикет позиции, расстояние от курса открытия на котором трейлинг запускается (пунктов) и "шаг", с которым он переносится (пунктов)
    Пример: при +30 стоп на +10, при +40 - стоп на +20 и т.д.
    extern int TrailDist = 80; //dec расстояние на котором тянется стоплосс
    extern int TrailStep = 10; //dec модифицируем ордера каждые 5 пунктов
    extern int NumIT = 3; // после какого количества сделок включается трал
    extern double xtral=2; // означает что, расстояние от точки безубытка до стоплосса в xtral раз меньше чем от точки бу до цены, например цена ушла на 90 п в +, значит стоп на уровне 30 п в плюс переносим

    ************************************************** ***************************
    Комменты автора о параметрах MinProfitPips и MinProfitPipsOne

    .....пусть NumTr = 2 MinProfitPips = 10 и MinProfitPipsOne =2

    например, если у нас открылось три позиции по тренду (всегда открываемся одинаковым лотом)
    то когда две позиции зашли в минус (NumTr = 2), то третью закрывается с плюсом хотя бы в 2 (MinProfitPipsOne =2) пункта
    и получается две позиции у нас остаются открытыми против тренда почти всегда

    например, если у нас открылось 10 позиции по тренду (всегда открываемся одинаковым лотом)
    то у нас получается некоторая точка безубытка где то посередине трендовой серии,
    если рынок пошел против то в этом случае мы закрываем всю серию с плюсом в 10 п (MinProfitPips = 10)
    и получается у нас все закрылось с плюсом

    если делать шаг маленький наример 3 п, то получается даже на тестере прибыль больше в 2-3 раза при MinProfitPips = 2-3 и MinProfitPipsOne =2
    вообщем пипсовка получается, но на реале не прокатит, или реал надо какой нибудь ецн, не знаю как это будет

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


    Комменты автора о параметрах оптимизации

    советник этот давно уже пишу и переписываю, отдельные куски оптимизировал на разных стадиях и поскольку это тоже илан, то то что справедливо для обычного илана и для этого пойдет
    те кто иланом пользуются уже свой стиль выработали
    для пары евродоллар нормально работает с теми же параметрами что и обычный илан т.е.
    пипстеп 25-50 (30 наверное самое то )
    тейк 10-30 ( 20-30 )
    ТФ мне больше нравятся минутки, на часах можно работать и с меньшим шагом например 15-20, но рисково,
    поэтому можно использовать функцию
    extern int nH1=0; // =3 после 3 сделки переключаемся на ТФ Н1
    extern int nH4=0; // =5 после 5 сделки переключаемся на тф Н4
    следующее что можно погонять на оптимизации это параметры пипстепа по тренду
    extern double TrendPS = 11;
    extern double ProfitPerc= 5; - от 1 до 10 можно не оптить
    extern double MinProfitPips =15; - можно не трогать и оставить для малых TrendPS - 10 а для больших 15-20
    extern double MinProfitPipsOne =2; - от 2 до 10
    extern double NumTr=2;
    прогонял на оптимизации и получается смысл такой, что чем меньше шаг TrendPS и больше NumTr тем больше можно заработать, но при малых шагах все равно не открывается на реале, только на тестере и на демке так что TrendPS меньше 5 вообще смысла нет, при 7-15 самое то, мне кажется и зависит от скорости исполнения ордеров, при малых это пипсовка или скальпинг, те же правила и действуют
    если делать NumTr больше 4-5 то риски выше, это как якорь получается вначале тренда, так что 2-3 самое то

    следующее можно что можно оптить для каждой пары это параметры индикатора регрессии
    пробовал для нескольких пар прогонять по барам, результаты забавные в целом чем больше SPer тем более устойчивый получается, и Regr.kstd1 должна соответствовать SPer
    extern int Regr.degree1 = 3; // порядок регрессии - от 3
    extern double Regr.kstd1 = 1.5; // ширина канала, если =0 то рисуется только средняя линия
    extern int SPer = 800; // период баров
    их можно оптимизировать в советнике ilan1.6_reg_v1.3, все таки быстрее, а затем переносить настройки сюда, при этом этот советник менее устойчив но бывает более прибылен, короче я еще для себя не решил окончательно какой из сов лучше
    Вложения Вложения
    Недоступно! Pro 0
    Поделиться
    Просмотров: 7,494
  2. 2,154
    Комментарии
    16
    Темы
    2928
    Репутация Pro
    Аватар для Онлайн  
    Мастер форумных наук

    6 Медалей
    В архиве версия 193 (там же два индикатора и два отчета с тестера).
    Вложения Вложения
  3. 119
    Комментарии
    3
    Темы
    119
    Репутация Pro
     
    В начале пути

    2 Медалей
    Онлайн, а на чём основан принцип торговли этой штуки? Куча параметров, вроде все описаны, только, что она там внутри себя делает не ясно даже из кода. И она даже не заработала. Прогоняет график без единой сделки.
  4. 2,154
    Комментарии
    16
    Темы
    2928
    Репутация Pro
    Аватар для Онлайн  
    Мастер форумных наук

    6 Медалей
    Попробуй этого мода,принцип-это же МАРТИНГЕЙЛ:thumbsup_002:Только им можно рубануть на форе.Это же казино.Всё должно работать,пробуй.
    Закидываешь бота в эксперты,а индюки к индюкам.
    Вложения Вложения

Вверх
РегистрацияX

чтобы писать, читать, комментировать