ハル移動平均オシレーター取引戦略
1
Follow
1802
Followers
概要
本戦略は、Hull移動平均線を用いた短期取引戦略です。戦略はHull移動平均線のゴールデンクロス・デッドクロスで売買シグナルを生成し、トレンドフォロー戦略に分類されます。
戦略の原理
本戦略は主にHull移動平均指標に基づいており、Hull移動平均線は2つの移動平均線で構成されています。まず、期間をhullperiodとして価格の中期的移動平均線nmaを計算します。次に、nmaの半分の期間で価格の短期移動平均線n2maを計算します。n2maがnmaを上抜けたときに買いシグナル、nmaを下抜けたときに売りシグナルを発します。
偽シグナルを一部除去するため、戦略ではHull線(Hull_Line)も導入しています。Hull線は、nmaとn2maの差を線形回帰した結果です。価格とHull線が乖離した場合、戦略は売買シグナルをスキップします。
具体的な戦略ルールは以下の通りです。
- 期間hullperiodでnmaを計算する
- nma期間の半分でn2maを計算する
- n2maとnmaの差diffを計算する
- diffに対して期間sqrt(hullperiod)の移動平均を計算し、Hull線(Hull_Line)を得る
- 価格がHull線を上抜けたときに買いシグナルを発する
- 価格がHull線を下抜けたときに売りシグナルを発する
- 価格とHull線が乖離している場合はシグナルをスキップする
- 一定割合のポジションでエントリーし、離脱ストップロスで損切りする
優位性分析
本戦略には以下の優位性があります。
- Hull移動平均に基づき、トレンドを迅速に捉え、順勢取引が可能
- Hull線による偽シグナル除去でシグナル品質が向上
- ドローダウンとリスクリワード比が良好で、短期取引に適している
- パラメータ調整が柔軟で、様々な市場環境に適応可能
- 反転ストップロスにより、タイムリーに損切りしリスクをコントロール可能
- 季節性を考慮することで、特定時間帯のシステムリスクを回避できる
リスク分析
本戦略には以下のリスクも存在します。
- トレンドフォロー戦略のため、オールウェザー取引はできない
- トレンドが反転した場合、大きな損失が発生する可能性がある
- 移動平均システムには遅延が生じ、転換点をタイムリーに捉えられない
- 短期取引が頻繁で、取引コストが高い
- パラメータ設定が不適切だと、レンジ相場での収益が低下する可能性がある
上記リスクに対しては、以下の対策を講じてコントロールできます。
- マーチンゲールストップロス戦略を採用し、1回あたりの損失をコントロール
- パラメータの最適化を行い、様々な市場環境でのパラメータロバスト性をテスト
- トレンド判断指標を組み合わせ、反転時の追い上げ・投げ売りを回避
- ポジション保有時間を延ばし、取引頻度を低減
最適化の方向性
本戦略は以下の観点からさらに最適化が可能です。
- モメンタム指標を組み合わせ、トレンドの開始点を特定し、より良いエントリーを実現
- 機械学習モデルを追加し、トレンド方向と強度の判断を補助
- 適応型パラメータ設定を採用し、リアルタイム市場に応じてパラメータを調整
- 複数時間軸のHullシステムを設定し、異なる時間軸でポジションを配分
- 取引量エネルギー指標を組み合わせ、出来高不足の偽ブレイクを回避
- ボラティリティに基づくポジション管理モジュールを追加し、ボラティリティに応じてポジションを動的に調整
まとめ
Hull移動平均オシレーション取引戦略は、全体的に非常に実用的な短期トレンドフォロー戦略です。Hull移動平均システムを用いてトレンド方向を判断し、順勢取引を実現します。単一の移動平均線システムと比較して、より高いシグナル品質とパラメータの柔軟性を持っています。本戦略の強みは、トレンド反転を迅速に捉え、低いドローダウンで利益を得られる点です。弱点はトレンド反転に対応しきれない点にあります。パラメータ最適化、ストップロス戦略の改善、補助モデルの追加などによってリスクをコントロールし、より多くの市場環境で安定して稼働させることができます。
Source
Pine
/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Hull Moving Average Swing Trader by SEASIDE420
strategy("Hull Moving Average Swing Trader", shorttitle="HMA_Swing_Trader", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0)
hullperiod = input(title="HullMA Period", type=input.integer, defval=210, minval=1)Strategy parameters
Related strategies
Comment
All comments (0)
No data
- 1
