0bps

Strategy vault / Mean reversion

Quantitative Trading Strategy Integrating MACD RSI and RVOL

The Optimized Trading Strategy with Triple Crossover takes advantage of MACD, RSI and RVOL to form stable trading signals. It has strong reliability and stability in timing entries and exits. MACD judges price…

Author
ChaoZhang
Complexity
Intermediate · 44 lines
Parameters
7
Backtest bar
1d · swing
Tested on
BTC/USDT · futures

IMG

Strategy Name: Optimized Trading Strategy with Triple Crossover

This strategy integrates the signals of Moving Average Convergence Divergence (MACD), Relative Strength Index (RSI) and Relative Volume (RVOL) to form buy and sell trading signals for detecting price reversal points and automated trading.

Overview

The Optimized Trading Strategy with Triple Crossover takes advantage of MACD, RSI and RVOL to form stable trading signals. It has strong reliability and stability in timing entries and exits.

MACD judges price reversal and trend direction. RSI judges overbought and oversold levels. RVOL judges abnormal trading volume. Their crossover forms powerful trading signals.

The strategy applies to mid-long term position holding and short-term trading. It reduces stop loss probability and improves profitability probability.

Strategy Principle

  1. MACD Judgment
  • MACD is fast moving average minus slow moving average. MACD crossing above signal line gives buy signal, while crossing below gives sell signal.
  1. RSI Judgment
  • RSI above 70 is overbought zone, below 30 is oversold zone. RSI breaking 30 upwards gives buy signal, breaking 70 downwards gives sell signal.
  1. RVOL Judgment
  • RVOL is current volume divided by average volume over a period. RVOL greater than 2 signals high trading volume. RVOL less than 5 signals low trading volume.
  1. Trading Signal Generation
  • When RSI breaks 30 upwards, MACD crosses above signal line, and RVOL is higher than 2, it triggers buy signal.

  • When RSI breaks 70 downwards, MACD crosses below signal line, and RVOL is lower than 5, it triggers sell signal.

The strategy requires at least 2 judgment conditions to generate trading signals, which avoids false signals effectively and improves stability.

Advantage Analysis

  1. Reducing False Signal Probability
  • Requiring at least 2 judgment conditions filters out some noise and avoids false signals, improving signal reliability.
  1. Capturing Reversal Points
  • MACD is sensitive to price reversal. Combining with RSI on overbought/oversold area catches key reversal points precisely.
  1. Strong Practicability
  • Comprehensively considering 3 most important indicators, the strategy has extremely strong practicability for varying market environments.
  1. Easy to Optimize and Upgrade
  • Each component can adjust parameters separately. More indicators can be added flexibly.
  1. High Level of Automation
  • The strategy can connect trading APIs for fully automated trading, requiring minimal manual intervention.

Risk Analysis

  1. Parameter Optimization Risk
  • MACD, RSI and RVOL parameters need optimization for different market conditions, otherwise it impacts effectiveness.
  1. Market Environment Change Risk
  • It may work better in bull market but less effective in bear market. Market regimes matter.
  1. Trading Frequency Risk
  • High trading frequency increases costs and slippage risks. Frequency needs balance.
  1. Stop Loss Risk
  • Without stop loss mechanism, it poses larger loss risks. Stop loss optimization is a must.

To control risks, adaptive stop loss, parameter tuning for varying markets, and testing across markets are recommended to enhance stability.

Optimization Directions

The strategy can be further optimized in the following aspects:

  1. Adding Stop Loss Strategies
  • An adaptive stop loss strategy is advised to stop losses when they reach certain levels.
  1. Increasing Judgment Indicators
  • More indicators like Bollinger Bands and KDJ can be added to form more stable signals.
  1. Adaptive Parameter Optimization
  • Indicator parameters can be automatically optimized through machine learning algorithms.
  1. Industry and Market Testing
  • Testing stability across more markets and industries to ensure applicability.
  1. Strategy Ensemble
  • Ensemble with other stable strategies to find optimal combinations.

With stop loss, parameter optimization, indicator optimization, and ensemble optimization, strategy effectiveness and stability can be further improved.

Summary

The Optimized Trading Strategy with Triple Crossover comprehensively considers the signals from MACD, RSI, and RVOL to build a robust system for buy/sell judgments. It enhances trading signal stability and profitability to effectively identify price reversal points. Applicable for mid-long term position holding and short-term trading, it demonstrates good practicability. With adaptive stop loss and parameter optimization added, it becomes more robust and outstanding for recommendation.

Parameters

NameDefaultWhat it controls
v_input_114length
v_input_230overSold
v_input_370overBought
v_input_412fastLength
v_input_526slowlength
v_input_69MACDLength
v_input_714RVOL Length

Source Pine Script

/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BobBarker42069

//@version=4
strategy("MACD, RSI, & RVOL Strategy", overlay=true)

length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

RVOLlen = input(14, minval=1, title="RVOL Length")
av = sma(volume, RVOLlen)
RVOL = volume / av



if (not na(vrsi)) 
	if ((co and crossover(delta, 0)) or (co and crossover(RVOL, 2)) or (crossover(delta, 0) and crossover(RVOL, 2)))
		strategy.entry("MACD & RSI BUY Long", strategy.long, comment="BUY LONG")

		
	if ((cu and crossunder(delta, 0)) or (cu and crossunder(RVOL, 5)) or (crossunder(delta, 0) and crossunder(RVOL, 5)))
		strategy.entry("MACD & RSI SELL Short", strategy.short, comment="SELL LONG")
	
		
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Published by ChaoZhang on the FMZ strategy square · last modified 2024-01-17. 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.

in Claude Code, Cursor, Codex & 4 more
/agenkit build a production-grade trading bot with a backtest engine, risk controls and paper trading by default from strategies/Quantitative-Trading-Strategy-Integrating-MACD-RSI-and-RVOL.md
  1. npx agenkit install engineering-kit in your project
  2. Paste the command into your agent and approve each phase
  3. 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

esc

Try , , or .

↑↓ move↵ open