この戦略は,動向平均収束差異 (MACD) 指標に基づいた高度な定量取引システムで,ダイナミックな背景表示と複数の事前設定パラメータ組み合わせを通じて取引決定を強化する.この戦略の核心は,MACDクロスオーバー信号を通じて市場トレンド移行点を捕捉し,市場状況を視覚的に表示することにある.
この戦略は,標準 (12,26,9),短期 (5,35,5),長期 (19,39,9),など10つの異なるMACDパラメータプリセットを使用し,異なる市場環境と取引スタイルに適応する.このシステムは,MACD線が信号線 (黄金十字) の上を横切ると購入信号を生成し,下を横切ると販売信号を生成する.この戦略は,ダイナミックな背景色の変化 (上昇,赤,下落) により視覚認識を強化し,トレーダーが市場のトレンドをよりよく把握するのに役立ちます.
これはMACD戦略の構造がよく,論理的に健全な高度バージョンである.複数のパラメータプレセットとダイナミックな視覚フィードバックを通じて,戦略の実用性と操作性を大幅に向上させる.固有のリスクが存在しているにもかかわらず,戦略は提案された最適化により堅牢な取引システムになる可能性がある.トレーダーはライブ実装の前に徹底的なバックテストを行い,特定の市場状況に基づいて適切なパラメータ設定を選択することをお勧めする.
/*backtest start: 2024-10-12 00:00:00 end: 2024-11-11 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Hanzo - Top 10 MACD Strategy", overlay=false) // MACD in a separate pane // Define dropdown options for MACD settings macdOption = input.string(title="Select MACD Setting", defval="Standard (12, 26, 9)", options=["Standard (12, 26, 9)", "Short-Term (5, 35, 5)", "Long-Term (19, 39, 9)", "Scalping (3, 10, 16)", "Cryptocurrency (20, 50, 9)", "Forex (8, 17, 9)", "Conservative (24, 52, 18)", "Trend-Following (7, 28, 7)", "Swing Trading (5, 15, 5)", "Contrarian (15, 35, 5)"]) // MACD setting based on user selection var int fastLength = 12 var int slowLength = 26 var int signalLength = 9 switch macdOption "Standard (12, 26, 9)" => fastLength := 12 slowLength := 26 signalLength := 9 "Short-Term (5, 35, 5)" => fastLength := 5 slowLength := 35 signalLength := 5 "Long-Term (19, 39, 9)" => fastLength := 19 slowLength := 39 signalLength := 9 "Scalping (3, 10, 16)" => fastLength := 3 slowLength := 10 signalLength := 16 "Cryptocurrency (20, 50, 9)" => fastLength := 20 slowLength := 50 signalLength := 9 "Forex (8, 17, 9)" => fastLength := 8 slowLength := 17 signalLength := 9 "Conservative (24, 52, 18)" => fastLength := 24 slowLength := 52 signalLength := 18 "Trend-Following (7, 28, 7)" => fastLength := 7 slowLength := 28 signalLength := 7 "Swing Trading (5, 15, 5)" => fastLength := 5 slowLength := 15 signalLength := 5 "Contrarian (15, 35, 5)" => fastLength := 15 slowLength := 35 signalLength := 5 // MACD Calculation [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength) macdHist = macdLine - signalLine // Buy and Sell conditions based on MACD crossovers enterLong = ta.crossover(macdLine, signalLine) exitLong = ta.crossunder(macdLine, signalLine) // Execute buy and sell orders with price labels in the comments if (enterLong) strategy.entry("Buy", strategy.long, comment="Buy at " + str.tostring(close, "#.##")) if (exitLong) strategy.close("Buy", comment="Sell at " + str.tostring(close, "#.##")) // Plot the signal price using plotchar for buy/sell prices //plotchar(enterLong ? close : na, location=location.belowbar, color=color.green, size=size.small, title="Buy Price", offset=0) //plotchar(exitLong ? close : na, location=location.abovebar, color=color.red, size=size.small, title="Sell Price", offset=0) // Background highlighting based on bullish or bearish MACD isBullish = macdLine > signalLine isBearish = macdLine < signalLine // Change background to green for bullish periods and red for bearish periods bgcolor(isBullish ? color.new(color.green, 90) : na, title="Bullish Background") bgcolor(isBearish ? color.new(color.red, 90) : na, title="Bearish Background") // Plot the MACD and Signal line in a separate pane plot(macdLine, title="MACD Line", color=color.blue, linewidth=2) plot(signalLine, title="Signal Line", color=color.orange, linewidth=2) hline(0, "Zero Line", color=color.gray) plot(macdHist, title="MACD Histogram", style=plot.style_histogram, color=color.red)