Индикатор для построения графика; Ренко.
Содержание статьи
Индикатор для построения графика "Ренко"
В статьях Индикатор для построения графика «Крестики — Нолики» и Индикатор для построения графика «Каги» были рассмотрены приёмы построения индикаторов графиков: «Крестики-Нолики» и «Каги». Продолжая эту серию статей, на этот раз рассмотрим один из видов программного построения графика «Ренко».
Свое название график «Ренко» получил от японского слова «renga» — кирпич, это неудивительно, учитывая, что он представляет собой чередование «кирпичей» по одному на вертикальную плоскость, при росте цен «кирпичи», поднимаются всё выше и выше, и, наоборот, спускаются всё ниже и ниже при падении. В переводе с японского слово «Ренко» означает «тихая походка». График «Ренко» появился в Японии, вероятно, где-то в XIX веке, в США и Европе о нём узнали после публикации в 1994 году книги Стива Нисона «За гранью японских свечей» (англ. Beyond Candlesticks).
График «Ренко», как и вышеупомянутые графики, игнорирует временную шкалу, ориентируясь только на движение цены. В отличие от графика «Крестики-Нолики», график «Ренко» строит каждый «кирпич» с нового столбца (в новой вертикальной плоскости), в остальном анализ их построения имеет много общего: есть фиксированный размер «кирпича» («крестика», «нолика»), аналогичным образом анализируется цена и выстраиваются фигуры.
Итак, график «Ренко» представляет собой совокупность вертикальных прямоугольников («кирпичи»). Восходящий «кирпич» обычно закрашивается в белый цвет, нисходящий закрашивается в чёрный цвет. Построение регулируется движением цены. Текущая цена рассматриваемого периода, сравнивается с минимумом и максимумом предыдущего «кирпича» (белого или чёрного). Если текущая цена больше максимума предыдущего «кирпича» на размер «кирпича» или больше, то в новом столбце от максимума предыдущего кирпича рисуется следующий «кирпич» (белого цвета) или несколько. И наоборот, если текущая цена меньше минимума предыдущего «кирпича» на размер кирпича или более, рисуются нисходящие «кирпичи» чёрного цвета.
Начальный же, самый первый «кирпич» отсчёта построения графика, рисуется в зависимости от движения цены в рассматриваемом периоде, за цену максимума и минимума предыдущего кирпича берётся цена открытия бара.
Пример того, как выглядит классический график «Ренко», можно увидеть на рис. 1:
Рис. 1. Пример изображения классического графика «Ренко»
1. Пример построения
Классический вид построения графика «Ренко» принято производить на основании цен закрытия. Сначала следует выбрать таймфрейм и в соответствии с ним величину «шага» (порога).
В данном примере используется пара EURUSD (таймфрейм H4), с «шагом» в 30 пунктов. Результат построения графика «Ренко» в период с 03.01.2014 по 31.01.2014 (примерно месяц) приведён на рис. 2, слева приведено построение с учетом временного промежутка (здесь видно горизонтальное удлинение «кирпичей»), справа показан результат построения графика Ренко:
Рис.2. Результат построения графика «Ренко» на EURUSD (H4, шаг 30 пунктов)
Рассмотрим более подробно принцип построения графика. Красным цветом на рис. 2 обозначены горизонтальные линии, указывающие ценовой размер каждого «кирпича» (30 пунктов), синим цветом обозначены наиболее интересные даты (для ориентировки).
Как видно из графика, в конце дня 03.01.2014 свеча закрывается ниже 1.3591 ранее намеченных ценовых диапазонов графика (красные горизонтальные линии) в 1.3589 (отмечено ценовой меткой), что даёт нисходящий «кирпич» на графике.
Далее цена находится во флете (не закрывается ниже отметки 1.3561, но и не закрывается выше отметки 1.3651) до 20:00 10.01.2014 (закрытие свечи, образованной с 16:00) , где закрывается (выше ценовой отметки 1.3651) на 1.3663 (отмечено ценовой меткой). Далее видно, что цена опять входит во флет, до 20:00 14.01.2014 (закрытие свечи, образованной 16:00), где преодолевает ценовой диапазон, формируя при этом новый «кирпич» и закрывается на отметке 1.3684.
Потом видно, как направление движения цены меняется в нисходящую сторону и четыре раза прорывает ценовые диапазоны, опускаясь всё ниже и ниже на ценовом графике. В 12:00 23.01.2014 (закрытие свечи, образованной в 08:00), наблюдаем прорыв вверх сразу двух ценовых диапазонов, что в свою очередь образовывает сразу два «кирпича», закрываясь на 1.3639. Первый «кирпич» отчётливо виден, а второй вытягивается в длинную вертикальную линию (из-за одновременного появления с первым). Далее построение продолжается по тем же основным правилам.
2. Принцип построения индикатора «Ренко»
При разработке данного индикатора все функции были реализованы максимально независимо. Также одной из основных задач было максимально увеличить возможности индикатора для удобства анализа рынка.
Было решено отделить расчёты от текущего таймфрейма, то есть таймфрейм выбирается в настройках, и вне зависимости от того, на каком таймфрейме запущен индикатор, он будет показывать данные по таймфрейму, указанному в настройках. Это достигается за счёт копирования данных рассматриваемого периода в отдельные буферные массивы, и далее с ними уже производятся расчёты и заполнение выходных буферов индикатора.
Классическое построение графика «Ренко» подразумевает построение графика по ценам закрытия (Close), но для расширения возможностей анализа была добавлена возможность использования цен Open, High, Low.
Так как «кирпичи» на графике «Ренко» имеют одинаковый размер, при сильном движении цены (в несколько «кирпичей») было бы удобно знать, где рынок показывал себя наиболее энергично. Для этого существует (отключаемая) индикация в виде небольшой вертикальной «тени» (как у японских свечей) от «кирпича» поднимающейся или опускающейся на уровень последнего образованного «кирпича» от одного движения бара выбранного таймфрейма.
И последней наиболее выраженной особенностью данного индикатора является возможность производить построение типа «ZigZag» на основном графике, что также позволит расширить возможности графического анализа.
На рис. 3 приведён внешний вид индикатора в полной функциональности:
Рис.3. Внешний вид индикатора на графике EURUSD (Daily, шаг 25 пунктов)
3. Код и алгоритм индикатора
Код индикатора довольно-таки большой, и составляет в оформлении около 900 строк. Как говорилось ранее, функции максимально отделены друг от друга, это может усложнить понимание алгоритма. За основу были взяты некоторые функции из предыдущей статьи. В случае недопонимания каких-либо аспектов можно обратиться к предыдущей статье Индикатор для построения графика «Каги» или задать вопрос мне в личных сообщениях.
В статье будет происходить пояснения кода по функциям, в некоторых местах со связующими пояснениями. Функции будут описаны по мере их использования, чтобы облегчить понимание кода.
3.1. Входные параметры индикатора
Как было сказано ранее, график «Ренко» представляет собой совокупность поднимающихся и опускающихся «кирпичей» разного цвета, для такого построения необходимо всего пять буферов, объединённых в одно графическое построение типа «Разноцветные свечи». Остальные четыре буфера используются для хранения данных, которые необходимы для расчета индикатора.
Рассмотрим входные параметры (их 25), поделённых на группы.
- step — шаг или размер «кирпича»;
- type_step — вид шага, может быть как пунктовый, так и процентный (последний вычисляется в зависимости от текущей цены);
- magic_numb — магический номер, нужен для отличия графических объектов индикатора, используется для удаления их с графика;
- levels_number — количество уровней (0-без уровней), для обозначения разделения «кирпичей» в окне индикатора;
- levels_color — цвет уровней в окне индикатора;
- time_frame — задаёт период для построения графика (анализируемый период);
- time_redraw — период обновления графика (время, через которое обновляется построение графика);
- first_date_start — начальная дата (дата, с которой начинать построение графика);
- type_price — вид цены для построения (задаёт цену, всего существует четыре вида: Close — построение по ценам закрытия, классический метод; Open — цены открытия; High — максимальные цены и Low — минимальные цены);
- shadow_print — показывать ли тени (при установке этого параметра в положение true, происходит использование теней исходящих из «кирпичей», для обозначения максимальной или минимальной цены послужившей для открытия сразу нескольких «кирпичей»);
- filter_number — значение количества «кирпичей» для разворота (дополнительный параметр, не используемый в классическом построении, отвечающий за количество «кирпичей», нужных для разворота графика в другую сторону);
- zig_zag — рисовать ZigZag на главном графике (дополнительное построение на главном графике, предполагающее облегчить анализ или как то его модернизировать);
- zig_zag_shadow — рисовать ZigZag по ценам минимумов и максимумов (использует ближайшие цены максимумов и минимумов для построения зигзага по крайним точкам);
- zig_zag_width — толщина линии ZigZag;
- zig_zag_color_up — цвет восходящей линии ZigZag;
- zig_zag_color_down — цвет нисходящей линии ZigZag;
- square_draw — рисовать ли «кирпичи» на главном графике (в этом режиме видно движения цен, которыми были сформированы «кирпичи»);
- square_color_up — цвет «кирпича» на главном графике вверх;
- square_color_down — цвет «кирпича» на главном графике вниз;
- square_fill — заливка «кирпича» на главном графике;
- square_width — толщина линии «кирпича» на главном графике;
- frame_draw — рисовать ли рамки «кирпичей» (представляет собой окантовку для построенных «кирпичей», является дополнительным графическим параметром, использование предполагалось крайне редкое);
- frame_width — толщина линии рамки «кирпича»;
- frame_color_up — цвет рамок «кирпичей» вверх;
- frame_color_down — цвет рамок «кирпичей» вниз.
Далее в коде идёт объявление буферов, пять основных буферов используются для графического построения и четыре для хранения данных для построения и расчётов. Price[] — буфер для хранения скопированных цен используемых для построения, Date[] — буфер для хранения скопированных дат используется для построения на главном графике, Price_high[] и Price_low[] — буфера для хранения скопированных цен максимумов и минимумов, используются для построения типа «ZigZag» на главном графике.
Следом идёт объявление массивов расчетных буферов и вспомогательных переменных для функций: func_draw_renko, func_draw_zig_zag, func_draw_renko_main_chart, о которых будет рассказано позже.
3.2. Функция инициализации индикатора
В этой функции происходит связывание индикаторных буферов с одномерными динамическими массивами, для буферов типа INDICATOR_DATA и INDICATOR_COLOR_INDEX также задаётся адресация как в таймсериях. Остальные динамические массивы (Price[], Date[], Price_high[], Price_low[]), остаются без изменения направления адресации, так как не нуждаются в этом и служат только для хранения данных.
Далее задается значения, которые не будут отображаться на графике, задаётся имя индикатора, точность его отображения и запрещается показ текущих значений индикатора в окне индикатора.
Следом за этим производится присвоение значения переменной date_start (даты с которой следует начать расчёт). Происходит именно присвоение переменной, а не использование входного значения, так как график может оказаться гораздо больше, чем может в себя вместить индикаторный буфер, происходит некоторая коррекция начальной даты с предупреждением пользователя. Коррекцией времени занимается функция расчёта даты начала анализа или «func_calc_date_start».
3.3. Функция расчёта даты начала анализа
Сама функция по своему размеру небольшая и состоит в основном из цикла. Имеется всего два входных параметра, первоначально назначенная дата начала и дата окончания расчёта (текущая дата), первая из которых меняется внутри самой функции и выдаётся в виде ответа.
Тело функции начинается с измерения размера приёмного буферного массива (можно взять любой из буферных массивов для измерения размера, так как их размер одинаков и равняется количеству баров выбранного таймфрейма). Далее измеряется количество баров в выбранном промежутке времени.
В условии цикла сравнивается количество баров в выбранном промежутке времени и размер буферного массива. Если баров больше, то есть они все не поместятся в буферный массив, то выбранный промежуток времени урезается на десять дней, то есть к дате начала анализа прибавляется десять дней. Так продолжается до тех пор, пока буферный массив не сможет включить в себя все данные по барам. Функция возвращает рассчитанную дату.
3.4. Функции копирования данных
Для работы с данными их нужно сначала скопировать. Именно для этого существуют функции копирования данных (func_copy_price и func_copy_date), которые сейчас рассмотрим.
Начнём с функции копирования цены или func_copy_price, данная функция позволяет копировать в переданный ей массив цены Open, Close, High и Low за определённый таймфрейм и период, переданные в параметрах функции. В случае удачного копирования функция возвращает «true».
В начале вызова функции инициализируется возвращаемое значение false, далее происходит инициализация переменной результата скопированных данных, и присваивается отрицательное значение. Объявляется общий массив price_interim[] для временного хранения скопированных данных о ценах и переменная bars_to_copy для предотвращения копирования уже скопированных данных.
Далее функция обнуляет ранее объявленные переменные хранения количества скопированных данных, подсчитывает количество баров на временном промежутке и в зависимости от выбранного копируемого вида цены (0-Close, 1-Open, 2-High и 3-Low) при помощи оператора-переключателя switch присваивает значение количества ранее скопированных данных по ценам общей переменной bars_copied. Следом подсчитывается количество данных, которые нужно скопировать. Если данные копируются не в первый раз, происходит удаление информации о последнем скопированном баре, из-за того, что он мог измениться в ходе движения графика.
Опять при помощи оператора-переключателя происходит копирование нужного нам вида данных о ценах во временный массив price_interim[]. Следом проверяется результат копирования и опять при помощи оператора-переключателя switch, происходит заполнение переменных о количестве скопированных данных.
Следующая функция копирования даты или «func_copy_date». Код функции схож с ранее рассмотренным блоком, различие составляет вид копируемых данных, так что без комментариев.
3.5. Функция расчёта «Кирпичей»
Как видно из параметров индикатора, размер кирпича можно задавать не только в пунктах, но и в процентах от текущей цены. С пунктами всё легко, это фиксированная величина, а вот как же поступить с процентами? Для этого есть функция расчёта «кирпичей» или «func_calc_dorstep».
Функция имеет три входных параметра: текущая цена (цена от которой будет рассчитываться процент, в случае выбора процентного размера «кирпича»), выбранный тип расчёта (пунктовый или процентный), и размер шага (задаётся одной величиной, которая в зависимости от выбранного типа расчёта, считается за проценты или пункты).
В начале функции объявляется переменная для ответа типа double и в зависимости от выбранного типа расчёта, который проверяется условным оператором, переменная ответа получает значение в пунктах. Далее переменная ответа преобразуется в тип int, чтобы возвращаемое значение всегда было целым, даже если в ходе расчёта в процентном виде получился дробный результат.
3.6. Основная функция — построение графика «Ренко»
Самая главная функция построения графика «Ренко» — «func_draw_renko». Эта функция отвечает за заполнение графических буферов (буферы индикатора) и массивов расчетных буферов. Расчетные буферы нужны для хранения информации о каждом «кирпиче», они представляют собой источник корректной информации, то есть разобранной и рассчитанной из первоначальных данных.
Входные параметры функции — это массивы данных о ценах и датах образования баров, также тут присутствуют информация о виде шага и его параметре, фильтре разворота и параметр прорисовки теней.
Условно всю функцию можно поделить на две части: часть, отвечающая за подсчёт количества «кирпичей» и часть, отвечающую за заполнение расчетных и графических буферов.
В самом начале функции происходит обнуление графических буферов, чтобы исключить отображение ячеек, которые не заполнены значениями. Далее вводятся вспомогательные переменные для расчётов: «doorstep_now» используется для шага (в основном нужна при пересчёте его размера при процентном виде шага), переменная «point_go» хранит информацию о расстоянии, пройденном с последнего образованного «кирпича», переменная «a» используется при подсчёте «кирпичей», «up_price_calc» и «down_price_calc» — последняя анализируемая верхняя и нижняя цены, «type_box_calc» — вид последнего анализируемого «кирпича» (верх или вниз).
Первая часть функции, как и вторая, состоит из цикла, вторая представляет собой дополненную первую. Разберём всё по-порядку.
Первый цикл проходит по всем скопированным значениям, количество скопированных данных определяет переменная «bars» (подсчитывается в функции «func_concolidation», которая будет рассмотрена позже). Далее в цикле происходит вызов функции вычисления размера «кирпича». Так как каждый бар имеет разную цену закрытия, соответственно, если использовать процентный размер шага, то его нужно высчитывать для каждого бара по отдельности.
Следом условными операторами if проверяется направление движения цены, но при этом цена должна пройти расстояние в один шаг или более. После определения направления движения цены происходит проверка условия предыдущего движения, то есть какой был построен последний «кирпич» (вверх или вниз). Это делается ввиду того, что в параметрах индикатора есть параметр фильтра (значение количества «кирпичей» для разворота). После проверки всех этих условий запускается цикл, который проходит ровно столько раз, сколько «кирпичей» может образовать текущее движение цены.
После цикла подсчёта «кирпичей» идёт главный цикл (заполнение расчетных и графических буферов), но перед этим происходит подсчёт количества баров для отображения, затем производится изменение размеров массивов расчетных буферов под максимально возможное отображение баров, а также их обнуление. После этого первым членам некоторых (основных, используемых при первом сравнении) расчетных массивов присваиваются первичные значения.
В случае, если максимально возможное количество отображаемых баров меньше возможного количества «кирпичей», для корректного отображения графика происходит подсчёт лишних «кирпичей» с выводом сообщения о низком значении шага.
Следом происходит обнуление переменной подсчёта «кирпичей» и начинается главный цикл. Отличие главного цикла от предыдущего в том, что в нём кроме выше указанных расчётов происходит ещё заполнение массивов расчетных буферов и сброс счётчика «кирпичей» по предварительно рассчитанным параметрам перед началом цикла.
В самом конце функции происходит заполнение графических буферов.
3.7. Функции создания графических объектов «трендовая линия» и «прямоугольник»
Функция создания графического объекта типа «трендовая линия» или «func_create_trend_line» и функция создания графического объекта типа «прямоугольник» или «func_create_square_or_rectangle» созданы по материалам, указанным в справке для объектов OBJ_RECTANGLE и OBJ_TREND. Служат для создания графических объектов в функции построения графика «Ренко» и для построения графика типа «ZigZag» на главном графике.
3.8. Построение графика «Ренко» на главном графике
Ввиду использования общих массивов буферов калькуляции, функция построения графика «Ренко» на главном графике или «func_draw_renko_main_chart», получилась достаточно компактной.
Входными параметрами служат: цвет поднимающегося и опускающегося «кирпича» а так же его рамка, два вида толщины рамок (первая для «кирпича» вторая для его рамки), и три параметра отображения («кирпичей», их заливки и рамок).
Для начала объявляются переменные содержащие названия для объектов, далее открывается цикл, в котором происходит генерация имени для каждого объекта и в зависимости от вида предыдущего «кирпича» происходит вызов функций построения графических объектов типов «трендовая линия» и «прямоугольник» с передачей им параметров из массивов буферов калькуляции.
3.9. Построение графика типа «ZigZag» на главном графике
Следующая функция, которая является своеобразном дополнением к индикатору, это функция построения графика «ZigZag» или «func_draw_zig_zag».
Входными параметрами тут является: вид прорисовки (по максимальным или минимальным ценам, или по точкам построения графика), толщина линии, цвет восходящей и нисходящей линии.
Пример изменения параметра «zig_zag_shadow» можно наблюдать на рисунке 4, здесь видно при выставлении в положении «true», индикатор рисует линии «ZigZag» по кончикам теней (то есть по максимальным или минимальным ценам), в положении «false», линии «ZigZag» рисуются по максимумам и минимумам графика «Ренко».
Рис.4. Пример влияния параметра «zig_zag_shadow» на EURUSD, H1, 10 пунктов.
Поскольку для построения объекта «трендовая линия» необходимы две точки (начальная и конечная), вводим две переменные, отвечающие за параметр цены, и две переменные, отвечающие за параметр даты. Задаём первую точку в зависимости от вида начального «кирпича» при помощи условных операторов.
Следом идёт цикл, при помощи которого и осуществляется построение всех объектов. Как можно заметить, цикл начинается с анализа второго «кирпича», так как первая точка уже задана. Далее условным оператором проверяется, изменился ли тип «кирпича» (направление движения цены). Затем заполняется переменная названия объекта, и, в зависимости от вида смены движения, при помощи условных операторов происходит раздвоение цикла. В свою очередь, оно также делится на два варианта в зависимости от параметра вида прорисовки.
Если используется отображение по максимальным и минимальным ценам, то задействуются описанные ранее динамические массивы данных Price_high[] и Price_low[], с их помощью осуществляется поиск приближенных минимальных или максимальных точек, поиск ограничен соседними барами.
Если же построение производится по точкам построения графика, то здесь всё очень просто, происходит присвоение данных из массивов расчетных буферов.
После определения с двумя точками построения, вызывается уже знакомая функция построения графического объекта «трендовая линия». На этом функция заканчивает анализ и построение графика «ZigZag».
3.10. Функция для удаления графических объектов
Ранее было продумано использование «магического» номера для определения принадлежности объектов к индикатору, это делалось для удобства запуска нескольких индикаторов на одном графике и для удобства удаления объектов.
Следующая функция — это функция удаления объектов или «func_delete_objects». Здесь всего два входных параметра: имя (назначается в зависимости от вида объекта: трендовая линия или прямоугольник) и число объектов. Функция по очереди перебирает все объекты и если объекты с переданным именем существуют, то она их удаляет.
Для удобства была создана функция, которая консолидирует в себе функции для удаления всех объектов, созданных индикатором.
3.11. Функция создания уровней
Ещё одна небольшая функция для более удобного представления графика в окне индикатора, это функция создания уровней или «func_create_levels». Имеет всего два входных параметра: количество создаваемых уровней и цвет уровней.
В теле функции задаётся количество отображаемых уровней при помощи функции IndicatorSetInteger, потом по очереди в цикле каждому уровню задаётся ценовой уровень и цвет.
3.12. Функция консолидации
Для объединения всех выше разобранных функций была создана функция консолидации или «func_concolidation».
Функция имеет лишь одну задачу — вызывать все исполнительные функции в зависимости от настраиваемых параметров.
3.13. Функции OnCalculate() и OnChartEvent()
Перед тем как перейти к функции OnCalculate(), рассмотрим ещё маленькую функцию анализа появления нового бара или «func_new_bar».
Функция представляет собой упрощённый вид функции, описанной в IsNewBar.
Функция OnCalculate() отвечает за запуск функции консолидации в случае, если появляется новый бар на периоде обновления графика, заданном в параметрах индикатора.
Функция OnChartEvent() имеет два действия: это очистка графика в случае нажатия кнопки «C» (осуществляется вызовом функции удаления графических объектов) и перерисовка графика (вызов функции консолидации) в случае нажатия кнопки «R».
3.14. Функция OnDeinit()
И, наконец, функция выхода или OnDeinit(). Функция вызывает только функцию удаления всех графических объектов, созданных индикатором.
4. Практическое применение графика «Ренко»
График «Ренко» ориентирован в основном для определения основной тенденции движения.
Пример классической работы на графике — «продавай, когда восходящий «кирпич» меняется на нисходящий, и покупай, когда нисходящий «кирпич» меняется на восходящий».
Иллюстрацию этого классического метода можно наблюдать на рис. 5:
Рис.5. Пример классической работы на графике «Ренко» на EURUSD (H4, 20 пунктов)
На рисунке 5 обозначены шесть возможных точек (A,B,C,D,E,F) для входа в рынок.
В точке «A» видно, что после восходящего «кирпича» образовался нисходящий «кирпич».
Вход осуществляется сразу, здесь как и в других точках (B,C,D), первый образованный «кирпич» в противоположном направление образован одним движением, что нельзя сказать о точке «E», так как там на одном движении было образованно сразу два «кирпича». Это видно по образованным теням, вниз заканчивающимися на одном уровне.
В этом случае вход возможен между точками «E» и «F», как видно из графика это не совсем удачный вход, так как цена идёт в противоположном направлении, на точке «F» аналогичная ситуация. Там тоже из-за одного движения образуется сразу два «кирпича». Это видно по теням вверх, заканчивающихся на одном уровне. Хотя это и было сильное движение, но цена сохранила своё направление.
Из этого можно сделать вывод, что когда рынок более спокоен, и одно движение образует только один «кирпич» (об этом можно судить по теням) в противоположном направлении, то это наиболее благоприятный момент для входа в рынок, а если видно образование сразу нескольких «кирпичей», то такой вход может быть небезопасным.
Построение типа «ZigZag» на данном графике можно использовать для графического анализа, на рис. 6 показано несколько таких примеров: определение линии «поддержки» и «сопротивления», а также модели «Голова и плечи».
Рис.6. Пример использования графического анализа на GBPUSD (H4, 20 пунктов)
Ещё один пример графического анализа «Равноудаленный канал», показан на рис. 7.
Для более точного построения индикатор был настроен на анализ часового таймфрейма, а сам вывод построения был сделан на четырёхчасовом таймфрейме.
Такие настройки позволяют рассматривать сигналы на нескольких таймфреймах одновременно, то есть на одном можно применить один индикатор, а на втором другой.
Рис.7. Пример графического анализа «Равноудаленный Канал» USDCHF, H4, настройки H1, 20 пунктов.
На рис. 8 приведён ещё один пример получения на одном графике сигналов с различных таймфреймов.
Можно видеть, что часовой график показывает возможные ближайшие перевороты, четырехчасовой график их заглаживает (отфильтровывает лишние сигналы), а дневной график утверждает долгосрочное направление тенденции.
Рис.8. Пример использования индикатора на GBPUSD, H1, H4 и D1
Ещё один пример, ориентированный именно на индикатор, представлен на рис. 9. Правило гласит: «строй восходящую линию между двумя ближайшими красными «кирпичами», имеющие между собой хоть один синий «кирпич», в дальнейшем при образовании «кирпича», под линией, продавай».
И наоборот: «строй нисходящую линию между двумя ближайшими синими «кирпичами», имеющие между собой хоть один красный «кирпич», в дальнейшем при образовании «кирпича», над линией, покупай».
Цвета в правиле указаны в соответствии с рис. 9. На рис. 9 синими и красными мелкими стрелками также обозначены места, служащие опорой для построения линии и крупными стрелками места, служащие сигналами для купли или продажи.
Рис.9. Пример использования индикатора на GBPUSD, H4, 25 пунктов
Заключение
График «Ренко» будет интересен как для начинающих, так и для профессионалов рынка. Спустя много лет, он не остался позади, и по сей день находит применение на рынке.
В этой статье я хотел привлечь внимание к этому графику и модернизировать анализ графиков «Ренко». Постарался подробнее рассказать о принципе построения графика «Ренко», принципе работы индикатора и его особенностях.
Буду рад комментариям и предложениям, а также любым модификациям и расширению возможностей. В статье представлено несколько вариантов применения индикатора, также вы можете найти свои варианты его использования.
Всем спасибо за проявленный интерес к статье. Желаю удачной торговли и постижения новых торговых стратегий.
Стратегия Renko Street. Час работы и 100$ в кармане
Недавно нашел и только что закончил тесты отличной и прибыльной стратегии для бинарных опционов — Renko Street. Только сегодня, меньше, чем за 1 час получилось заработать почти 100$. Скрин можно увидеть в конце статьи.
Стратегия Renko Street проста, как в настройке, так и в понимании, чем она меня и привлекла.
Стратегия Renko Street в бинарных опционах
Как и большинство других стратегий, Ренко Стрит изначально была создана для торговли на рынке Forex , но позже ее благополучно адаптировали для торговли бинарными опционами.
Думаю нет смысла разбирать, как ею торговали на Форекс. Ведь нас интересует заработок опционами, не так ли? Поэтому сначала разберем торговые правила, скачаем стратегию Renko Street и установим в терминал МТ4.
Далее кратко рассмотрим индикаторы, которые формируют сигналы и, собственно, увидим, как входить в рынок, следуя этим сигналам.
Торговые условия стратегии Renko Syreet
- Торговые активы — любые;
- Торговая сессия — тесты проводились в европейскую, но можно смело пробовать американскую;
- Срок экспирации опциона — 5 минут;
- Таймфрейм теста — M1
- Рекомендованные брокеры — смотрите на этой странице.
Я тестировал стратегию Ренко Стрит на платформе брокера FinMax, вы можете выбрать любого из предложенных!
Стратегия Ренко Стрит — установка для тестирования
Говорят ее продают, но я не сторонник такой торговли, поэтому вы сможете скачать стратегию Renko Street бесплатно ! Впрочем, как и все остальные стратегии на этом блоге.
Если у вас не установлен терминал Мeta Trader 4, то вы найдете его в скаченном архиве и установите.
В терминале нужно открыть меню «Файл», далее «Открыть каталог данных» и в папку templates вставить шаблон из архива. Шаблон называется RenkoStreet.tpl, не перепутаете. Теперь, тут же, откройте папку MQL4 и скопируйте индикаторы, из архива, в папку Indicators.
Все закройте, перезагрузите терминал и кликнув в терминале ПКМ, нанесите на график шаблон с названием RenkoStreet. Если все сделали правильно, то у вас график станет примерно таким:
Если так и не разобрались, как проделать все вышеописанное, то смотрите эту статью. В ней подробно описано и показано, как устанавливать индикаторы и шаблоны в Meta Trader 4.
Теперь разберемся с индикаторами стратегии.
Индикаторы стратегии
Как уже сказал выше, стратегия проста и основана всего на трех индикаторах:
- RenkoStreet_MTF — самый заметный индикатор на графике, слева. Показывает направление и силу тренда, на перечисленных активах.
Им можно пользоваться для того, чтобы выбрать наиболее волатильные активы. Иногда тупит. Если мешает, можете удалить, непринципиально -) - RenkoStreet_channel — основной в этой стратегии индикатор. Рисует ценовой канал и визуальные сигналы в виде кружков с точками посередине.
- RenkoStreet_Trend — трендовый индикатор. Ничего особенного, но служит подтверждением сигнала от RenkoStreet_channel.
В принципе, индикаторы настроены и что-то менять смысла не вижу.
Торговые сигналы Renko Street
Сигналы для входа в рынок просты, но, к сожалению, индикаторы не снабжены звуковым алертом, поэтому придется придется все время следить за графиками выбранных активов.
Кстати, насчет активов — берите столько, сколько сможете отследить. Мне удавалось полноценно наблюдать только за пятью-шестью.
Сигнал на повышение (Вверх)
- Цена коснулась нижней (зеленой), границы канала RenkoStreet_channel, появился зеленый кружок с точкой;
- Цвет столбика RenkoStreet_Trend сменился с красного на зеленый;
- Ждем еще одну свечу, если второй столбик RenkoStreet_Trend тоже зеленый, то покупаем опцион на повышение, со временем экспирации 5 минут.
Примеры я выделил желтыми стрелками на скрине ниже:
Заострю внимание — смена цвета столбика не обязательно происходит одновременно с кружком. Он может смениться и после десятка свечей или не смениться вообще.
Думаю принцип понятен? Сначала кружок — потом дожидаемся сигнала столбика! Нет смены цвета — сигнал ложный, ждем другого. И еще — индикатор RenkoStreet_Trend перерисовывает! Поэтому обязательно дождитесь следующей свечи и подтверждающего столбика !
Сигнал на понижение (Вниз)
Все с точностью до наоборот:
- Цена коснулась верхней (красной), границы ценового канала, появился красный кружок сигнала;
- Столбик RenkoStreet_Trend сменился на красный;
- Ждем второго столбика и входим в рынок на продажу.
Примеры также, на скрине:
В принципе это все. Как сами видите — все просто и понятно.
Стратегия Renko Street — результат торговли за 1 час
Выложу скрин последних сделок сегодняшнего дня, которые входят на экран:
Да, были и засады! Но с ними я справлялся элементарным Мартингейлом. Но это, когда уже руку набил. Если только осваиваете стратегию Ренко Стрит, то рекомендую лучше проглотить неудачу и искать другой сигнал.
Кроме того, как всегда, предупреждаю — реальными деньгами торгуйте только после тестирования на демо счете или бумажке! Пока не научитесь ложные сигналы распознавать, не торопиться и с Мартином управляться!
Похожие статьи о финансовых рынках
30 комментариев: Стратегия Renko Street. Час работы и 100$ в кармане
Сергей здравствуйте. Сергей а тестили вы эту стратегию на какой платформе, у какого брокера?
Встречный вопрос — а вы статью читали? )
@Сергей Медведев, походу мимо пролетел . Здравствуйте Сергей . Как зайдешь на Ваш блог так и сидишь тут часами . и то охота почитать и это. А время за полночь и на работу завтра . А все сижу и читаю . Завтра опять на работу с красными глазами пойду . Но все написанное ( и мною прочитанное 🙂 ) очень важно и полезно . спасибо еще раз за блог Сергей !
Главное, чтобы ваш интерес не был в ущерб другим делам, особенно семье )
Не совсем понял механизм формирования столбиков (внизу зеленые и красные).
Был внизу зеленый кружек (сигнал на повышение) свечи потихоньку идут вверх, а внизу все равно красные столбики формируются. График евро-доллар за последние 20 минут
Значит нет сигнала ) Ждем зеленого столбика.
P.S. Проверил — prntscr.com/e35n4s В моем терминале есть и кружок и столбики )
Правильно ли понимаю, что открывать опцион желательно лишь на третьем столбике RenkoStreet_Trend?
Я вроде писал про второй, нет? ) Но, стратегия теперь полностью ваша! Можете пробовать на третьем, без проблем )))
Главное, чтобы прибыль была!
Работает-ли эта стратегия в Биномо ?
Спасибо Сергеи будем пробывать 😛
Здравствуй Сергей.В этой статье упоминалось,что по стратегии Ренко Стрит можно работать и на форекс,а какие настройки выполнить?
В статье говорилось, что стратегия Renko Street изначально использовалась для торговли на Форекс, потом была адаптирована для бинарных опционов )
Точных условий не знаю, но вы можете понаблюдать за графиками и сами понять, когда выставлять профиты и лоссы. Или погуглить, на крайний случай.
здравствуйте Сергей!скажите пожалуйста что вы думаете про стратегию Fisher.и где ее можно скачть ,заранее благодарен!
Здравствуйте Сергей Медведев. Я читаю ваши статьи, и это стратегия меня очень заинтересовал. Я хотел узнать, можно ли поставить сигнал(аларм), когда цена касается границы ценового канала? Заранее спасибо!
Вероятно можно. только сначала нужно найти такой индикатор, который будет подавать сигнал. А пока, только визуально. Зато терпение и наблюдательность развиваются )))
@Айба, НУ ДА ! и будет сей АЛАРМ верещать на каждой свече ! потому как перерисовка идет у него !
Сигналы RenkStreet Chanel, вроде как, полностью совпадают с сигналами индикатора Alert Arrows, точно так же показывает направление и так же перерисовывается. Думаю, можно включить его в данную стратегию. Сам я торгую по стратегии 60s Binary Options System, только немного подогнал её под себя, индикатор 3c_JRSX_H заменил на ADX, есть ещё несколько нюансов (писал об этом в комментариях к статье «Индикаторы для бинарных опционов»). Результаты довольно не плохие. Но сегодня установил в терминал данную стратегию и меня очень порадовал индикатор RenkoStreet_Trend, как по мне, он является более мощным фильтром ложных сигналов, нежели 60s_Binary_STO и 3c_JRSX_H.Правда, по стратегии 60s Binary Options System я торговал на М5 и входил в рынок на одну свечу. Но, думаю, если привыкнуть к таймфрейму М1, то стратегия даст не плохие результаты. Первым днём теста остался доволен.
Сергей, спасибо Вам за такую хорошую стратегию и за Ваш труд!
Сергей, а можно вопрос, он наверное слегка глупый. Если к примеру появляется сигнал на повышение цены. Цена отскочила от границы канала, образовалась зелёная свеча, соответственно зелёный столбик, потом образуется второй, подтверждающий зелёный столбик, а свеча, на которой подтверждающий столбик образуется, оказывается медвежьей (теоретически, может случиться и такое, что установится новый минимум). То стоит ли торговать на повышение, или лучше пропустить сделку? (Просто у Вас на скриншотах все свечи одного цвета, не могу точно по ним определить, какие свечи какого цвета, хотел в МТ4 по истории посмотреть, но RenkStreet Chanel прорисовывает только последние 12 часов.) Заранее спасибо!
Тут ситуация двоякая. Свеча, хоть и открылась, как медвежья, но экспирация то у нас 5 свечей ) Это первое. А второе — свеча же не статична, она, как вы правильно заметили, рисует минимумы и максимумы, поэтому закрыться она может вполне, как бычья. Тут уже самому трейдеру нужно для себя решить, входить на такой свече или нет.
Источник https://www.mql5.com/ru/articles/792
Источник https://sergmedvedev.ru/binarnye-opciony/strategii-torgovli/renko-street/
Источник
Источник