MACDトレンド予測戦略


作成日: 2023-11-02 15:25:11 最終変更日: 2023-11-02 15:25:11
コピー: 0 クリック数: 675
1
フォロー
1617
フォロワー

MACDトレンド予測戦略

概要

MACDトレンド予測戦略は,MACD指数とEMA指数に基づくトレンドフォロー戦略である.この戦略は,従来のMACD戦略のように,信号線の交差で取引信号を生成するのではなく,MACD指数線と信号線の間の距離の変化によって取引信号を生成して,トレンドの変化を捕捉する.

戦略原則

  1. 速線DEMAfastを計算する:速線の2回EMAの平均MMEfastをEMA方法によって計算し,それから速線DEMAfastを公式DEMAfast=((2 * MMEfast) - MMEfastb) によって計算する.

  2. 慢線DEMAslowを計算する. EMA方法によって慢線の2回EMA平均値MMEslowを計算し,それから公式DEMAslow=((2 * MMEslow) - MMEslowb) によって慢線DEMAslowを計算する.

  3. MACDラインを計算する.MACDラインは,速線DEMAfastの差値と遅線DEMAslowの差値のLigneMACDZeroLagの差値である.

  4. 信号線を計算する:EMA方法によってMACD線の2回EMA平均値MMEsignalを計算し,それからLignesignal=((2 * MMEsignal) - MMEsignalb) 公式に基づいて信号線を計算する.

  5. MACD線と信号線を比較する:MACD線が信号線より大きいときは買取信号を生じ;MACD線が信号線より小さい時は売り出せ信号を生じ.

  6. 上記の計算は,DEMAアルゴリズムを使用し,MACD指標の遅れを効果的に減らすことができます.

戦略的優位性

  1. DEMAアルゴリズムを使用すると,MACD指標の遅れを軽減し,取引信号をより敏感にすることができる.

  2. MACD指標の交差信号に依存せず, MACDと信号線距離の変化によってトレンドの変化を捉え,より早くトレンドに入ることができる.

  3. この戦略はトレンドを正確に判断し,収益因子は1.6〜3.5に達し,収益は良好である.

  4. 戦略の論理はシンプルで明快で,容易に理解できる実装で,量化取引に適しています.

戦略リスク

  1. MACDは遅滞の指標として,調整状況で大量に無効取引シグナルを生成する可能性があります.

  2. DEMAアルゴリズムは遅延を軽減しても,完全に取り除くことはできませんが,一定の遅延が残っています.

  3. 市場が動揺したときに,トレンドフォローの戦略として,収益が良くない可能性があります.

  4. パラメータsma,lma,tspの等価を最適化して,異なる周期と品種に対応する必要がある.

  5. 損失を抑えるためのストップ・ロース策が必要になるかもしれません.

戦略最適化の方向性

  1. スマ,ルマ,スプのパラメータを異なる周期と取引品種に最適化します.

  2. ATRのようなダイナミックストップストラトジーを追加し,単一の損失を制御する.

  3. トレンド判断の指標を組み合わせて,波動的な状況で取引を避ける.

  4. 取引量制御を追加し,市場の変動に応じてポジションを調整する.

  5. 入場・出場論理の最適化,取引シグナル規則の精細化

要約する

MACDトレンド予測戦略は,MACD指標の計算方法を改善し,DEMAアルゴリズムを使用して遅れを軽減し,MACDと信号線距離の変化判断トレンドを採用し,トレンドフォロー戦略として,トレンドの変化を効果的に捕捉することができ,利益因数1.6〜3.5に達し,一定の優位性を持っています.しかし,より多くの市場環境に対応するために,パラメータ設定,ストップ・損失戦略,フィルター・ショッキングなどのさらなる最適化が必要ですが,この戦略の発展方向です.

ストラテジーソースコード
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © moritz1301

//@version=4
strategy("MACD Trendprediction Strategy V1", shorttitle="MACD TPS", overlay=true)
sma = input(12,title='DEMA Courte')
lma = input(26,title='DEMA Longue')
tsp = input(9,title='Signal')
dolignes = input(true,title="Lignes")

MMEslowa = ema(close,lma)
MMEslowb = ema(MMEslowa,lma)
DEMAslow = ((2 * MMEslowa) - MMEslowb )

MMEfasta = ema(close,sma)
MMEfastb = ema(MMEfasta,sma)
DEMAfast = ((2 * MMEfasta) - MMEfastb)

LigneMACDZeroLag = (DEMAfast - DEMAslow)

MMEsignala = ema(LigneMACDZeroLag, tsp)
MMEsignalb = ema(MMEsignala, tsp)
Lignesignal = ((2 * MMEsignala) - MMEsignalb )

MACDZeroLag = (LigneMACDZeroLag - Lignesignal)

bgcolor(LigneMACDZeroLag<Lignesignal ? color.red : color.green)

if (LigneMACDZeroLag>Lignesignal)
	strategy.entry("Buy", strategy.long, comment="BUY")
	
if (LigneMACDZeroLag<Lignesignal)
	strategy.close("Buy", strategy.long, comment="SELL")