При всей информативности ренко-баров, построенных на основе оффлайн графиков, они имеют существенный недостаток — невозможность прогона советника в тестере. Здесь, естественно сама собой навязывается идея использования наработок в экспериментах с ренко-барами.
Итак, используем указанные на работки — строим ренко-бары, вычисляем по ним показания индикаторов и реализуем стратегию на основе дивергенции по ренко-барам. Ниже приводится описание советника, как оно есть в сервисе mql5.
Советник отображает на графике ренко-бары, индикаторы Bollinger Bands и Moving Average, построеные по ценам закрытия, осуществляет открытие и сопровождение сделок на основе дивергенции. Пики цены определяются по выходу ренко-баров за границы Bands и возврата внутрь.
Сделка на продажу открывается когда очередной пик цены, выходя за границы верней линии болинджера находится выше предыдущего, при этом расхождение средней линии болинджера и скользящей средней — меньше точки предыдущего пика. Сделка на покупку открывается по зеркальным условиям. Примеры сигналов приведены на скриншотах.
Параметры, указанные в пунктах цены, рассчитаны на 4-значные котировки. Для 3-х и 5-и значных котировок параметры умножаются на 10.
Описание параметров
- RenkoBar — размер ренко-баров в пунктах цены;
- CountBars — ограничение количество баров для отображения на графике;
- bearColor — цвет медвежьего ренко-бара;
- bullColor — цвет бычьего ренко-бара;
- hideBars — признак скрытия стандартных баров на графике;
- MaPeriod — период скользящей средней;
- MaColor — цвет скользящей средней;
- BandPeriod, BandDev — параметры боллинджера;
- BandMin — ширина между верхней и нижней линиями боллинждера в пунктах;
- UseDvCancel — признак отмены сигнала дивергенции если цена до предыдущего пика уходит за противоположную линию;
- BandColor — цвет линий боллиджера;
- priceDiff_factor — минимальное расхождение пиков цены (в ренко-барах);
- SignalBuyColor, SignalSellColor — цвета стрелок для сигналов на покупку и продажу;
- isDrawing — разрешение отображения ренко-баров и индикаторов на графике;
- startLot — фиксированный размер лота;
- MaxRisk_percent — процент для вычисления объема торговли от остатка свободных средств (отменяет startLot);
- stopLoss_factor — уровень для выставления стоп-лосса (множитель к ширине между верхней и нижней линиями боллинджера);
- takeProfit_factor — множитель для выставления тейк-профит (от стоп-лосс);
- minProfit_percent — процент прибыли (от остатка свободных средств), при котором производится частичное закрытия позиции;
- minProfit_factor — размер частичного закрытия позиции;
- maxLoss_percent — процент убытка (от остатка свободных средств), при котором производится частичное закрытия позиции;
- maxLoss_factor — размер частичного закрытия позиции при убытке;
- noLoss_percent — процент прибыли (от остатка свободных средств), при котором производится перевод сделки в безубыток;
- noLoss_factor — уровень цены (от стоп-лосс), при котором производится перевод сделки в безубыток;
- TraiStop_level — уровень трейлинг-стопа (от размаха между линиями боллинджера);
- trailStep — шаг трейлинга в пунктах;
- DualOrders — разрешение сделок на покупку при наличии активных сделок на продажу (и наоборот);
- NumOrders — ограничение количества ордеров в одном направлении;
- UseNoLossSignal — разрешение перевода сделки в безубыток, если цена пересекает противоположную линию;
- UseMinProfitSignal — разрешение закрытия части сделки, если цена пересекает противоположную линию;
- UseStopSignal — разрешение закрытия сделки, если цена пересекает противоположную линию;
- CloseOnRevers — закрытие сделок при получении противоположного сигнала;
- CheckMinMax — признак проверки минимального и максимального уровня сделок (выше максимального открываются только сделки на продажу, ниже минимального — на покупку);
- orders_min_step_factor — минимальное расстояние между однонаправленными ордерами в размерах ренко-баров;
- NumCloseAll — минимальное количество ордеров для закрытия по суммарному профиту;
- PercentCloseAll — минимальная сумма для закрытия по суммарному профиту в процентах от остатка свободных средств;
- ArbitrageNumCloseAll — минимальное количество ордеров для закрытия по суммарному профиту (используются сделки по всем инструментам с заданным волшебным номером);
- ArbitragePercentCloseAll — минимальная сумма для закрытия по суммарному профиту в процентах от остатка свободных средств (используются сделки по всем инструментам с заданным волшебным номером);
- timeStart — час начала торговли;
- timeEnd — час завершения торговли;
- slippage — проскальзывание в пунктах;
- MAGIC — волшебный номер;
- useFIFO_Rules — реализация правил NFA по требованию закрытия в первую очередь наиболее ранних открытых сделок.