Momentum Trend Following Dual Indicator MACD and Parabolic SAR Combination Strategy
This strategy is a trend-following trading system that combines MACD (Moving Average Convergence Divergence) and Parabolic SAR (Stop and Reverse) indicators. By integrating momentum and trend indicators, it…

Overview
This strategy is a trend-following trading system that combines MACD (Moving Average Convergence Divergence) and Parabolic SAR (Stop and Reverse) indicators. By integrating momentum and trend indicators, it quantifies trend strength while identifying market direction, thereby capturing higher quality trading opportunities. The strategy uses MACD line crossovers to confirm trend momentum while utilizing SAR points to confirm trend direction and set trailing stops.
Strategy Principles
The core logic consists of two components:
- MACD Component: Calculates MACD line using 12-period and 26-period exponential moving averages, with a 9-period moving average as the signal line. MACD line crossing above the signal line indicates a bullish signal, while crossing below indicates a bearish signal.
- SAR Component: Calculates SAR points using default parameters (start 0.02, increment 0.02, maximum 0.2). Confirms uptrend when price is above SAR points and downtrend when below.
Entry Rules:
- Long Condition: MACD line above signal line and price above SAR points
- Short Condition: MACD line below signal line and price below SAR points
Exit Rules:
- Long Positions: Exit when short signal appears
- Short Positions: Exit when long signal appears
Strategy Advantages
- High Signal Reliability: Combining momentum (MACD) and trend (SAR) indicators effectively filters false signals, improving trading accuracy.
- Robust Risk Control: SAR indicator automatically adjusts stop-loss positions based on market volatility, enabling dynamic risk management.
- Strong Adaptability: Strategy parameters can be optimized for different market environments and trading timeframes.
- Standardized Execution: Clear trading signals facilitate algorithmic implementation, reducing human judgment errors.
Strategy Risks
- Ineffective in Ranging Markets: May generate frequent false breakout signals during sideways consolidation, leading to overtrading.
- Inherent Lag: Due to the moving average system, signals lag behind price action, potentially missing optimal entry points.
- Parameter Sensitivity: Different parameter combinations yield varying results, requiring extensive historical data testing.
- Market Environment Dependency: Strategy performs well in trending markets but requires timely adjustments when market characteristics change.
Strategy Optimization Directions
Add Market Environment Filtering: Incorporate volatility indicators (like ATR) to assess market conditions, reducing trading frequency or pausing during low volatility periods.
Enhance Stop-Loss Mechanism: Implement a combination of fixed percentage and trailing stops alongside SAR stops to improve risk control stability.
Optimize Parameter Selection: Utilize machine learning methods to automatically optimize MACD and SAR parameter combinations for different market cycles.
Incorporate Volume Analysis: Include volume indicators to confirm trend strength and improve signal reliability.
Conclusion
This strategy creates a comprehensive trend-following trading system by combining MACD and Parabolic SAR. It offers clear signals, controllable risk, and strong adaptability, but also has limitations such as trend dependency and signal lag. Through improvements in market environment filtering and stop-loss optimization, the strategy's stability and practicality can be further enhanced. It is suitable for traders focusing on medium to long-term trends, with recommended thorough parameter optimization and backtesting before live implementation.
Source Pine Script
/*backtest
start: 2024-02-21 00:00:00
end: 2024-11-25 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MACD + Parabolic SAR Strategy", shorttitle="MACD+SAR", overlay=true)
//========== User Inputs ==========//
// MACD parameters
fastLength = input.int(12, "MACD Fast Length")
slowLength = input.int(26, "MACD Slow Length")
signalLength = input.int(9, "MACD Signal Length")
// SAR parameters (start, step, maximum)
afStart = input.float(0.02, "SAR Start")
afIncrement = input.float(0.02, "SAR Increment")
afMax = input.float(0.2, "SAR Max")
//========== MACD Calculation ==========//
[macdLine, signalLine, histLine] = ta.macd(close, fastLength, slowLength, signalLength)
//========== Parabolic SAR Calculation ==========//
sarValue = ta.sar(afStart, afIncrement, afMax)
//========== Entry Conditions ==========//
// Long: MACD > Signal + close > SAR
longCondition = (macdLine > signalLine) and (close > sarValue)
// Short: MACD < Signal + close < SAR
shortCondition = (macdLine < signalLine) and (close < sarValue)
//========== Enter Positions ==========//
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
//========== Exit Positions on Opposite Signal ==========//
if strategy.position_size > 0 and shortCondition
strategy.close("Long", comment="Exit Long")
if strategy.position_size < 0 and longCondition
strategy.close("Short", comment="Exit Short")
Published by ianzeng123 on the FMZ strategy square · last modified 2025-02-27. Collected in the Quant Trading Vault. Unvalidated research: re-test with your own data and costs before trusting it.
Build this with AgenKit
A spec is not a trading system. Paste this into your coding agent and AgenKit runs a specialist team — architecture, test-first build, risk gates, review — with paper trading on by default.
/agenkit build a production-grade trading bot with a backtest engine, risk controls and paper trading by default from strategies/Momentum-Trend-Following-Dual-Indicator-MACD-and-Parabolic-SAR-Combination-Strategy.md- npx agenkit install engineering-kit in your project
- Paste the command into your agent and approve each phase
- Get tests, backtest, risk controls and a paper-trading switch
Understand it first
Before you run this, read the lesson behind the idea and how to backtest it honestly. Specs like this one are the survivors of an unknown number of trials; deflate their results accordingly.
Related specs
- Advanced Multi Indicator Trend Following and Momentum Quantitative Trading StrategyPine Script · Momentum · 1h
- Vishal Adaptive Multi Indicator Trading StrategyPine Script · Momentum · 2d
- Multi Indicator Comprehensive Analysis Quantitative Trading Strategy Trend Momentum and Volatility Collaborative Prediction ModelPine Script · Momentum · 3m
- KST EMA Momentum Trend Following StrategyPine Script · Momentum · 1d
- Multi Indicator Comprehensive Momentum Trading StrategyPine Script · Momentum · 1d
- Multi Indicator Dynamic Trend Following Trading System EMA Crossover MACD Momentum Filter ATR Risk Management StrategyPine Script · Momentum · 2d