Это обратная стратегия торговли, основанная на индикаторе Laruent Channel. Он рассчитывает самые высокие и самые низкие цены за определенный период времени в прошлом, чтобы определить, находится ли текущая цена в зоне перекупленности или перепроданности. Если цена близка к верхней или нижней рельсе, он откроет позицию в противоположном направлении и подождёт, пока цена вернется к средней линии.
Стратегия основывается на двух показателях:Показатель %R (%R)иЖелезнодорожные пути Ларунского канала.
Показатель PercentR показывает расстояние между текущей ценой закрытия и самыми высокими и самыми низкими ценами за последний период. Диапазон значений составляет от 0 до -100. Значение, близкое к 0, означает, что текущая цена закрытия находится рядом с самой высокой точкой в последнее время. И значение, близкое к -100, означает, что текущая цена закрытия находится рядом с самой низкой ценой в последнее время.
Канал Ларуен состоит из верхней рельсы, средней линии и нижней рельсы. Верхняя рельса равна самой высокой цене за последний период. Нижняя рельса равна самой низкой цене за этот период. Средняя линия - это среднее значение верхней и нижней рельс. Если цена превышает верхнюю рельсу, она считается перекупленной. Если цена ниже нижней рельсы, она считается перепроданной.
Стратегия сначала рассчитываетПоказатель %RиЖелезнодорожные пути Ларунского канала, затем использует два показателя для определения того, является ли текущее состояние перекупленным или перепроданным:
Если текущее состояние не является ни перекупленным, ни перепроданным, он будет длиться на рынке открытым и закрыть позицию до закрытия рынка в тот же день.
Захватив изменение цены, он может получить прибыль в краткосрочной перспективе.
Риски могут быть уменьшены путем оптимизации параметров, корректировки времени размещения заказов или совмещения с другими показателями.
В целом, эта стратегия довольно проста и практична. Она разработана на основе идеи реверсионной торговли и подходит для краткосрочной частой торговли. Есть большое пространство для оптимизации. Для комбинации могут быть введены более технические индикаторы. А также могут быть установлены автоматические механизмы остановки потерь для контроля рисков.
/*backtest start: 2023-11-04 00:00:00 end: 2023-12-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=4 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © zweiprozent original strategy by larry williams strategy("Daily PercentR Strategy", overlay=false) D_High = security(syminfo.tickerid, 'D', high[1]) D_Low = security(syminfo.tickerid, 'D', low[1]) D_Close = security(syminfo.tickerid, 'D', close[1]) D_Open = security(syminfo.tickerid, 'D', open[1]) LowMarker = input(-87,"Low Marker",input.integer) HighMarker = input(-20,"High Marker",input.integer) length = input(title="Length", type=input.integer, defval=3) src = input(close, "Source", type = input.source) _pr(length) => max = highest(length) min = lowest(length) 100 * (src - max) / (max - min) percentR = _pr(length) obPlot = hline(LowMarker, title="Upper Band", color=#606060) hline(-50, title="Middle Level", linestyle=hline.style_dotted, color=#606060) osPlot = hline(HighMarker, title="Lower Band", color=#606060) fill(obPlot, osPlot, title="Background", color=color.new(#9915ff, 90)) plot(percentR, title="%R", color=#3A6CA8, transp=0) // Go Long - if percentR is not overbought/sold ordersize=floor(strategy.equity/close) if percentR<HighMarker and percentR>LowMarker strategy.entry("Long", strategy.long,comment="Long") //exit at end of session if low[0]<high[0] strategy.close("Long", comment="exit")