
MACD配送交差戦略は,高速移動平均と遅い移動平均の差値を計算してMACDを形成し,MACDの移動平均を計算して配送ラインを形成し,MACDが配送ラインを上または下を通るときに取引信号を生成する.この戦略は,二線均等思想を組み合わせて,株式価格の中期トレンドの転換点を捕捉し,典型的な追跡ストップ戦略に属します.
この戦略は,まず,速動平均のfastMAと遅動平均のslowMAを計算する. 速動平均のパラメータは12日,遅動平均のパラメータは26日である. そして,2つの移動平均の差を計算してMACDを形成する. そして,9日パラメータでMACDの移動平均を計算して,配送ラインシグナルを得る. MACDが配送ラインを上または下を通るとき,取引シグナルを発する.
戦略の優位性は,株価の中期トレンドの転換点を捕捉することにある. 素早い平均線组合は,短期価格変動のノイズをフィルターして,中期価格トレンドを捕捉することができる. 株価の中期トレンドが発生したときに,MACDは配信ラインを突破し,より明確な取引信号を生成する.
MACD配信交差策略は,双均線思想を組み合わせて,高速移動平均と遅い移動平均の組み合わせを使用して,短期的なノイズをフィルタリングし,株価の中長期のトレンド転換点のみを捕捉する.単一の価格指標と比較して,偽信号を少なくする.
MACD自体は敏感で,価格変化の傾向を敏感に反映する.配送ラインの追加により,短期的な偽信号をフィルターすることができる.中期的な傾向が明確に変化し,MACDが配送ラインを上下突破するのみで信号が生成される.
持続的な上昇傾向では,MACDはほとんどの時間を配信ラインより高く維持し,順番に多頭チャンスを捕まえることができる. 同様に,継続的な下落傾向では,MACDは多空格式を維持し,空頭信号を間に合わせることができる.
戦略の買出ポイント信号は,移動平均の交差に完全に依存するので,市場が大きな揺れがあれば,偽信号が多く発生し,頻繁にストップ損失を引き起こす.戦略の実際の損益は望ましくない.
株価が配信ラインを突破することは,中期トレンドが変化することを完全に保証するものではありません.単一の技術指標が買点シグナルとしてある程度の盲目性があり,タイミングの選択は正確ではないかもしれません.
瞬時に変動する市場では,双均線指標の交差を基準とするだけで,より多くの取引機会を逃す可能性があります.より複雑な強気状況では,この戦略は明らかに遅れが生じます.
流動性や波動性のフィルタリング指標を増やし,ポジション開設頻度を下げ,無効取引を回避する.例えば,取引量を増やし,移動平均のパラメータを動的に調整する.
他の複数の技術指標と組み合わせて,指標の組み合わせを形成し,信号の質を向上させる.短期指標と中長期指標を組み合わせて,市場構造をより全面的に判断することができる.
機械学習のアルゴリズムを増やし,現在の市場環境に適したパラメータと注意の値を訓練し,人工介入を減らす.
VIXなどのパニック指数と組み合わせて,前期市場動向と波動性を予測し,動的調整パラメータを使用して,MACDの機会をより有効に活用します.
MACD配送交差策は,双均線交差原理を利用して取引信号を生成する. 株の中間期価格トレンドの変化は,平均線の差値図を素早く描くことで,顕著に特徴付けられる. 配送線の加入は,一部のノイズ信号を効果的にフィルターする. この戦略は,より明確な中間期トレンド転換を捕捉する際に,一定の優位性を持っています. しかし,MACDと配送線の交差は,市場構造が根本的に変化していることを完全に決定することはできません.
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@author : SudeepBisht
//@version=2
strategy(title="MACD with Signal", shorttitle="MACD_with_Signal")
source = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", defval="60")
smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below")
sd = input(true, title="Show Dots When MacD Crosses Signal Line?")
sh = input(true, title="Show Histogram?")
macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?")
hist_colorChange = input(true,title="MacD Histogram 4 Colors?")
res = useCurrentRes ? timeframe.period : resCustom
fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal
outMacD = request.security(syminfo.tickerid, res, macd)
outSignal = request.security(syminfo.tickerid, res, signal)
outHist = request.security(syminfo.tickerid, res, hist)
histA_IsUp = outHist > outHist[1] and outHist > 0
histA_IsDown = outHist < outHist[1] and outHist > 0
histB_IsDown = outHist < outHist[1] and outHist <= 0
histB_IsUp = outHist > outHist[1] and outHist <= 0
//MacD Color Definitions
macd_IsAbove = outMacD >= outSignal
macd_IsBelow = outMacD < outSignal
plot_color = hist_colorChange ? histA_IsUp ? green : histA_IsDown ? lime : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray
macd_color = macd_colorChange ? macd_IsAbove ? green : red : red
signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime
circleYPosition = outSignal
plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=3)
plot(smd and outSignal ? outSignal : na, title="Signal", color=blue, style=line ,linewidth=1)
plot(sh and outHist ? outHist : na, title="", color=plot_color, style=columns, linewidth=4)
//plot(sd and cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=circles, linewidth=4, color=macd_color)
hline(0, '0 Line', linewidth=2, color=white)
macd_chk=smd and outMacD ? outMacD : na
checker=smd and outSignal ? outSignal : na
if (crossover(macd_chk,checker))
strategy.entry("BBandLE", strategy.long)
if (crossunder(macd_chk, checker))
strategy.entry("BBandSE", strategy.short)