다중 시간 프레임 직선 상층 RSI 전략

저자:차오장, 날짜: 2023-09-28 16:12:25
태그:

전반적인 설명

이 전략은 2개의 더 높은 시간 프레임이 과판되었을 때만 장기화되는 다중 시간 프레임 비 재화화 RSI 전략입니다. BTC/USD 1 분에 대해 작성했지만 논리는 다른 자산에도 작동해야합니다. 자산이 하락 추세에있을 때 수익성이있게 설계되었습니다.

원칙

대각층화 (diagonal layering) 는 서로 다른 시간 프레임에 걸쳐 퍼져있는 입출장 조건을 의미합니다. 일반적으로 지표는 수익성이 떨어질 수 있습니다. 왜냐하면 하락 추세에서는 현재 시간 프레임의 과잉 구매 구역이 도달하지 않기 때문입니다. 오히려 더 높은 시간 프레임의 과잉 구매 구역이 먼저 도달하고 후퇴가 발생합니다. 대각층화 전략은 대각적으로 판매함으로써 이를 완화합니다. 즉, 더 빠른 시간 프레임이 과잉 구매에 도달하면 판매하고 느린 시간 프레임이 과잉 판매에 도달하면 구매합니다.

따라서 이 전략은 대각선으로 층화되어 있습니다. 저는 전체 트렌드를 기반으로 대각선 위로와 대각선 아래로 전환하는 별도의 스크립트를 만들 수 있습니다. 긴 상승 트렌드 기간 동안이 지표가 자주 깜박이지 않을 수 있습니다. 이것은 시간 시리즈 x 시간 프레임 차트에서 X 모양으로 시각화 될 수 있습니다. 고려해야 할 사항...

장점

  • 여러 시간 프레임에 걸쳐 RSI 지표를 활용하여 신호 신뢰성을 향상시킵니다.
  • 직선적 계층화는 하락 추세에서 더 많은 기회를 제공합니다.
  • 재색이 안되는 지표는 신뢰할 수 있는 신호를 제공합니다.
  • 구성 가능한 RSI 매개 변수 및 과잉 매수/ 과잉 판매 수준은 다른 시장에 적응
  • 거래 비용을 고려하고, 높은 주파수 거래보다 안정적인 수익을 목표로합니다.

위험 과 해결책

  • 거짓 신호, 변수를 조정하거나 필터를 추가하는 경향이있는 RSI
  • 대각층으로 구성되어 있어 진입의 어려움이 증가하고, 층으로 구성된 시간 프레임이 줄어듭니다.
  • 단, 방향적 위험에 노출되어, 긴/단 균형을 고려
  • 거래당 손실을 제어하기 위해 고정 스톱 손실을 사용하십시오.

최적화 방향

  • 트렌드 검출을 추가하고, 하향 트렌드에서 대각층을 사용, 상승 트렌드에서 대각층을 사용
  • 가장 좋은 조합을 찾기 위해 RSI 매개 변수를 최적화
  • 신호 품질을 개선하기 위해 볼륨, MA 등을 필터 추가
  • 모든 시장에서 수익을 낼 수 있도록 짧은 전략을 추가합니다.
  • 마감량을 줄이기 위해 스톱 로스를 최적화합니다.

요약

전체적으로 이것은 매우 효과적인 하향 트렌드 거래 전략이다. 멀티 타임프레임 RSI 및 대각층화를 사용하여 하향 트렌드에서 반기를 잡을 수있는 기회를 제공합니다. 재화하지 않는 것도 신호 신뢰성을 향상시킵니다. 매개 변수 최적화, 필터 추가 및 짧은 전략으로 모든 시장에 대한 강력한 전략으로 만들 수 있습니다.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-06-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wbburgin

//@version=5
strategy("MTF Layered RSI - Bitcoin Bot [wbburgin]",overlay=false, pyramiding = 20, initial_capital=10000)

length = input.int(7,"RSI Length")
tf2 = input.timeframe("3",title="HT 1")
tf3 = input.timeframe("5",title="HT 2")
ob = input.int(80,"Overbought Level")
os = input.int(20,"Oversold Level")

rsi = ta.rsi(close,length)
rsi2 = request.security(syminfo.tickerid, tf2, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)
rsi3 = request.security(syminfo.tickerid, tf3, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)

plot(rsi,color=color.yellow,title="RSI Current TF")
plot(rsi2,color=color.new(color.yellow,50),title="RSI HT1")
plot(rsi3,color=color.new(color.yellow,75),title="RSI HT2")

lm=hline(os,title="Oversold")
hm=hline(ob,title="Overbought")

fill(hm,lm,color=color.new(color.blue,95))

htCross = (ta.crossover(rsi2,os) and rsi3>os and rsi>os) or (ta.crossover(rsi3,os) and rsi2>os and rsi>os)
buySig = (ta.crossover(rsi,os) and rsi2 < os and rsi3 < os) or htCross
sellSig = ta.crossunder(rsi,ob)

if buySig
    strategy.entry("Long",strategy.long)
if sellSig
    strategy.close("Long")

plotshape(buySig,title="Buysig",style=shape.triangleup,location=location.bottom,color=color.green,size=size.tiny)
plotshape(sellSig,title="Sellsig",style=shape.triangledown,location=location.top,color=color.red,size=size.tiny)

더 많은