Советник FireBall_L25 для терминала MT4
для работы на таймсериях М5
Советник FireBall_L25 (25-я расширенная версия) предназначен для круглосуточной автоматической торговли на рынке Forex с тонкой ручной подстройкой не менее 2-3 раза в неделю. Доходность зафиксирована на уровне от 80% до 150% в месяц в результате торгов на реальных счетах. При интенсивном использовании тонкой ручной подстройки можно получать удвоение депозита за 1-2 недели при просадке не выше 30%, что тоже достигалось в ходе реальных торгов. Под тонкой ручной подстройкой понимается активное изменение входных параметров в ходе работы советника на основе знаний рынка и понимания его закономерностей.
Советник использует адапивный алгоритм торговли и начинает работу как типичный мартин-скальпер. Поработав на тренде, выходит на установившийся режим, в котором текущая цена находится в коридоре из двух серий ордеров Sell и Buy. Движение цены в любую сторону приносит прибыль.
Мани менеджмент для настроек по умолчанию Lots=0.01 на каждые $300 депозита или на $3 для центовых счетов. Например, для депо $1500 можно открыть 5 валютных пар по 0.01 или одну валютную пару на 0.05 лота. Мультивалютность предпочтительнее в силу диверсификации рисков при возможности организации работы в узком коридоре.
Область применения: любые валютные пары с автоматическим пересчетом с 4-х на 5-ти значные котировки.
Типы счетов: любые.
Ограничения: при использовании на валютных парах с уровнем спреда более 30 (в 5-ти значной котировке) требуется отключение трала. При тестировании советника также необходимо отключать трал, поскольку при тралении валютной пары при ее захвате в зоне безубытка прогнозируется не только стоплосс (SL), но и тейкпрофит (TP). Такой специально доработанный для советника трал является более эффективным, но использует расчетное (прогнозное) значение ТР, имеющего экстраполяционную природу, а в терминалах MT4 в тестере стратегий используется только интерполяционная математика, из-за чего в тестере может возникнуть ошибка при выходе за границы значений.
Входные параметры и их значения по умолчанию.
Использовать BuyStop, SellStop
BuyStopOK=true;
SellStopOK=true;
Первый параметр BuyStopOK дает разрешение на возможность открытия серии ордеров на покупку. Аналогично параметр SellStopOK дает разрешение на возможность открытия серии ордеров на продажу. Если поставить например BuyStopOK=false, то это открытие новой серии ордеров на покупку будет запрещено.
Примечание: Однако, если будет открыта серия ордеров Sell, то в рамках работы с серией могут быть все же открыты встречные ордера Buy, если того потребует алгоритм торговли советника.
Основные параметры
TakeProfit_=10; - уровень прибыльности (take profit) текущего выбранного ордера. Используется и для расчета уровня прибыльности серии ордеров Sell или Buy.
StopLoss_ = 400; - уровень убыточности (stop loss) текущего выбранного ордера. Используется для расчета уровня убыточности серии ордеров Sell или Buy. Рекомендуется ставить от 300 до 400 как допустимые потери и защита депозита в случае сильного движения цены против.
Lots_ = 0.01; - начальная лотность. Рекомендуемое значение 0.01 на каждые $300 долларов (или $3 для центовых счетов) депозита, а точнее текущего баланса.
MaxLot=0.32; - максимальное значение лота ордера. С увеличением числа колен в текущей серии ордеров (Sell или Buy) по Мартингейлу при достижении этого максимального значения все последующие ордера серии открываются со значением MaxLot.
LotExponent = 2.0; - значение экспоненты для расчета колен серии ордеров.
MaxTradesBUY = 4; - максимально допустимое число колен в серии Buy
MaxTradesSELL = 4; - максимально допустимое число колен в серии Sell
Примечание: Если Вы планируете заглядывать 2-3 раза и чаще в сутки в компьютер, то Вы можете поставить начальные значения MaxTradesBUY = 3 и MaxTradesSELL = 3. В ходе торгов Вы можете менять эти параметры как того требует рыночная обстановка и Ваше знание рынка. Например, установив MaxTradesSELL = 3 и, попав в движение цены вверх после открытия последнего третьего ордера серии перед Вами встанет дилемма. Либо Вы увеличите MaxTradesSELL = 4 и при продолжающемся движении цены вверх откроется еще один ордер серии Sell, либо Вы не будете трогать этот параметр и тогда при дальнейшем движении цены вверх начнутся открываться встречные ордера Sell, образуя встречную серию ордеров Sell таким образом, что текущая цена всегда будет находится в коридоре между расчетными такепрофитами этих двух серий. А это означает гарантированное получение прибыли при движении цены в любую сторону. Замечу, что при грамотном изменении в ходе торгов только этих двух параметров у меня получалось удвоение депозита за неделю. Правда это уже будет не совсем автоматическая торговля.
Замечу, что начиная с MaxTradesBUY = 6 и MaxTradesSELL = 6 Вы попадаете в зону высокорисковой торговли. Крайне не советую ставить эти значения больше 5. Лучше переждать высокую волатильность рынка по данной валютной паре и дождаться отскока рынка, чем нарваться на свой собственный стоп-лосс на серии с большим числом колен или даже потерять депозит, если Вы завысите стоп-лосс и пренебрежете другими средствами защиты депозита. В это время пусть зарабатывают другие пары, где изменения цены не столь критичны.
PipStepBuy_ = 20; - шаг сетки для открытия ордеров серии Buy.
PipStepSell_ = 16; - шаг сетки для открытия ордеров серии Sell.
Время закрытия.
CloseHour=25; - время окончания активной торговли, когда вы запрещаете открытие новых серий Stop ордеров, запускающих новый торговый цикл. Например, ставьте CloseHour=15, если не хотите активно торговать в американскую сессию. Цифра 25 означает, что активная торговля разрешена круглосуточно.
TimeControl=true; - использовать тайм контроль. Имеет смысл только когда CloseHour<25.
Заметим, что начало торговли определяется запуском торгового терминала. Поэтому, при круглосуточно включенном терминале при TimeControl=true и CloseHour=15 для начала торговли на следующие сутки вам нужно заново загрузить исходные данные (инициализировать торговлю) или перезагрузить терминал.
Закрытие в 0.5 разницы цен, начиная с колена N
TrendForse=false;
MinTrendForse=5;
Параметр MinTrendForse контролирует число открытых ордеров серии (Sell или Buy). По умолчанию работа параметра отключена, т. е. TrendForse=false. На практике часто бывает так, что текущая цена болтается где-то посередине открытых ордеров серии, то есть движения цены не хватает ни для открытия следующего ордера ни для закрытия серии. В этом случае и следует использовать TrendForse для закрытия «лишних» прибыльных ордеров серии, чтобы зафиксировать прибыль и обезопасить себя от возможного движения цены против.
Пример. У вас открыто 5 колен серии Buy, а текущая цена болтается между 3 и 4 коленами. Ставим TrendForse=truе и MinTrendForse=3. Тогда у вас закроется ордер 5-го колена по текущей цене естественно и 4-й ордер в том случае, если цена опустится ниже 0.5(С4-С3), где
С4 и С3 – цена открытия 4-го и 3-го ордеров соответственно. То есть, мы зафиксировали прибыль и оставили в работе всего 3 колена, снизив нагрузку и риски на депозит. Если цена пойдет вверх, то у нас снова откроются 4 и 5- колена. Заметим, что сказанное будет реализовано только в том случае, если у нас стоит MaxTradesBUY >=5 и если мы после фиксирования прибыли описанным способом не поставили снова TrendForse=false. Если же мы оставим TrendForse=truе и цена будет и дальше болтаться между 3-м и 4-м коленом, то мы регулярно будем фиксировать прибыль с открытием и закрытием 4-го колена.
Следующая довольно большая группа параметров относится к блоку защиты депозита.
Максимально допустимая просадка в процентах
Drawdown_=80;
Частичное Part и полное Extrim закрытие первого ордера запрещено
PartOrdersClose=false;
ExtrimOrdersClose=false;
Колено для Part закрытия First ордера за счет Last ордера
CoVolna=5;
Просадка (%) для Part закрытия First ордера
Drawdown_Part=30;
Превышение ProfLast над LotsStep лота из ProfFirst в PartTakeProfit раз
PartTakeProfit=1.4;
Размер лота для частичного закрытия ордеров
LotsStep=0.01;
Начнем с экстремальной защиты. Здесь все просто. Есть максимально допустимый уровень просадки Drawdown_ , превысив которую программа дает команду закрыть все открытые ордера, если будет выставлен ExtrimOrdersClose=true.
Но это, как вы понимаете, самый крайний случай. Который скорее всего никогда не сработает, если вы разумно выставили Стоп-лосс на серию ордеров.
Есть еще один более тонкий способ защиты депозита, когда мы начинаем потихоньку подчищать ласты частями по LotsStep за счет закрытия первого ордера серии. Разумеется, это можно делать не всегда, а только когда первый ордер находится в зоне прибыли и при выполнении трех дополнительных условий - на допустимую просадку, на колено, начиная с которого активизируется данный вид защиты депозита. Наконец мы можем задать уровень прибыльности, когда активизируется данный механизм.
По умолчанию этот вид защиты депозита отключен PartOrdersClose=false.
Число баров для определения высоты средней свечи
Quant_Bars=80;
Превышение новостной свечи над средней
CandleFactor=4;
Адаптивный алгоритм торговли вычисляет сильные новости и использует их в соответствии с авторской методикой. Лучше не трогать эти параметры, они экспериментально выверены и алгоритм работает с ними одинаково хорошо практически на любых валютных парах.
Плавающие PipStepBuy и PipStepSell – динамически меняющийся шаг сеткаи ордеров.
PipStepExtendBuyOK=true;
PipStepExtendSellOK=true;
Использование динамически меняющихся параметров сетки построения ордеров в зависимости от числа открытых торговых ордеров серии позволяет получить большую прибыль при меньших рисках. Не меняйте эти параметры. Можно поэскпериментировать с начальными значениями сетки
PipStepBuy_ и PipStepSell_ .
Input filter(from 0 to 50). Фильтр на вход(от 0 до 50) – защита на открытие Stop ордеров по Найту.
BuyProtect=36.0; - нижняя граница RSI для BuyStop.
SellProtect=45.0; - верхняя граница RSI для SellStop.
EnumAppledPrice=3; - настроечный параметр может меняться от 0 до 6.
Параметры Stop-ордеров
Dist_=5; - расстояние, на котором выставляются стоп-ордера и в пределах которого они держатся от цены.
Параметры трала
UseTrailing = true; - по умолчанию используем траление серий ордеров по попадании их в зону прибыльности. Для отключения трала ставим UseTrailing = false.
TrailTP_ = 1.0;
TrailDist_ = 3.0;
Magic numbers
MN_Buy = 123;
MN_Sell = 321;
При работе с различными валютными парами в разных окнах у одного ДЦ не забывайте менять «магические числа», чтобы не перепутались ордера разных валютных пар.
Выводить информацию на экран
Info = true;
Печать отладочной инф в лог
Debug = false;
Основные порталы (построено редакторами)
