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,30,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 lotdecimal = 2; 2 - микролоты 0.01, 1 - мини лоты 0.1,
0 - нормальные лоты 1.
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
вообщем пипсовка получается, но на реале не прокатит, или реал надо какой нибудь ецн, не знаю как это будет
если настройки подобраны удачно при работе по тренду то получаем больше чем если бы мы просто работали удвоенным первоначальным лотом в обычном илане, а если неудчно то примерно так же
Качаем и косим бабло! Никого не слушайте! Ссылка на летитбит-это бесплатный файлообменик, смотрим внимательно на слово бесплатно нажимаем, вводим капчу и скачиваем.Ничего платить не надо!!!
Скачать
тут