一目均衡表取引戦略


作成日: 2023-12-12 17:32:08 最終変更日: 2023-12-12 17:32:08
コピー: 2 クリック数: 707
1
フォロー
1621
フォロワー

一目均衡表取引戦略

概要

これは,イチモク・キンコ・ヒョ指数に基づく多元株取引戦略である.この戦略は,一目瞭然の均衡の基本原理を利用して,上場と出場のタイミングを判断する.

戦略原則

この戦略は,天井線 ((Tenkan-Sen),基準線 ((Kijun-Sen),先行線 ((Senkou Span A) と遅延線 ((Senkou Span B)) を含む,一見均衡な構成要素を最初に計算する.

市場への参入は,以下の条件を満たす場合です.

  • 天線に基準線を穿い,短期平均線に長期平均線を穿い,金叉信号属
  • 株価が上昇し始めていることを示す上空図
  • 将来の雲は赤で,上昇傾向を示しています.
  • 価格が天線から2倍ATR未満の距離で,高くない価格を示し,追尾戦略に合致する
  • 価格がベースラインから3倍ATR未満で,価格が高くないことを示す,追尾戦略に適合する
  • 天井線と基準線は,雲の上の線で,一見平衡の上昇傾向を示しています.

次の条件が満たされている場合,平仓出場:

  • 天線の下の基準線を穿越し,短期平均線の下の長期平均線を穿越し,死叉信号属
  • 株価が支持を失っていることを示す雲のグラフの下落
  • 収益が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")