MTS «EA_TrailingStop»
Советник торгует на пробой или на отскок от уровней цены, которые определяет по свечам фракталам или устанавливает их на заданном расстоянии от текущей цены. Переменная StartOrders определяет тип уровней на который будут выставлены отложенные ордера. По ближайшим фракталам, свечам или держит их на расстоянии в пунктах. (1-Candle 2-Fractals 3- ATR >3-по пунктам).
Пример:
StartOrders = 1 – советник поставит BuyStop на High одной из прошлых свечей (от StartCandle до EndCandle) (не ближе минимально возможного уровня STOPLEVEL). SellStop на Low одной из прошлых свечей.
Далее открытые ордера подхватываются тралом, который также может быть осуществлен не только с фиксированным значением в пунктах, но и по свечам или фракталам. Трал идет всегда только по портфельному профиту ордеров, от общего безубытка. Таким образом серии ордеров закрываются только при общем профите.
Пример:
TrailingStop = 2 – советник поставит стоплосс ордеров Sell на подходящий верхний фрактал (только если стоплосс можно установить ниже уровня безубытка ордеров Sell и не ближе минимально возможного уровня STOPLEVEL). Стоплосс для ордеров Buy по уровню нижнего фрактала, но не ниже уровня общего безубытка ордеров Buy.
Настройки советника:
extern bool BUY = true; // торговать extern bool SELL = true; // торговать extern string ______________________ = ""; extern string parameters_open_orders = "0-off 1-Candle 2-Fractals >2-п"; extern int startOrders_First = 2; // тип открытия первого ордера "-1-МА; 0-off; 1-Candle; 2-Fractals; >2-п"; extern int startOrders_Second = 1; // тип открытия последующих ордеров "-1-МА; 0-off; 1-Candle; 2-Fractals; >2-п"; extern int TF_Open_First = 15; // таймфрейм свечей или фракталов для открытия первого ордера extern int TF_Open_Second = 15; // таймфрейм свечей или фракталов для открытия усредняющего ордера (второго и последующих) extern int deltaOpen = 5; // отступ от фрактала или свечи при определении цены открытия ордера. (offset from the fractal or candles) extern string ____________________ = ""; extern int StepOrders_1 = 20; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_2 = 40; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_3 = 60; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_4 = 80; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_5 = 100; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_6 = 120; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_7 = 140; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_8 = 160; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_9 = 180; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_10 = 200; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_11 = 220; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern int StepOrders_12 = 250; // шаг - выставлять ордер не ближе чем Step (step Thrall, moving not less than Step n ) extern string ___________________ = "тралл одиночного ордера"; extern string parameters_single_trailing = "0-off 1-Candle 2-Fractals >2-п"; extern int single_trailingStop = 1; // тралл одиночного ордера, отключается, когда ордера перешли в портфельный тралл или безубыток extern int single_TF_Tralling = 15; // таймфрейм свечей или фракталов для тралла extern int single_deltaTralling = 0; // отступ от фрактала или свечи при определении стоплосса. (offset from the fractal or candles) extern int single_StepTralling = 2; // шаг - перемещать стоплосс не ближе чем Step (step Thrall, moving not less than Step n ) extern int single_DeltaProfit = 0; // минимальный уровень прибыли. (отступ от безубытка в пунктах extern bool TrallLoss = false; // тралл ордеров в убыточной зоне extern string __________________ = "Тралл по портфелю"; extern string parameters_trailing = "0-off 1-Candle 2-Fractals >2-п"; extern bool VirtualTS = false; // выставлять виртуальный или реальный trailingStop extern int trailingStop = 2; // тралл, если "0-off 1-Candle 2-Fractals >2-п"; extern int TF_Tralling = 15; // таймфрейм свечей или фракталов для тралла extern int deltaTralling = 0; // отступ от фрактала или свечи при определении стоплосса. (offset from the fractal or candles) extern int StepTralling = 1; // шаг - перемещать стоплосс не ближе чем Step (step Thrall, moving not less than Step n ) extern int DeltaProfit = 0; // минимальный уровень прибыли. (отступ от безубытка в пунктах extern string _________________ = ""; extern string parameters_NoLoss = "0-off 1-Candle 2-Fractals >2-п"; extern int NoLoss = 1; // тралл, если "0-off 1-Candle 2-Fractals >2-п"; extern int TF_NoLoss = 15; // таймфрейм свечей или фракталов для тралла extern int deltaNoLoss = 5; // отступ от фрактала или свечи при определении стоплосса. (offset from the fractal or candles) extern int ProfitNoLoss = 5; // минимальный уровень прибыли. (отступ от безубытка в пунктах extern string ________________ = ""; extern double StopLoss = 0; //начальный стоплосс, если "0-off 1-Candle 2-Fractals >2-п" extern int deltaStopLoss = 0; // отступ от фрактала или свечи при определении стоплосса. extern string _______________ = ""; extern bool VirtualTP = true; //выставлять виртуальный или реальный ТП extern double TakeProfit = 0; //закрывать все ордера при получении профита в пипсах 0 (откл) extern double ProfitStop = 0; //закрывать все ордера при получении общего профита в валюте депозита 0 (откл) extern double LossStop = 0; //закрывать все ордера при получении общего убытка в валюте депозита 0 (откл) extern double ProfitPercentStop = 10; //закрывать все ордера при получении общего профита в процентах от депозита 0 (откл) (работает только при наличии встречных ордеров) extern string ______________ = ""; extern double Line_Balance_1 = 1000; //первая координата линейки extern double Line_Lot_1 = 0.01; //первая координата линейки extern double Line_Balance_2 = 10000; //вторая координата линейки extern double Line_Lot_2 = 1; //вторая координата линейки extern double Line_Balance_3 = 100000; //третья координата линейки extern double Line_Lot_3 = 5; //третья координата линейки extern double MultiplyLot = 1.5; // умножать лот extern int OkrLot = 2; extern string ____________ = ""; extern int TimeStart = 0 , //ограничение времени работы советника TimeEnd = 24; //не открываем ордера и закрываем отложки если время не между TimeStart и TimeEnd extern string ___________ = ""; extern int StartCandle = 1; // первая свеча, которая учавствует в торговле extern int EndCandle = 5; // последняя свеча, которая учавствует в торговле extern string __________ = ""; extern int MaxOrders = 100; //ограничение кол-ва ордеров extern int slippage = 5; //Максимально допустимое отклонение цены для рыночных ордеров extern int Magic = -1; //если -1 то все магики extern bool DrawInfo = true; //Выводить или нет информацию на экран. extern bool DrawOrders = true; //Выводить или нет линии ордеров на экран. extern bool InfoLeft = true; //вывод информации слева/справа extern color TextColor = Aqua; //цвет текста extern color FonColor = DimGray; //цвет фона extern color RedColor = Red; //цвет - extern color GreenColor = Lime; //цвет + extern string comment = "Trailing Stop 25"; extern int Key = 182468; extern bool неУвелчиватьЛот = true; //начальный лот увеличивается в завсмости от кол-ва противоположных ордеров (лок) |
В последних версиях для расчета лота применена новая система «линейка лотов». Суть ее в следующем. Задается 3 координаты (баланс-лот) и в зависимости от текущего баланса определяется лот текущего ордера.
Для 5 значных котировок советник увеличивает параметры указанные в пунктах в 10 раз.
Рекомендации:
Желательно чтобы советник стоял сразу не нескольких валютных парах (3-9). Проверялся советник на EURGBP AUDCAD AUDJPY AUDNZD CADCHF AUDUSD EURUSD CADJPY EURJPY, но можно пробовать и любые другие. Важно, чтобы не было большого безоткатного движения, выбирайте пары, которые в течении небольшого времени 1-2 дня откатываются не менее чем 20-30%. Большое кол-во пар может привести к блокировке работы советника на некоторых ДЦ, где есть ограничение максимального кол-ва одновременно открытых ордеров. Минимальный депозит для микро лота (0,01) и 3 пар должен быть не менее 500 USD, лучше 1000 USD.
Все оперативные вопросы по советнику можно задавать в закрытом чате. Для того, чтобы в него войти, после покупки советника отправьте запрос на скайп: mqlcmillion
Чтобы получить советник, Вы оплачиваете его стоимость одним из способов, указанных на странице оплата, затем отправляете по адресу cmillion@narod.ru письмо, в котором указываете название программы и способ оплаты. Сразу после этого Вам будет отправлена заказанная Вами программа. Для входа в общий чат отправьте после оплаты запрос на скайп mqlcmillion.
Советник постоянно дорабатываетсяи все последующие версии Вы будете получать бесплатно в закрытом чате или обратившись с вопросом на почту.
Вот несколько тестов и стейтов с реальной торговли
Благодаря линейке лотов стало возможным проводить и такие тесты, но естественно на реальном счету надеюсь Вы будете раньше снимать заработанные средства чем брокер схватится за голову.
Стоимость советника EA_TrailingStop — 500$
Оплата
========================================