ビットコイン - MAクロスオーバー戦略

作者: リン・ハーンチャオチャン開催日:2023年4月12日 13:55:45
タグ:

img

概要

この戦略は,ビットコインの移動平均線のクロスオーバー原理に基づいて設計されたトレンドフォロートレード戦略である.この戦略は,高速移動平均線と遅い移動平均線のクロスオーバーを買い売り信号として使用する.高速移動平均線がスロームービング平均線を越えると,それは黄金十字とみなされ,長くなってしまう.高速移動平均線がスロームービング平均線を下回ると,それは死亡十字とみなされ,短くなってしまう.同時に,この戦略は無謀なエントリーを避けるためにRSI指標も組み込む.

戦略原則

この戦略は主に2つの指標に基づいています.

  1. 移動平均 (MA): 価格動向と逆転信号を決定するために,一定の期間における平均閉店価格を計算する.

  2. 相対強度指数 (RSI): 値上がりや下落の速度を計算し,過買い・過売を判断する.

具体的には,この戦略は,短めのMAを高速線と,より長いMAをスローラインとして使用する.高速線がスローラインを超えると,短期間の価格上昇が加速し,購入信号が生成される.高速線がスローラインを下回ると,短期間の価格下落が加速し,販売信号が生成される.

同時に,この戦略はRSIの値も設定し,RSIが50を超えるとのみ購入信号を生成し,RSIが50を下回るとのみ販売信号を生成し,価格が激動するときに無謀なエントリーを避ける.

利点分析

この戦略には以下の利点があります.

  1. この原則はシンプルで 分かりやすく 実行できます
  2. 信頼性の高い取引信号は 不合理なエントリーを避けます
  3. パラメータが少なく 最適化が簡単です
  4. 広く応用できる成熟した移動平均技術です
  5. RSIインジケーターは過剰購入と過剰販売の現象を効果的に識別することができます.

リスク分析

この戦略にはいくつかのリスクもあります:

  1. トレンドフォローする戦略は価格が逆転すると大きな損失を受ける傾向がある.
  2. 移動平均は遅れており,価格逆転を迅速に捉えることができない.
  3. 間違ったパラメータ選択は,取引信号の質の低下につながる可能性があります.
  4. 戦略は基本的な要素を考慮せずに技術指標のみを考慮する.

リスクを軽減するために,移動平均期間のパラメータを最適化し,ストップ損失ポジションを調整し,ポジションサイズを適切に縮小することが推奨されます.主要な根本的な変化が発生した場合,戦略は中止されるべきです.

オプティマイゼーションの方向性

この戦略の主要な最適化方向は以下の通りである.

  1. 移動平均周期パラメータを最適化して,インクリメント検索や遺伝アルゴリズムなどで最適なパラメータの組み合わせを見つけます

  2. KDJ,MACDなどのフィルタリングのための他の技術指標を増加させ,取引信号の質を向上させる.

  3. 価格変動を監視し,それに応じてポジションを調整し,ストップ・ロスをします

  4. 偽のブレイクを避けるため,取引量が増加するときにのみシグナルを発信します.

  5. パラメータの自己適応メカニズムを開発し,異なる市場環境に基づいてパラメータ値を自動的に調整する戦略を可能にします.

結論

概要すると,これは典型的なトレンドフォロー戦略である.移動平均クロスオーバーの原則に基づいて,取引論理はシンプルで明確で,理解し,実装しやすい.RSIインジケーターを組み込むことで不合理な取引を避けることができます.この戦略はリスクと報酬の両方を伴うため,いくつかの量子取引経験を持つ投資家には適しています.しかし,潜在的な損失リスクに対して注意する必要があります.開発者がより多くのフィルターを追加し,パラメータ適応性を最適化できれば,戦略の安定した収益性をさらに向上させることができます.


/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Trading Strategy Warning - Past performance may not equal future performance
//Account Size Warning - Performance based upon default 10% risk per trade, of account size $100,000. Adjust before you trade to see your own drawdown.
//Time Frame - D1 and H4, warning H4 has a lower profit factor (fake-outs, and account drawdown), D1 recommended
//Trend Following System - Profitability of this system is dependent on a STRONG trend in Bitcoin, into the future
strategy("Bitcoin - MA Crossover Strategy", overlay=true)

// User Input
usr_risk = input(title="Equity Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=10,confirm=false)
sma_fast = input(title="Fast MA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=20,confirm=false)
sma_slow = input(title="Slow MA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=40,confirm=false)
rsi_valu = input(title="RSI (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=14,confirm=false)

// Create Indicator's
shortSMA = sma(close, sma_fast)
longSMA = sma(close, sma_slow)
rsi = rsi(close, rsi_valu)
strategy.initial_capital = 50000
// Units to buy
amount = usr_risk / 100 * (strategy.initial_capital + strategy.netprofit)
units = floor(amount / close)

// Specify entry conditions
longEntry = crossover(shortSMA, longSMA)
shortEntry = crossunder(shortSMA, longSMA)

// Specify exit conditions
longExit = crossunder(shortSMA, longSMA)
shortExit = crossover(shortSMA, longSMA)

// Execute long trade
if (longEntry)
    strategy.entry("long", strategy.long, units, when = rsi > 50)

// Exit long trade
if(longExit and strategy.position_size > 0)    
    strategy.order("exit long", strategy.short, abs(strategy.position_size))

// Execute short trade
if (shortEntry)
    strategy.entry("short", strategy.short, units, when = rsi < 50)
    
// Exit short trade
if(shortExit and strategy.position_size < 0)    
    strategy.order("exit short", strategy.long, abs(strategy.position_size))

// Plot Moving Average's to chart
plot(shortSMA)
plot(longSMA, color=color.black)

もっと