Разработка: http://TradeLikeAPro.ru
Год выпуска: 2013
Версия: 1.0
Валютные пары: любые
Описание: советник на основе Hull Moving Average
Всем привет!
На этот раз советник основе индикатора от Павла (см. http://tradelikeapro.ru/hull-moving-average/)
Тестирование проводил на паре EURUSD, ТФ- Н1, хотя Вы можете попробовать подобрать другой таймфрейм со своими настройками...
Под руками сейчас нет тиковых котировок, поэтому, если кому не лень, то просьба сделать прогон по тикам и выложить результаты.
Описание параметров:
extern string MM = " === Money management ===";
extern bool UseMM = true; // использовать-ли ММ
extern double LotsFor10000 = 1; // объём на 10000 депозита
extern double FixLot = 0.1; // если UseMM = false, то фикс. лот
extern int TakeProfit = 170; //
extern bool AutoSL = true; // Рассчитывать StopLoss автоматически?
extern int MaxSL = 50; // Максимальный стоп
extern int MinSL = 20; // Минимальный стоп
extern int SLBars = 10; // Кол-во баров для расчёта SL
extern int SLPips = 10; // Отступ от екстремума для расчёта SL
extern int StopLoss = 70; // Фиксированный стоп, при AutoSL = false
extern int FlatPips = 50; // Не открывать ордер, разница в цене между предыдущим ордером и текущим будет менее чем FlatPips
extern string comment = "HMA Expert v.1";
//+------------------------------------------------------------------+
extern int HourStart = 8; // входить в рынок при совпадении условий
extern int HourEnd = 24; // в часы
extern bool TradeMonday = true;
extern bool TradeTuesday = true;
extern bool TradeWednesday = true;
extern bool TradeThursday = true;
extern bool TradeFriday = true;
//+------------------------------------------------------------------+
extern string HMA = "HMA parameters";
extern int HMA_Period = 8;
extern int HMA_PriceType = 0;
extern int HMA_Method = 3;
extern bool NormalizeValues = TRUE;
extern int NormalizeDigitsPlus = 2;
extern int VerticalShift = 0;
//+------------------------------------------------------------------+
extern string Trail = " === Simple trailing ===";
extern bool UseTrailing = true;
extern int TrailingType = 1; // 0 - простой тралл, 1-по ATR, 2- по фракталам, 3-по MA, 4- по Price channel,
// 5-по теням, 6-по Баришпольцу, 7-ступенчатый, 8-удавка
extern int TrailingTF = 0; // 0-текущий, 1-М1, 2-М5, 3-М15, 4-М30, 5-Н1, 6-Н4, 7-D1, 8-W1, 9-MN1
extern string SimpleTrailing = "Simple traling parameters";
extern int Trailing_Stop = 20; // Trailing stop level
extern int Trailing_Step = 20; // Trailing step level
//+------------------------------------------------------------------+
extern string iAtrParams = "ATR trailing parameters";
extern int iAtr1_period = 5; // период первого ATR
extern int iAtr1_shift = 1; // сдвиг первого ATR
extern int iAtr2_period = 36; // период второго ATR
extern int iAtr2_shift = 1; // сдвиг второго ATR
extern double dCoeff = 1; // коэффициент, на который множим ATR, чтобы получить стоплосс
// (при coeff=1 стоп будер размещен на расстоянии в 1 ATR,
// при coeff=1.5 - на расстоянии в полтора ATR и т.д.)
extern bool bAtrTrLoss = false; // следует ли тралить на участке лоссов (между курсом стоплосса и открытия)
//+------------------------------------------------------------------+
extern string iFracParams = "Fractals trailing parameters";
extern int iFrktl_bars = 5; // кол-во баров во фрактале
extern int iFracIndent = 3; // отступ от тени бара, на котором размещается стоплосс
extern bool bFracTrLoss = false; // следует ли тралить на участке лоссов (между курсом стоплосса и открытия)
//+------------------------------------------------------------------+
extern string iMaParams = "MA trailing parameters";
extern int iMAPeriod = 21; // период МА (не меньше 2)
extern int iMAShift = 0; // сдвиг индикатора относительно ценового графика
extern int iMAMethod = 0; // метод усреднения (0 - MODE_SMA, 1 - MODE_EMA, 2 - MODE_SMMA,
// 3 - MODE_LWMA);
extern int iApplPrice = 0; // используемая цена (0 - PRICE_CLOSE, 1 - PRICE_OPEN,
// 2 - PRICE_HIGH, 3 - PRICE_LOW, 4 - PRICE_MEDIAN, 5 - PRICE_TYPICAL,
// 6 - PRICE_WEIGHTED)
extern int iShift = 1; // индекс получаемого значения из индикаторного буфера (сдвиг
// относительно текущего бара на указанное количество периодов назад)
extern int iMaIndent = 3; // отступ от тени бара, на котором размещается стоплосс
//+------------------------------------------------------------------+
extern string ipcParams = "Price channel trailing parameters";
extern int ipcBars_n = 20; // кол-во баров текущего графика, по которым строится ценовой канал
extern int ipcIndent = 3; // отступ от тени бара, на котором размещается стоплосс
//+------------------------------------------------------------------+
extern string iShParams = "Shadows trailing parameters";
extern int iShBars_n = 3; // кол-во баров, по которым следует тралить
extern int iShIndent = 3; // отступ от тени бара, на котором размещается стоплосс
extern bool bShadowTrLoss = false; // следует ли тралить на участке лоссов (между курсом стоплосса и открытия)
//+------------------------------------------------------------------+
extern string iBarishParams = "Barishpolc trailing parameters";
extern int iPf_level_1 = 10; // уровень профита (пунктов), при котором стоплосс переносим
// в безубыток + 1 пункт;
extern int iPf_level_2 = 20; // уровень профита (пунктов), при котором стоплосс переносим с +1 на
// расстояние pf_level_1 пунктов от курса открытия;
extern int iPf_level_3 = 30; // уровень профита (пунктов), при котором стоплосс переносим с pf_level_1
// на pf_level_2 пунктов от курса открытия (на этом действия функции
// заканчиваются);
extern int iLs_level_1 = 15; // расстояние от курса открытия в сторону "лосса", на котором будет
// установлен стоплосс при достижении профитом позиции +1 (т.е. при +1
// стоплосс будет поджат на ls_level_1);
extern int iLs_level_2 = 25; // расстояние от курса открытия в "лоссе", на котором будет установлен
// стоплосс при условии, что курс сначала опускался ниже ls_level_1, а
// потом поднялся выше (т.е. имели лосс, но он начал уменьшаться -
// недопустим его повторного увеличения);
extern int iLs_level_3 = 35; // расстояние от курса открытия "минусе", на котором будет установлен
// стоплосс при условии, что курс снижался ниже ls_level_2, а потом поднялся выше;
extern bool bTrBarLoss = false; // следует ли тралить на участке лоссов (между курсом стоплосса и открытия)
//+------------------------------------------------------------------+
extern string iStairsParams = "Stairs trailing parameters";
extern int iStTrldistance = 40; // расстояние от текущего курса (пунктов), на котором включается трейлинг, пунктов
extern int iStTrlstep = 10; // "шаг" изменения стоплосса (пунктов) (не меньше 1)
//+------------------------------------------------------------------+
extern string iUdavkaParams = "Udavka trailing parameters";
extern int iTrl_dist_1 = 30; // исходное расстояние трейлинга (пунктов) (не меньше
// MarketInfo(Symbol(),MODE_STOPLEVEL), больше trl_dist_2 и trl_dist_3);
extern int iLevel_1 = 50; // уровень профита (пунктов), при достижении которого дистанция трейлинга
// будет сокращена с trl_dist_1 до trl_dist_2 (меньше level_2; больше trl_dist_1);
extern int iTrl_dist_2 = 20; // расстояние трейлинга (пунктов) после достижения курсом уровня профита в
// level_1 пунктов (не меньше MarketInfo(Symbol(),MODE_STOPLEVEL));
extern int iLevel_2 = 70; // уровень профита (пунктов), при достижении которого дистанция трейлинга
// будет сокращена с trl_dist_2 до trl_dist_3 пунктов (больше trl_dist_1 и
// больше level_1);
extern int iTrl_dist_3 = 10; // расстояние трейлинга (пунктов) после достижения курсом уровня профита
// в level_2 пунктов (не меньше MarketInfo(Symbol(),MODE_STOPLEVEL)).
//+------------------------------------------------------------------+
extern int Magic = 20131112;
extern int Slippage = 5;
//+------------------------------------------------------------------+
Индикаторы для эксперта брать тут: http://tradelikeapro.ru/hull-moving-average/
HMA-EA_v1-1-Trailing.ex4
hma-expert.set
HMA-EA_v1-2-Trailing.ex4





