이치모쿠: 돈 관리와 거래 전략

저자:차오장, 날짜: 2023-12-12 17:32:08
태그:

img

전반적인 설명

이치는 이치모쿠 킨코 히오 지표에 기반한 단장 주식 거래 전략입니다. 이 전략은 이치모쿠의 기본 원리를 활용하여 입상과 출구를 결정합니다.

전략 논리

이 전략은 먼저 이치모쿠의 구성 요소를 계산합니다. 텐칸 센, 키준 센, 센코 스판 A, 센코 스판 B 등이 포함됩니다.

길게 입력하면 다음 조건이 충족됩니다.

  • 위의 텐칸 십자, 금색 십자 신호인 장기 MA 위의 단기 MA 십자
  • 쿠모 클라우드 위의 가격, 가격이 지지를 얻고 상승하기 시작하는 것을 나타냅니다.
  • 미래 쿠모는 빨간색으로 표시되어 미래 트렌드가 상승하고 있습니다.
  • 텐칸에서 가격 거리는 < 2 x ATR, 추격 전략에 대한 가격이 너무 길지 않다는 것을 나타냅니다.
  • 에서 가격 거리는 < 3 x ATR, 추격 전략에 대한 가격이 너무 길지 않다는 것을 나타냅니다.
  • 텐칸과 키준은 쿠모 구름 위로 올라가고 있습니다

다음 조건이 충족되면 출구:

  • 아래의 텐칸 십자가, 죽은 십자가를 나타냅니다.
  • 가격 침투 Kumo 클라우드, 지원 손실을 나타냅니다
  • 이윤> 30% 이윤 취득 전략 시행
  • 손실 > 3%, 스톱 로스 전략을 실행

이점 분석

  • 이치모쿠를 활용하여 높은 정확도로 가격 추세를 결정합니다.
  • ATR을 포함 하 여 추격을 제어 하 고 과소 구매 및 과소 판매 를 피 합니다.
  • 다수의 확인을 가진 신호를 필터링하여 잘못된 신호를 피합니다.
  • 추가 전략은 수익을 가속화 할 수 있습니다.

위험 분석

  • 이치모쿠 신호가 늦어질 수 있어 다른 지표의 확인이 필요해
  • 잘못된 ATR 매개 변수는 과잉 구매 및 과잉 판매로 이어질 수 있습니다.
  • 추가 전략은 손실 위험을 증가시킬 수 있습니다.
  • 매개 변수는 다른 주식에 대해 수동으로 조정해야 합니다.

최적화 방향

  • 신호 확인을 위해 MACD, KDJ와 같은 다른 지표를 포함
  • 이윤 취득 수준을 높이고 손해를 멈추는 수준을 낮추는 것
  • 역사적인 데이터에 기초한 자동 조정 ATR 매개 변수
  • 다양한 분야에 대한 연구 매개 변수 차이, 매개 변수 풀 구축

요약

이것은 매우 실용적인 주식 거래 전략입니다. 이치모쿠를 트렌드 및 ATR을 리스크 제어에 활용하여 스톱 로스로 추격 전략에서 이익을 얻습니다. 이점은 분명합니다. 매개 변수 및 표시자를 결합하는 추가 최적화는 라이브 거래에 더 좋을 것입니다.


/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// Author Obarut
//@version=5
strategy("İchimoku Strategy With Money Management",overlay=true)

//Inputs
ts_period = input.int(9, minval=1, title="Tenkan-Sen Period")
ks_period = input.int(26, minval=1, title="Kijun-Sen Period")
ssb_period = input.int(52, minval=1, title="Senkou-Span B Period")
cs_offset = input.int(26, minval=1, title="Chikou-Span Offset")
ss_offset = input.int(26, minval=1, title="Senkou-Span Offset")


// Back Testing Period

fromday = input.int(defval=1,title="Start Date",minval=1,maxval=31) 
frommonth = input.int(defval=1,title="Start Month",minval=1,maxval=12)
fromyear = input.int(defval=1980,title="Start Year",minval=1800, maxval=2100)
today = input.int(defval=1,title="En Date",minval=1,maxval=31)
tomonth = input.int(defval=1,title="End Month",minval=1,maxval=12)
toyear =input.int(defval=2100,title="End Year",minval=1800,maxval=2200)


start=timestamp(fromyear,frommonth,fromday,00,00)
finish=timestamp(toyear,tomonth,today,00,00)
timewindow= time>=start and time<=finish

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

// Ichimoku Components

tenkan = middle(ts_period)
kijun = middle(ks_period)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_period)


atr = ta.atr(14)
ss_above = math.max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_below = math.min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Price Distance From Tenkan

distance = close - tenkan

// Price Distance from Kijun

distancek = close - kijun

// Entry/Exit Signals

tk_cross_kijun_bull = tenkan >= kijun
tk_cross_kijun_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_above
pbsenkA = close < ss_above
pasenkB = close > ss_below
price_below_kumo = close < ss_above
future_kumo_bull = senkouA > senkouB
future_kumo_bear = senkouA < senkouB
// Price Distance From Tenken
disbull = distance < 2*atr
//Price Distance From Kijun
disbullk = distancek < 3*atr
//Price Above Tenkan Condition
patk = close > tenkan
// Kijun Above Senkou Span Condition
kjasenkA = kijun > ss_above
// Price Below Kijun Condition
pbkijun = close < kijun

//Bullish Condition

bullish= tk_cross_kijun_bull and cs_cross_bull and price_above_kumo and future_kumo_bull and patk and disbull and disbullk 
     and (tenkan>ss_above) and (kijun>ss_above)

if(bullish and timewindow )
    strategy.entry("Long Entry", strategy.long)

// Bearish Condition

bearish=tk_cross_kijun_bear and pbsenkA and cs_cross_bear  
      or pbkijun or price_below_kumo 

lastentryprice = strategy.opentrades.entry_price(strategy.opentrades - 1)

// Take Profit or Stop Loss in Bearish

if(bearish and timewindow or (close>1.30*lastentryprice and close<kijun ) or (close< 0.93*lastentryprice))
    strategy.close("Long Entry")




if(time>finish)
    strategy.close_all("time up")


plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#2e640e, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.rgb(17, 122, 21), title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.rgb(88, 8, 8), title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.rgb(198, 234, 198) : color.rgb(208, 153, 153), title="Cloud color")

더 많은