
双均線交差取引戦略は,トレンドを追跡する戦略である.それは,迅速な移動平均 ((MACD) と緩やかな移動平均の交差を,買入と売却のシグナルとして利用する.迅速な移動平均が,下から緩やかな移動平均を掃描するときに,買入シグナルを生成する.迅速な移動平均が,上から下から緩やかな移動平均を掃描するときに,売出シグナルを生成する.
この策略はMACD指数に基づいている。MACD指数は,価格の動量変化を反映する2つの異なるパラメータの移動平均の差値である。具体的には,高速移動平均 ((デフォルトパラメータは12日線) 減緩速移動平均 ((デフォルトパラメータは26日線) の差値である,MACD柱と呼ばれている。震動を排除するために,MACD指数にDEA線または信号線を導入し,一般的にはMACDの9日重力移動平均である。
MACD柱がDEA線を上下から突破して正値区域に入るときは,短期平均線上を長期平均線を掃き,株価の傾向が上昇して買入シグナルを生成することを示す. MACD柱がDEA線を上下から破って負値区域に入るときは,短期平均線下を長期平均線を掃き,株価の傾向が低下して売出シグナルを生成することを示す.
この戦略は,MACD柱とDEA線の交差を利用して,買入と売却のタイミングを判断する.MACD柱上を掃き DEA線を掃き買い,下を掃き売りする.
この戦略の利点は以下の通りです.
この戦略にはいくつかのリスクがあります.
リスクを軽減するために,パラメータを適切に調整したり,量価指標,波動率指標などの他の指標と組み合わせて使用することもできます.さらに,合理的な止損と停止戦略も重要です.
この戦略は以下の点で最適化できます.
パラメータ最適化: 異なるパラメータの組み合わせをテストして最適なパラメータを見つけることができます.しかし,過度に最適化することを避けるように注意してください.
他の指標との組み合わせ.量値指標,波動率指標などを取り入れ,より強力な組み合わせ戦略を形成することができる.
ストップ・ストップ・ストップ・戦略 合理的なストップ・ストップ・ポイントを設定し,リスクを効果的に制御する.
適応性最適化: この戦略は,異なる市場と時間周期に適用され,実際の状況に応じて調整することができます.
双均線交差戦略は,価格トレンドの変化を捉え,低コストのトレンド追跡取引を実現する.それはシンプルで実用的で,実行しやすい,新入生に適した入門戦略である.しかし,この戦略には一定の欠陥があり,リスク予防に注意する必要がある.継続的な最適化と改善によって,この戦略の実際の効果を良くすることができる.推奨される.
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("MACD Strategy by Forbes",default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false)
fastLength = input(20)
slowlength = input(40)
MACDLength = input(4)
// === INPUT BACKTEST RANGE ===
FromYear = input(defval = 2011, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
// === 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 = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
f1 = plot(MACD,color=red)
s1 = plot(aMACD,color=blue)
plotColor = if delta > 0
delta > delta[1] ? lime : green
else
delta < delta[1] ? maroon : red
plot(delta, color=plotColor, style=columns)
if (crossover(delta, 0))
strategy.entry("Buy", true, when=window(), comment="Buy")
if (crossunder(delta, 0))
strategy.close_all(when=window())
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)