이치모쿠 킨코 효 트렌드 팔로잉 전략


생성 날짜: 2023-11-24 14:38:47 마지막으로 수정됨: 2023-11-24 14:38:47
복사: 0 클릭수: 653
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이치모쿠 킨코 효 트렌드 팔로잉 전략

개요

일목 균형 전략은 이치모쿠 킨코 히오 지표를 활용한 트렌드 추적 전략이다. 이 전략은 여러 지표의 트렌드 지향을 결합하여, 불시장에서 더 많이 하고, 불시장에서 적자를 하며, 자금의 장기적인 부가가치를 달성한다.

전략 원칙

이 전략은 주로 이치모쿠 킨코 히오 지표에 기반한다. 이 지표는 전환선 (((Tenkan-Sen), 기준선 (((Kijun-Sen), 앞선선 (((Senkou-Span A), 선도선 ((((Senkou-Span B) 및 지연선 (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((

이 전략의 거래 신호는 다음과 같은 조건의 조합에서 나온다.

  1. 회전선에서 기준선을 통과하여 다중 신호
  2. 기준선을 가로질러 공중 신호로 회전
  3. 지연선이 상향으로 넘어가서 다중으로 확인
  4. 지연선 아래로 가로질러 공백으로 확인
  5. RSI가 50보다 높으면 다중 지표가 됩니다.
  6. RSI가 50보다 낮으면 공백이 됩니다.
  7. 가격의 다중 경향은 클라우드 그래프 위에 나타납니다.
  8. 구름 아래의 가격 추세

위의 다목조건이 동시에 충족될 때, 다목적으로 입학한다. 위의 빈목조건이 동시에 충족될 때, 빈목적으로 입학한다.

우위 분석

이 전략은 트렌드 추적과 오버 바이 오버 소이드 지표를 결합하여 트렌드의 방향을 효과적으로 식별할 수 있다. 주요 장점은 다음과 같다:

  1. 이치모쿠 킨코 Hyo 지표는 단기 시장 소음에 의해 오해받지 않도록 중·장기 추세를 식별합니다.
  2. RSI와 결합하면 과매매 지역을 효과적으로 판단하여 역전 기회를 놓치지 않도록 할 수 있습니다.
  3. 주가 변동률을 고려하여, 변동률이 높을 때만 투자하여 무효 거래를 피하십시오.
  4. 엄격한 입출장 절차로 최대한의 위험을 피한다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 이치모쿠 킨코 히오 (Ichimoku Kinko Hyo) 지표가 뒤쳐져 있기 때문에 출전 시기가 늦어질 수 있다.
  2. 여러 조건 결합 거래 신호의 발생 빈도가 낮아 거래 횟수가 부족하게 될 수 있다.
  3. 자금 관리 및 포지션 관리에 대한 고려가 이루어지지 않은 경우, 과잉 거래의 위험이 발생할 수 있습니다.

대응방법:

  1. 이치모쿠 킨코 Hyo의 매개 변수를 적절히 줄여서 지표의 민감도를 높인다.
  2. 입시 조건의 엄격성을 낮추고 거래의 빈도를 높여라.
  3. 자금 관리 및 포지션 관리 모듈에 가입하여 단일 거래 자금 비율과 포지션을 제어하십시오.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. KDJ, MACD 등과 같은 다른 지표들을 대체하거나 조합하여 풍부한 신호원을 다.
  2. 이치모쿠 킨코 히오의 매개 변수를 최적화하여 지표의 민감도를 높인다.
  3. 수익을 고정하고 위험을 통제하기 위해 Stop Loss 전략에 참여하십시오.
  4. 포지션 관리 모듈을 추가하고, 자금 규모에 따라 포지션을 동적으로 조정한다.
  5. 미래에셋대우 시상식보증 모듈을 추가하고, 다중자리 시상식보증 리스크를 관리한다.

요약하다

1인치 균형 전략은 전체적으로 신뢰할 수 있고, 안정적인 트렌드 추적 전략이다. 트렌드 거래에서 중요한 문제를 해결한다. 트렌드 식별 정확성과 트레이드 생성 빈도 사이의 균형이다. 매개 변수 조정 및 모듈 확장으로 여전히 최적화 공간이 있으며, 장기적으로 사용할 수 있는 전략 중 하나이다.

전략 소스 코드
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Ichimoku Kinko Hyo: ETH 3h Strategy by tobuno", overlay=true)

//Inputs
ts_bars = input(22, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(60, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

//Volatility
vollength = input(defval=2, title="VolLength")
voltarget = input(defval=0.2, type=float, step=0.1, title="Volatility Target")
Difference = abs((close - open)/((close + open)/2) * 100)
MovingAverage = sma(Difference, vollength)
highvolatility = MovingAverage > voltarget

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

middle(len) => avg(lowest(len), highest(len))

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

//RSI
change = change(close)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))

// Plot Ichimoku Kinko Hyo
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=green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? green : red, title="Cloud color")

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

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish and highvolatility

strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)

strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)