モメントム ボリンガー帯 双動平均 DCA 戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-31 14:20:11
タグ:

img

概要

モメントム・ボリンガーバンドズ・ダブル・ムービング・アベア DCA戦略は,低リスクで長期的に保有するドルコスト平均化戦略である.価格がローラーレールの下を突破したかどうかを判断するためにボリンガーバンドス指標と,市場傾向を判断するために二重移動平均と組み合わせて過売エリアにあるかどうかを判断するためにRSI指標を使用する.価格がボリンガーバンドスローラーレールの下を突破し,RSIが50以下になると,固定金額で500ドルで購入する.

戦略の論理

この戦略は主にボリンジャーバンドとRSI指標に基づい,市場動向を決定するために二重移動平均値で補完される.ボリンジャーバンドは,株の価格範囲を構築するために通常の分布統計理論に基づいて計算される.価格が下線を下回ると,株が比較的低い価格領域に入っていることを示唆する.RSI指標は価格が過剰販売領域にあるかどうかを決定する.二重移動平均値は短期および中期市場動向を決定する.

この戦略の取引論理は,株価がボリンジャー帯の下線線を下回り,RSIが50を下回ると,株価が比較的低い水準にあり,リバウンド勢力があることを示唆する固定額を投資して購入する.ダブル移動平均は市場の傾向を判断し,持続的な市場下落中に継続的な購入を避ける.

利点分析

この戦略の最大の利点は,比較的リスクが低く,操作が簡単である.固定投資戦略を採用することで,特定のエントリータイミングに注意を払う必要はありません.条件が満たされる限り,取引頻度を減少させ,購入が起こります.ボリンジャーバンド指標は,ローラーレールの下のブレイクが,購入後上昇の可能性が大きい低価格領域に入ることを表しています.50未満のRSIは,過剰販売ゾーンに入ると判断し,リバウンドする可能性が高いことを決定します.固定金額投資は,単一の損失の範囲も制御します.

リスク分析

この戦略の主なリスクは, (1) 市場の底部を決定することができないため,株式市場が急落すると損失のリスクが依然として存在します (2) RSI指標は常に過売り領域の終焉を決定するものではなく,価格は引き続き下落する可能性があります. (3) 固定投資戦略には定期的な資本投資が必要で,それが持続できない場合,業績にも影響します. 4) 取引コストは頻繁な小規模な取引に何らかの影響を与えます.

リスクをコントロールするために,インデックスETFのような比較的低リスク資産は取引することができます. 市場全体が下落チャネルにあるとき,頻繁に購入するのを避ける. 過売れ地帯の終点点を特定するためにRSIパラメータを調整することを検討します.

最適化

この戦略は,次の側面で最適化できます.

  1. 入場タイミングを判断するためにより多くの指標を使用します.例えば,MACD,KD,その他の指標を足して,過剰販売領域にあるかどうかを判断します.

  2. ストップロスの戦略を追加します.過剰な損失を避けるために価格が一定の割合で下落し続けるときにストップロスをします.

  3. ボリンジャー・バンドのパラメータを調整します.市場の変動が増加すると,過剰な購入を避けるためにボリンジャー・バンドのチャネルを適切に拡大します.

  4. 低取引量領域での購入を避けるために,チャイキンマネーフロー指標などの取引量指標を組み込む.

  5. RSIパラメータを自動的に最適化するアルゴリズムを採用し,RSIパラメータがリアルタイムで更新され,過売りエリアの終盤をより正確に決定します.

結論

モメントム・ボリンガー・バンドズ・ダブル・ムービング・平均値DCA戦略は,ボリンガー・バンドを比較的に低価格レベル,RSIを過売り地域,および二重移動平均値を比較して市場動向を決定し,低リスクの固定投資購入戦略を実装する.この戦略は,他の固定投資戦略と比較して,エントリータイミングの選択により注意を払っている.損失を完全に回避することは不可能であるが,損失の程度は限られており,長期保有利益は比較的大きい.いくつかのパラメータを調整し,指標を最適化することで,取引リスクはさらに削減され,戦略効率は向上することができる.


/*backtest
start: 2023-01-24 00:00:00
end: 2024-01-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger DCA v1", overlay=false)

//user inputs
contribution = input(title="Contribution (USD)",type=input.integer,minval=1,maxval=1000000,step=1,defval=500,confirm=false)
length = input(title="Bollinger (Period)", defval=20, step=1, minval=1)
mult = input(title="Deviations (Float)", defval=2.0, step=0.001, minval=0.001, maxval=50)
rsi_period = input(title="RSI (Period)", defval=14, step=1, minval=1)

//compute bollinger bands
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//compute moving averages
ma50 = sma(close,50)
ma100 = sma(close,100)
ma150 = sma(close,150)
ma200 = sma(close,200)
//up_trend = ma50 > ma100 and ma100 > ma150 and ma150 > ma200
//dn_trend = ma50 < ma100 and ma100 < ma150 and ma150 < ma200

//compute rsi
strength = rsi(close, rsi_period)

//plot indicators
//p1 = plot(upper, color=color.gray)
//p2 = plot(lower, color=color.gray)
//fill(p1, p2)
//p3 = plot(ma50, color=color.red)
//p4 = plot(ma100, color=color.blue)
//p5 = plot(ma150, color=color.green)
//p6 = plot(ma200, color=color.orange)

//units to buy
units = contribution / close

//long signal
if (close < lower and strength < 50)
    strategy.order("Long", strategy.long, units)

//close long signal
//if (close > upper and strength > 50 and strategy.position_size > 0)
    //strategy.order("Close Long", strategy.short, units)
    
//plot strategy equity
plot(strategy.openprofit, color=color.blue, linewidth=2, title="Open Profit")

もっと