
この戦略は,DEMA MACD組み合わせ戦略と呼ばれています.これは,DEMA平均線指数とMACD指数を組み合わせて,双指数確認を使用して,買入シグナルを発信しています.その主な考えは,トレンド指数DEMAと動力指数MACDを同時に利用して,複数の確認を行うことであり,信号の正確性を向上させることで,より良い戦略のパフォーマンスを得ることです.
この戦略は主にDEMA平均線指標とMACD指標の組み合わせに基づいている.具体的原理は以下の通りである.
21日DEMA平均線を計算すると,閉盘価格上部でDEMA平均線を突破すると買入シグナルとみなされ,下部でDEMA平均線を突破すると売出シグナルとみなされます.
MACD指標の差値を計算し,購入シグナルの追加確認としてMACD差値が0より大きいかどうかを制御するためにオプションのパラメータを追加します.
DEMA平均線で買取信号が出るとき,MACD差値が0より大きいと追加確認を起動すると,MACD差値が正値に変わるまで待つ必要がある.
DEMA均線でセールシグナルが現れたとき,直接セールシグナルを発信し,MACDの追加確認を必要としない.
この2つの指標の組み合わせにより,DEMA平均線を使用してトレンドの方向を判断することができ,同時にMACD差値を使用して,現在のトレンドの開始段階にあるかどうかを判断し,誤推測を避け,利益の余地を増やすことができます.MACD差値が0以上の確認買いは,指数成長期のみで戦略を購入できるようにし,DECL平均線は,迅速に確認販売し,戦略を間に合って止めてしまうことができます.
この戦略はDEMA平均線とMACD指数との組み合わせによる優位性が主に以下のように示されている.
DEMAの反応はより敏感で,トレンドの変化を把握し,震の罠に陥らないようにする.
MACDの差が0より大きい場合,偽の信号をフィルターして,トレンドの初期段階でのみ買い,利益の余地を増やすことができます.
直接DECLを売却する際は,MACDの確認を必要とせず,利潤を最大限に保ち,迅速に損失を抑えることができます.
双指標は相互検証により,信号の正確性を高め,誤った取引の確率を低減する.
パラメータの最適化空間は広く,パラメータを調整することで異なる市場環境に適応することができる.
この戦略には以下のリスクがあります.
DEMA反応の感度も誤信号を発生させる可能性が高く,MACD指標で検証が必要である.
MACD指標は遅滞しており,最適な買い時を逃している可能性があります.他の先行指標を使用することを推奨しています.
パラメータの最適化によって,異なるパラメータの異なる市場の適応性は異なる.継続的に反省して最適なパラメータを見つける必要があります.
シリアル化関連性リスク.DEMAとMACDはEMA計算に依存し,関連性が高く,信号の正確性は疑わしい.
対応方法は以下の通りです.
他の指標の検証を追加し,複数の指標の組み合わせを構築して誤差の確率を減らす.
MACDをBB,KDなどの先行指標に置き換えて,購入ポイントを早期に捕捉してみてください.
パラメータの最適化と更新の仕組みを確立し,パラメータの健全性をリアルタイムで評価する.
関連性のない指標を導入してみると,例えば震動指標は関連性のリスクを減らす.
この戦略は以下の方向から最適化できます.
DEMAパラメータを修正し,最適なパラメータの組み合わせを探します. DEMAパラメータが戦略に直接影響する感度.
ストップメカニズムを増やす.現在の戦略は,DECLがストップ信号を販売するのみに依存し,移動ストップまたはパーセントストップを設定できます.
MACDの代わりに他の先行指標を追加し,より早期の信号を探します.例えば,ブリンライン,KDJなどです.
取引量,震動指標など,無関係な指標を導入することで,戦略の安定性を高めます.
パラメータの最適化と更新の仕組みを構築し,パラメータの健全性をリアルタイムで評価し,パラメータを自動的に調整する.
この戦略は,DEMA平均線とMACD指標を組み合わせて,両者の優位性を充分に活用して,買入信号の確認と発信を行う.単一の指標と比較して,より高い感度と信号の正確性がある.同時に,一定の改善の余地がある.その後,パラメータの最適化,ストップロスの増加,先行指標の導入などの方向で最適化することができ,戦略をより安定して賢明にすることができる.
/*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"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © melihtuna
//@version=1
strategy("DEMA Strategy with MACD", overlay=true)
// === Trend Trader Strategy ===
DemaLength = input(21, minval=1)
MacdControl = input(false, title="Control 'MACD Histogram is positive?' when Buy condition")
e1 = ema(close, DemaLength)
e2 = ema(e1, DemaLength)
dema1 = 2 * e1 - e2
pos = close > dema1 ? 1 : 0
barcolor(pos == 0 ? red: pos == 1 ? green : blue )
plot(dema1, color= blue , title="DEMA Strategy with MACD")
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2020, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
// === MACD ===
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdCond= MacdControl ? histLine[0] > 0 ? true : false : true
strategy.entry("BUY", strategy.long, when = window() and pos == 1 and macdCond)
strategy.entry("SELL", strategy.short, when = window() and pos == 0)