イチモク 資金管理による取引戦略

作者: リン・ハーンチャオチャン開催日:2023年12月12日 17:32:08
タグ:

img

概要

これはイチモク・キンコ・ヒョー指標に基づいた長期株取引戦略です.この戦略は,入口と出口を決定するためにイチモクの基本原理を利用しています.

戦略の論理

この戦略は,まずテンカン・セン,キジョン・セン,センコスパンA,センコスパンBを含むイチモクの構成要素を計算します.

次の条件を満たす場合,長引入

  • キージュンの上のテンカン十字が,金色の十字の信号である長期MAの上の短期MAを表示します.
  • 価格が支持を得て上昇し始めていることを示唆する
  • フューチャー・クモは赤色で,フューチャー・トレンドが上昇していることを示しています.
  • 追いかける戦略のために価格が過剰に伸びていないことを示すTenkanから価格距離 < 2 x ATR
  • 追いかける戦略のために価格が過剰に拡張されていないことを示す,キジュンから価格距離 < 3 x ATR
  • テンカンとキジュンはクモ雲の上にある イチモクが上昇している

次の条件が満たされている場合 退出

  • キジュンの下のテンカン十字,死十字を示しています
  • 価格浸透 支持の喪失を示唆するクモ雲
  • 利益 > 30% 利益の引き上げ戦略の実施
  • 損失 > 3%,ストップ損失戦略の実施

利点分析

  • 高い精度で価格傾向を決定するためにIchimokuを使用します
  • 追いかけるのを制御するために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")

もっと