이것은 Laruent 채널 지표에 기반한 반전 거래 전략입니다. 현재 가격이 과반 구매 또는 과반 판매 영역에 있는지 여부를 결정하기 위해 과거에 특정 기간 동안 가장 높고 가장 낮은 가격을 계산합니다. 가격이 상위 또는 하부 레일 근처에 있다면 반대 방향으로 포지션을 열고 가격이 중간 라인에 돌아올 때까지 기다립니다.
이 전략은 주로 두 가지 지표에 기반합니다.%R 지표 (%R)그리고라루엔트 채널 철도.
%R 지표는 현재 폐쇄 가격과 가장 최근의 최고 및 최저 가격 사이의 거리를 나타냅니다. 값 범위는 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")