イチモク・クラウドとボリンジャー・バンドの組み合わせの取引戦略

作者: リン・ハーンチャオチャン開催日:2023年12月27日 16:21:28
タグ:

img

概要

この戦略は,日本のイチモク・クラウド指標とボリンジャー・バンド指標を組み合わせて,ロング・ショートポジションの取引信号を生成する.この戦略は,誤った取引を避けるためにボリンジャー・バンド指標がロング・ショート信号を発信するときに,市場の動向を効果的に決定し,判断を下すことができます.

戦略原則

  1. イチモク・クラウドは,変換線,ベースライン,遅延線,リードラインから構成される.変換線は9日間の移動平均線であり,ベースラインは26日間の移動平均線である.変換線がベースラインの上にあるとき,それは上昇信号であり,反versaは下落信号である.

  2. 遅い線は,価格の遅い動きである.遅い線が上にあるとき,それは上昇傾向を示します.下には下落傾向を示します.

  3. 雲帯は, 52 日移動平均値と 26 日移動平均値の平均値である2 つの主要線から構成される.雲帯の上の価格は上昇傾向であり,下の価格は下落傾向である.

  4. ボリンジャーバンドは,価格の変動率帯を表す,n日間の移動平均値と標準偏差から構成される.上部帯の上の割れは牛がコントロールしていることを示し,下部帯の下部帯の割れは熊がコントロールしていることを示唆する.

  5. この戦略は,イチモク・クラウドから発生する信号とボリンジャー・バンドのブレイクアウトに基づいて取引規則を形成する.例えば,変換線がベースライン上を上向きにクロスオーバーしているとき,遅れている線が上にあるとき,価格がクラウド・バンドを突破し,ボリンジャー・バンドの上部帯を突破すると,長いエントリー信号が起動する.

戦略 の 利点

  1. イチモク雲はトレンド方向を明確に判断し,変換線と遅延線は短期トレンドを示し,雲帯は中長期トレンド方向を示します.

  2. ボリンジャー帯は価格が過剰に伸びているかどうかを決定し,不必要な取引を効果的にフィルタリングすることができます.

  3. 指標の組み合わせにより,取引信号はより明確で信頼性が高くなり,取引リスクが回避されます.

リスク と 最適化

  1. ボリンジャー・バンドのパラメータの設定が正しくない場合,取引信号が不正確になる可能性があります.パラメータは,異なる裏付け資産に応じて慎重に設定する必要があります.

  2. ポジションの大きさはリスクを制御するために適切に調整されるべきです. 過剰に大きいポジションは,より大きな損失につながる可能性があります.

  3. 価格が一定の範囲を超えて不利な方向に動くと損失を止めるためのストップ・ロスの戦略を組み込むことを検討します.

  4. より信頼性の高い取引戦略を形成するために イチモク・クラウドと組み合わせたより多くの指標をテストすることを検討します

結論

この戦略は,トレンド方向を決定するためにイチモク・クラウドとシグナルをフィルタリングするためにボリンジャー・バンドの指標を効果的に利用する.戦略シグナルは比較的明確で信頼性がある.パラメータ調整とストップロスの最適化により,取引リスクが軽減され,良い収益が得られる.


/*backtest
start: 2023-12-19 00:00:00
end: 2023-12-26 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
strategy("Ichimoku Cloud and Bollinger Bands",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = true
notInTrade = strategy.position_size <= 0


//Ichimoku Cloud
//Inputs
ts_bars = input.int(9, minval=1, title="Tenkan-Sen Bars")
ks_bars = input.int(26, minval=1, title="Kijun-Sen Bars")
ssb_bars = input.int(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input.int(26, minval=1, title="Chikou-Span Offset")
ss_offset = input.int(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

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

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

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

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 Conditions
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


//Bollinger Bands Indicator
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and ta.crossover(lower, close)
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and ta.crossover(close, lower)

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

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


//Works well on BTC 30m/1h (11.29%), ETH 2h (29.05%), MATIC 2h/30m (37.12%), AVAX 1h/2h (49.2%), SOL 45m (45.43%)


もっと