Type/to search

動的移動平均線取引戦略

Common strategy
Created: 2023-12-21 11:33:50
Last modified: 3 years ago
1
Follow
1802
Followers

img

概要

本戦略は、動的移動平均線(Dynamic Moving Average)を計算し、それを取引シグナルとして利用することで、株価上昇時にロングポジションを建て、下落時にポジションをクローズします。本戦略はモメンタム指標と移動平均線の利点を組み合わせ、株価の中期的なトレンドを追跡し、安定した収益を目指します。

原理

本戦略は主に3種類のHull移動平均線(HMA、WHMA、EHMA)に基づいています。コード上では、ユーザーがこれら3つのHull MAを切り替えられるようになっています。

HMAの計算式は次のとおりです。

HMA = WMA(2*WMA(close,n/2)-WMA(close,n),sqrt(n))

ここで、WMAは加重移動平均線、nは期間パラメータを表します。HMAはSMA(単純移動平均線)と比較して、価格変動により迅速に反応します。

WHMAとEHMAの計算式はHMAと類似しています。本戦略ではデフォルトとしてHMAを使用します。

HMAを計算した後、本戦略はHMAの中間値を取引シグナルとして利用します。価格がHMA中間値を上抜けたときにロングエントリーし、下抜けたときにポジションをクローズします。これにより、HMA中間値を用いて価格の中期的なトレンドを追跡し、利益を獲得します。

優位性

従来の移動平均線戦略と比較して、本戦略には以下の優位性があります。

  1. 応答速度が速く、トレンド追跡能力が高く、適時なエントリーと損切りが可能
  2. 無駄な取引頻度を減らし、高値掴みや底値売りを回避
  3. Hull MAのパラメータを柔軟に設定でき、より幅広い市場環境に対応可能
  4. HMA、WHMA、EHMA間の切り替えが可能で、適用範囲を拡大

リスク

本戦略には以下のリスクもあります。

  1. レンジ相場では無効なシグナルが多発しやすく、取引頻度とスリッページコストが増加する可能性がある
  2. Hull MAのパラメータ設定が不適切な場合、トレンド反転のポイントを見逃し、損失リスクが高まる
  3. 銘柄選択を誤り、流動性の低い銘柄を選んだ場合、大きなスリッページに直面する可能性がある

対策:

  1. Hull MAのパラメータを最適化し、最適値を求める
  2. 他の指標と組み合わせてトレンド反転ポイントを判断する
  3. 流動性が高く、平均出来高の多い銘柄を選択する

最適化の方向性

本戦略は以下の点からさらに最適化できます。

  1. 出来高やその他の指標によるフィルターを追加し、取引シグナルの信頼性を高める
  2. MACDやKDJなどの他の指標と組み合わせてエントリータイミングを判断し、勝率を向上させる
  3. 実取引のバックテストデータに基づいてHull MAの期間パラメータを調整する
  4. WHMAまたはEHMAに切り替え、特定の銘柄で最も良好なパフォーマンスを示すHullのバリアントをテストする
  5. 損切り戦略を追加し、1回あたりの損失を制御する

まとめ

本動的移動平均線取引戦略は、Hull MAの高速応答性という利点を統合し、株価の中期的なトレンドを効果的に追跡し、適切なタイミングでロングポジションを建て、損切りでポジションをクローズします。過去のバックテストでは良好なパフォーマンスを示しています。パラメータ設定や銘柄選定の範囲をさらに最適化することで、本戦略はより安定した超過収益を得ることが可能です。実装が容易でリスク管理が可能な量的戦略です。

Source
Pine
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Position Investing by SirSeff', overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0)
strat_dir_input = input.string(title='Strategy Direction', defval='long', options=['long', 'short', 'all'])
strat_dir_value = strat_dir_input == 'long' ? strategy.direction.long : strat_dir_input == 'short' ? strategy.direction.short : strategy.direction.all
Strategy parameters
Strategy parameters
Strategy Direction
Backtest Start Year
Backtest Start Month
Backtest Start Day
Backtest Stop Year
Backtest Stop Month
Backtest Stop Day
Source
Hull Variation
Length(180-200 for floating S/R , 55 for swing entry)
Color Hull according to trend?
Color candles based on Hull's Trend?
Show as a Band?
Line Thickness
Band Transparency
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)