%R 역 채널 전략

저자:차오장, 날짜: 2023-12-05 12:04:13
태그:

img

전략 개요

이것은 Laruent 채널 지표에 기반한 반전 거래 전략입니다. 현재 가격이 과반 구매 또는 과반 판매 영역에 있는지 여부를 결정하기 위해 과거에 특정 기간 동안 가장 높고 가장 낮은 가격을 계산합니다. 가격이 상위 또는 하부 레일 근처에 있다면 반대 방향으로 포지션을 열고 가격이 중간 라인에 돌아올 때까지 기다립니다.

전략 원칙

이 전략은 주로 두 가지 지표에 기반합니다.%R 지표 (%R)그리고라루엔트 채널 철도.

%R 지표는 현재 폐쇄 가격과 가장 최근의 최고 및 최저 가격 사이의 거리를 나타냅니다. 값 범위는 0에서 -100입니다. 0에 가까운 값은 현재 폐쇄 가격이 최근 가장 높은 지점에 가깝다는 것을 의미합니다. -100에 가까운 값은 현재 폐쇄 가격이 최근에 가장 낮은 가격에 가깝다는 것을 의미합니다.

라루엔트 채널은 상선, 중선, 하선으로 구성되어 있다. 상선은 가장 최근의 기간 동안 가장 높은 가격에 해당한다. 하선은 그 기간 동안 가장 낮은 가격에 해당한다. 중선은 상선과 하선의 평균이다. 가격이 상선을 초과하면 과소매로 간주된다. 가격이 하선 아래에 있다면 과소매로 간주된다.

이 전략은 먼저%R 지표그리고라루엔트 채널 철도, 다음 두 가지 지표를 사용하여 현재 상태가 과소매 또는 과소매인지 결정합니다:

  1. %R가 -87보다 낮으면 과판된 상태라고 간주됩니다.
  2. PercentR가 -20보다 높을 때 상태가 과잉 매입된 것으로 간주됩니다.

만약 현재 상태가 너무 많이 매도되거나 너무 많이 팔리지 않는다면, 시장이 열릴 때까지 장기간에 걸려서 같은 날 시장이 닫기 전에 포지션을 닫을 것입니다.

가격 반전을 파악함으로써 단기적으로 이익을 얻을 수 있습니다.

장점

  1. 전략은 간단하고 명확하고 이해하기 쉽고 실행하기 쉽습니다.
  2. 과잉 구매/ 과잉 판매 상태를 판단하기 위해 PercentR 지표를 사용하는 것은 신뢰할 수 있습니다.
  3. 시장을 닫기 전에 시장을 열고 포지션을 닫는 주문을 하는 것은 오버나이트 위험을 피합니다.
  4. 반전 거래 전략으로서 단기 수익을 창출하는 데 적합합니다.

위험성

  1. 역전 실패로 수익을 낼 수 없습니다.
  2. 부적절한 매개 변수 설정, 과잉 구매/ 과잉 판매 상태를 올바르게 판단할 수 없습니다.
  3. 너무 짧은 내일 거래 시간, 더 적은 거래 신호.

위험은 매개 변수를 최적화하거나 주문 배치 시간을 조정하거나 다른 지표와 결합하여 줄일 수 있습니다.

최적화

  1. 스톱 로스 메커니즘을 도입하여 스톱 로스 라인을 설정하여 손실 확장을 방지할 수 있습니다.
  2. %R의 매개 변수들은 과잉 구매/ 과잉 판매 판단을 더 정확하게 하기 위해 최적화 될 수 있습니다.
  3. 이 전략은 여러 시간 프레임에서 동시에 여러 시간 프레임 거래를 구현할 수 있습니다.
  4. KDJ, MACD와 같은 다른 지표와 결합하여 거래 신호를 더 신뢰할 수 있습니다.

요약

일반적으로, 이 전략은 매우 간단하고 실용적입니다. 반전 거래 아이디어를 기반으로 설계되어 있으며 단기 빈번한 거래에 적합합니다. 최적화 할 수있는 많은 공간이 있습니다. 더 많은 기술적 인 지표를 조합에 도입 할 수 있습니다. 또한 위험을 제어하기 위해 자동 스톱 로스 메커니즘을 설정 할 수 있습니다.


/*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")
    

더 많은