이치모쿠 킨코 효와 RSI 조합 전략


생성 날짜: 2023-09-21 10:52:13 마지막으로 수정됨: 2023-09-21 10:52:13
복사: 0 클릭수: 1141
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 트렌드 방향을 판단하기 위해 1차 균형표와 상대적으로 약한 지수 ((RSI) 지표를 사용하여 트렌드 시작 시 출전합니다. 1차 균형표의 세 개의 선이 조건이있는 배열 조합을 형성하고 RSI 신호와 결합하면 거래 신호가 발생합니다.

전략 원칙

  1. 첫 번째 평형표의 변환선, 기준선, 지연선 계산
  2. RSI를 계산하는 방법
  3. 전환선에서 기준선을 통과하고, 지연선이 양선 위에 있고, 종결 가격이 클라우드 그래프를 뚫고, RSI가 50보다 낮을 때 더 많이하십시오.
  4. 전환선 아래의 기준선과 지연선 아래의 마이너스 라인, 클라우드 그래프 아래의 종결 가격, RSI가 50보다 높을 때 마이너스
  5. 반전 신호가 발생했을 때 평행

구체적으로, 이 전략은 일회성표의 트렌드 판단과 RSI의 오버 바이 오버 세를 판단한다. 일회성표의 삼선 조합 형태가 트렌드를 시작하고 RSI가 동시에 오버 바이 오버 세를 표시하지 않을 때, 진입 신호를 생성한다. RSI 필터는 정리할 때 잘못된 진입을 방지하는 것을 돕는다. 평점 신호는 전적으로 일회성표에 근거하여 FORMATION를 역전한다.

우위 분석

  1. RSI를 통합하여 입학률을 높여줍니다.
  2. 한눈에 균형표는 트렌드 방향을 판단할 수 있고, 강한 트렌드 추적 능력을 가지고 있다.
  3. 트레이딩 신호는 간단하고 직관적이며, 쉽게 이해할 수 있습니다.
  4. 평균선 및 RSI 파라미터를 조정하여 다른 시기를 조정할 수 있습니다.
  5. 위험 통제를 위한 스톱 손실 전략

위험 분석

  1. 평형표는 가끔 뒤떨어지고 실수로 조정을 할 수 있습니다.
  2. 최적화해야 하는 변수, 그렇지 않으면 거래 신호가 정확하지 않을 수 있습니다.
  3. 장기 포지션은 하룻밤 사이에 위험합니다.
  4. RSI는 잘못된 신호를 내보냅니다.
  5. “아마도 반전으로 막혔다”.

매개 변수 최적화, 최적화된 스톱 스톱 손실 전략, 적절히 단축된 포지션 기간 등의 방법으로 위험을 관리할 수 있다.

최적화 방향

  1. 다양한 평균선과 RSI 파라미터를 테스트하여 최적의 조합을 찾아내는 방법
  2. 모바일 스톱로드를 도입하여 가격 변화를 추적합니다.
  3. 거래 시간 제한의 효과에 대한 평가
  4. 다양한 품종의 변수 선호를 연구하는 것
  5. 테스트 추가 재입학 및 부가 규칙
  6. 서로 다른 스톱스트로드 전략을 비교합니다.

요약하다

이 전략은 1차 균형표와 RSI 지표를 결합하여 트렌드 판단과 거래를 한다. 장점은 신호가 간단하고 직관적이며, ROI가 높다는 것이다. 단점은 지연과 피지배의 위험이 존재한다는 것이다. 전략의 효과를 향상시키고 위험을 제어하기 위해 파라미터 최적화, 스톱 스톱 손실 최적화, 거래 시간을 제한하는 등의 방법을 사용할 수 있다. 이 전략은 거래자가 1차 균형표의 적용을 완전히 이해할 수 있도록 한다.

전략 소스 코드
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 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/
// © Coinrule

//@version=5
strategy("Ichimoku Cloud with RSI (By Coinrule)",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 6, 1, 0, 0)


// RSI inputs and calculations
lengthRSI = 14
RSI = ta.rsi(close, lengthRSI)


//Inputs
ts_bars = input.int(9, minval=1, title="Tenkan-Sen Bars")
ks_bars = input.int(26, minval=1, title="Kijun-Sen Bars")
ssb_bars = input.int(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input.int(26, minval=1, title="Chikou-Span Offset")
ss_offset = input.int(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

middle(len) => math.avg(ta.lowest(len), ta.highest(len))


// Components of Ichimoku Cloud
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_bars)


// Plot Ichimoku Cloud
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.green : color.red, title="Cloud color")

ss_high = math.max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = math.min(senkouA[ss_offset-1], senkouB[ss_offset-1])


// Entry/Exit Conditions
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = ta.mom(close, cs_offset-1) > 0
cs_cross_bear = ta.mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

bullish = tk_cross_bull and cs_cross_bull and price_above_kumo
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo

strategy.entry("Long", strategy.long, when=bullish and long_entry and RSI < 50 and timePeriod)
strategy.close("Long", when=bearish and not short_entry)

strategy.entry("Short", strategy.short, when=bearish and short_entry and RSI > 50 and timePeriod)
strategy.close("Short", when=bullish and not long_entry)