다중 시간 프레임 대각선 스택 RSI 전략


생성 날짜: 2023-09-28 16:12:25 마지막으로 수정됨: 2023-09-28 16:12:25
복사: 2 클릭수: 735
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 다중 시간 프레임 RSI 재배치 전략이 아니며, 두 개의 더 높은 시간 프레임이 oversold 될 때만 더 많이 합니다. 나는 BTC/USD의 1 분 라인에 작성했지만 논리는 다른 자산에도 적용 할 수 있습니다. 자산이 하향 추세에있을 때 수익을 올리는 것을 목표로합니다.

원칙

대각층은 입구와 출구 조건이 다른 시간 프레임에 분산되어 있음을 나타냅니다. 일반적으로 지표는 수익성이 떨어질 수 있습니다. 왜냐하면 하향 추세에서 현재 시간 프레임의 초고 구매 지역은 접촉되지 않고 더 높은 시간 프레임의 초고 구매 지역을 먼저 접촉하고 재조정이 일어나기 때문입니다. 대각층 전략은 대각선 방식으로 문제를 해소합니다. 즉, 더 빠른 시간 프레임이 초고 구매 할 때 판매하고, 더 느린 시간 프레임이 초고 판매 할 때 구매하십시오.

따라서, 이 전략은 대각선으로 겹쳐져 있습니다. 나는 대각선 위와 대각선 아래로 전환하는 개별 스크립트를 만들 수도 있습니다. 왜냐하면, 길게 상승하는 동안, 지표는 자주 깜박이지 않을 수 있기 때문입니다. 이것은 시간 순서와 시간 프레임 차트에 대각선 X 모양으로 간주 될 수 있습니다.

장점

  • 다중 시간 프레임 RSI 지표를 사용하여 거래 신호의 신뢰성을 향상시킵니다.
  • 코너 층층으로 진입하여 하향 추세에서 더 많은 기회를 얻을 수 있습니다.
  • 재배치되지 않은 지표, 신호 신뢰성
  • 다양한 시장에 맞게 RSI 변수와 오버 바이 오버 셀 경계
  • 거래비용을 고려하고, 고주파 거래가 아닌 안정적인 수익을 추구하라

위험과 해결책

  • RSI는 가짜 신호를 발생시킬 수 있으며, 적절한 파라미터를 조정하거나 필터 조건을 추가할 수 있습니다.
  • 대각층화는 진입의 난이도를 증가시키고, 층층된 시간 프레임의 수를 줄일 수 있다.
  • 그냥 더 많이 하는 것, 방향성 있는 위험을 감수하는 것, 균형이 있는 더 많은 공백을 하는 것을 고려하는 것
  • 고정 손실을 사용하여 단편 손실을 제어하십시오.

최적화 방향

  • 트렌드 판단을 늘리고, 트렌드가 하락할 때 대각층을 사용하며, 트렌드가 상승할 때 대각층을 사용
  • RSI 변수를 최적화하여 최적의 조합을 찾습니다.
  • 볼륨, MA 등의 지표 필터링을 추가하여 신호 품질을 향상시킵니다.
  • 모든 시장에서 수익을 창출할 수 있도록 포디션 전략을 추가합니다.
  • 손실을 줄이고, 회수량을 줄여라

요약하다

이 전략overall은 매우 효과적인 하향 트렌드 거래 전략이다. 다중 시간 프레임 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)