Bài viết này giới thiệu một chiến lược giao dịch kết hợp hai chỉ số kỹ thuật: MACD và Supertrend. Chiến lược này sử dụng các tín hiệu chéo của chỉ số MACD và hướng xu hướng của chỉ số Supertrend để xác định các điểm nhập và thoát, nhằm mục đích kiếm lợi từ thị trường xu hướng. Ý tưởng chính của chiến lược là đi dài khi MACD vượt qua đường tín hiệu và siêu xu hướng màu xanh lá cây, và đi ngắn khi MACD vượt qua đường tín hiệu và siêu xu hướng màu đỏ.
Chiến lược này sử dụng chỉ số MACD và chỉ số Supertrend để tạo ra tín hiệu giao dịch. Chỉ số MACD được tính bằng cách trừ trung bình di chuyển chậm (thời gian 26 mặc định) từ trung bình di chuyển nhanh (thời gian 12 mặc định), và sau đó tính trung bình di chuyển 9 thời gian của MACD làm đường tín hiệu. Một giao thoa tăng xảy ra khi đường MACD vượt qua đường tín hiệu, cho thấy một tín hiệu dài, trong khi giao thoa giảm xảy ra khi đường MACD vượt qua dưới đường tín hiệu, cho thấy một tín hiệu ngắn. Chỉ số Supertrend kết hợp chỉ số biến động MAC ATR. Khi giá vượt qua đường Supertrend và đường Supertrend màu xanh lá cây, nó chỉ ra một xu hướng tăng, và khi đường là đường Supertrend và đường giá Supertrend màu đỏ, nó chỉ ra một xu hướng giảm. Chiến lược này hình thành khi đường dài vượt qua đường tín hiệu giảm, chỉ ra một tín hiệu ngắn. Khi đường SuperDend màu đỏ và đường giá siêu xu hướng giảm, đường giao thoa giảm và đường giao thoa giảm.
Bài viết này giới thiệu một chiến lược giao dịch dựa trên chỉ số MACD và chỉ số Supertrend. Chiến lược này giao dịch trên các thị trường xu hướng bằng cách sử dụng phán đoán xu hướng của MACD và lọc hướng của Supertrend, trong khi sử dụng đường chéo tín hiệu để thoát khỏi các vị trí kịp thời để kiểm soát giảm giá.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="MACD + Supertrend Strategy", overlay=true) // MACD Calculation fastLength = 12 slowLength = 26 signalSmoothing = 9 macdSrc = close // MACD Line fastMA = ta.ema(macdSrc, fastLength) slowMA = ta.ema(macdSrc, slowLength) macdLine = fastMA - slowMA // MACD Signal Line signalMA = ta.ema(macdLine, signalSmoothing) // MACD Histogram histogram = macdLine - signalMA // Supertrend Calculation supertrendATRLength = 10 supertrendFactor = 3.0 [supertrend, _] = ta.supertrend(supertrendFactor, supertrendATRLength) // Entry and Exit Conditions longCondition = (macdLine > signalMA) and (supertrend < close) shortCondition = (signalMA > macdLine) and (supertrend > close) // Long Entry if longCondition strategy.entry("Long", strategy.long) // Long Exit (Sell) if signalMA > macdLine strategy.close("Long") // Short Entry if shortCondition strategy.entry("Short", strategy.short) // Short Exit (Cover) if macdLine > signalMA strategy.close("Short") // Close Long Position if short condition is met if shortCondition strategy.close("Long") // Close Short Position if long condition is met if longCondition strategy.close("Short") // Plotting plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Long") plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short") // Alerts alertcondition(longCondition, title='Long Entry Signal', message='MACD crossover and Supertrend below close price') alertcondition(signalMA > macdLine, title='Long Exit Signal', message='MACD signal line crosses above MACD line') alertcondition(shortCondition, title='Short Entry Signal', message='MACD crossunder and Supertrend above close price') alertcondition(macdLine > signalMA, title='Short Exit Signal', message='MACD line crosses above MACD signal line')