一目均衡表指標に基づくブレイクアウト戦略


作成日: 2024-01-16 17:12:49 最終変更日: 2024-01-16 17:12:49
コピー: 0 クリック数: 657
1
フォロー
1617
フォロワー

一目均衡表指標に基づくブレイクアウト戦略

戦略概要

この戦略は,Ichimoku Kinko Hyo指数に基づく多空二方向突破戦略と呼ばれる.この戦略は,Ichimoku Kinko Hyo指数内の変転線,基準線,先行線,およびKumo雲図を用いて,株式の多空方向とトレンドを判断し,突破買いと突破売りを実現する.

2 戦略の詳細

  1. イチモク・キンコ・ヒョの指標の構成要素を計算する.

    • Tenkan-Sen ((回転線):最高値と最低値の中間値を計算する
    • Kijun-Sen ((基準線):最高値と最低値の中間値を計算する
    • Senkou Span A ((先行線A):テンカン-センとキジュン-センの中間値を計算する
    • Senkou Span B ((先行線B):最高価格と最低価格の中間値を計算する
    • Chikou Span (チコウ・スパン) (遅延ライン)
  2. 購入する気配の判断:

    • 田んぼがキジュン・センに乗ったとき
    • 取引が終了した日に,クモの雲の地図を横切ったとき,
    • 遅延線でKumoの雲図を通過すると,購入信号が生成されます.
  3. 売ったという判断:

    • 田んぼがキジュンセンを通過する時
    • 閉店した日にクモの雲の地図を横切ったとき
    • 遅延下線でKumoの雲図を通過すると,出売信号が生成されます.

3つ目 戦略的優位性分析

  1. イチモク・キンコ・ヒョの指標を用いてトレンドを判断し,高い精度で判断する.
  2. 遅延線が加えられることで,偽の突破を防ぐことができました.
  3. 多空の双方向取引は,市場の上昇と下落の両方から利益を得ることができます.
  4. パラメータは,異なる周期に対応して調整できます.

4 戦略的リスク分析

  1. 市場が揺れ動いている時には,頻繁に取引損失が発生する可能性があります.
  2. 複数の条件を同時に満たす必要があり,最適な入口点を逃す可能性がある.
  3. 長期取引コストは高い.

リスクの解決方法

  1. 市場を揺るがす取引を避けるためにパラメータを調整する.
  2. 他の指標と組み合わせた確認信号により,誤差率が低下する.
  3. 持株期間を適切に延長し,取引手数料を削減する.

5 戦略の最適化方向

  1. 移動平均などの指標と組み合わせた取引確認信号.
  2. ストップ・ロジックで単発損失を減らす
  3. パラメータを最適化して,異なる周期と品種に適応できるようにした.

6 戦略の概要

この戦略は,Ichimoku Kinko Hyoの多指標の組み合わせによって株のトレンドを判断し,価格と雲図の突破を取引信号として,多空双方向取引を実現する。単一の指標と比較して,この戦略の判断精度は高く,多くの偽突破を回避する。同時に,ある程度の遅滞があり,最適な買い時をつかむことができないという問題もある。全体的に,この戦略は,トレンドの方向を正確に判断する能力が強であり,リスクも制御可能な範囲にあるため,さらなる最適化と検証に値する。

ストラテジーソースコード
/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Ichimoku Kinko Hyo: Basic Strategy', overlay=true)

//Inputs
ts_bars = input.int(7, minval=1, title='Tenkan-Sen Bars')
ks_bars = input.int(14, minval=1, title='Kijun-Sen Bars')
ssb_bars = input.int(28, minval=1, title='Senkou-Span B Bars')
cs_offset = input.int(14, minval=1, title='Chikou-Span Offset')
ss_offset = input.int(14, minval=1, title='Senkou-Span Offset')
long_entry = input(true, title='Long Entry')
short_entry = input(false, title='Short Entry')

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

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

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

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 Signals
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)
strategy.entry('Short', strategy.short, when=bearish and short_entry)

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