二重移動平均線とMACDインジケーターに基づくトレンドフォロー戦略
概要
本戦略の核となる考え方は、ダブル移動平均線とMACD指標を組み合わせてトレンド方向を判断し、トレンドフォロー取引を実現することです。短期移動平均線が長期移動平均線を上回った場合に強気の機会と判断し、短期移動平均線が長期移動平均線を下回った場合に弱気の機会と判断します。MACD指標は売買ポイントの判断に用いられ、MACDヒストグラムが0軸を上抜けたら強気、下抜けたら弱気とします。
戦略の原理
-
短期EMA(12日線)、長期EMA(26日線)、およびシグナル線EMA(9日線)を計算します。
-
MACDヒストグラム(短期線-長期線)とMACDシグナル線(MACDの9日線)を計算します。
-
50日線と200日線を大トレンドを判断するための移動平均線として計算します。
-
MACDヒストグラムが0軸を上抜けた場合を強気シグナル、下抜けた場合を弱気シグナルとします。
-
短期線が長期線を上抜け、かつ短期移動平均線が長期移動平均線を上抜けた場合を強気シグナルとします。
-
短期線が長期線を下抜け、かつ短期移動平均線が長期移動平均線を下抜けた場合を弱気シグナルとします。
-
移動平均線の方向が変わるたびに、Max trades after EMA crossパラメータで制御される回数だけ取引を許可します。
-
エントリー後はストップロスと利確でポジションをクローズします。
戦略の利点
-
ダブル移動平均線で大トレンドを判断し、逆張り取引を回避します。
-
MACDで売買ポイントを判断し、トレンド転換をタイムリーに捉えることができます。
-
ダブル移動平均線とMACD指標を組み合わせることで、トレンド中の良好なエントリータイミングを捉えられます。
-
最大取引回数を設定することで、高値追いや安値売りを防ぎます。
-
ストップロス・利確メカニズムでリスクをコントロールします。
-
パラメータ最適化により、より良いパラメータ組み合わせを得ることが可能です。
戦略のリスク
-
大トレンドの判断を誤ると、逆張り取引による損失が発生します。適切に移動平均線の乖離要件を緩和し、大トレンドを確実に捉えるようにします。
-
MACDの売買シグナルには遅延が存在するため、エントリーが早すぎたり遅すぎたりする可能性があります。MACDパラメータを調整したり、他の指標と組み合わせてシグナルをフィルタリングすることも可能です。
-
ストップロス・利確の設定が不適切だと、過度に緩くまたは厳しくなり、ストップロスが多すぎたり利確が不十分になったりします。異なる銘柄ごとにパラメータ最適化テストを実施する必要があります。
-
パラメータ最適化は難しく、異なる銘柄や時間枠では異なるパラメータ組み合わせが必要であり、多くの事前テスト作業が求められます。
戦略の最適化方向
-
大トレンド判断に他の移動平均線指標(例:KD指標)を試す。
-
他の指標(例:ボリンジャーバンド、ATRストップロス)を併用してMACDシグナルを補完・フィルタリングすることを試す。
-
ストップロス・利確パラメータを最適化し、異なる銘柄ごとに最適なパラメータ組み合わせをテストする。
-
ステップ最適化やランダム最適化手法を用いて、より優れたパラメータ組み合わせを探索する。
-
取引頻度を低減する仕組みを追加する。例:MACDがゼロ軸付近にある場合の取引禁止ゾーンを設定する。
-
複数銘柄に対して自動でパラメータ最適化と組み合わせ最適化を実施する。
まとめ
本戦略は、ダブル移動平均線による大トレンド判断とMACDによる売買ポイント判断の利点を統合し、強力なトレンドフォロー戦略を形成しています。パラメータ最適化や指標の組み合わせによって、さらに戦略のパフォーマンスを向上させることができます。総じて、本戦略は高いリスク耐性と収益の可能性を備えており、実運用での適用を検討する価値があります。ただし、銘柄ごとに個別にパラメータ最適化テストを実施し、戦略の安定性を確保する必要があります。
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="ComiCo - Joel on Crypto - MACD Scalping", shorttitle="ComiCo - Joel on Crypto - MACD Scalping")
// Getting inputs
slow_length1 = input(title="EMA Trend 1", defval=50)- 1

