0bps

Strategy vault / Trend following

Multi Technical Indicator Trend Following Trading Strategy

This strategy is a trend-following trading system that combines multiple technical indicators including Relative Strength Index (RSI), Volume, and Moving Averages (MA). The strategy analyzes market data across…

Author
ChaoZhang
Complexity
Starter · 53 lines
Parameters
0
Backtest bar
1d · swing
Tested on
BTC/USDT · futures

IMG

Overview

This strategy is a trend-following trading system that combines multiple technical indicators including Relative Strength Index (RSI), Volume, and Moving Averages (MA). The strategy analyzes market data across multiple dimensions including momentum, volume, and price trends, generating buy signals when the market shows a clear upward trend confirmed by various technical indicators. The strategy employs strict screening conditions, requiring multiple indicators to simultaneously confirm before triggering trading signals to enhance accuracy.

Strategy Principles

The strategy bases trading decisions on the following core conditions:

  1. RSI breaks above the 50 level, indicating momentum shift from weak to strong
  2. Volume breaks above 20-period average, showing increased trading activity
  3. Closing price above 14-period moving average, confirming short-term uptrend
  4. Bullish engulfing pattern appears, indicating strong buying pressure
  5. Price above 200-period moving average, confirming long-term uptrend The system generates a buy signal when all above conditions are met simultaneously. This multi-confirmation mechanism effectively reduces false signals and improves trading reliability.

Strategy Advantages

  1. Multi-dimensional analysis: Combines momentum, volume, and price trend indicators for comprehensive market evaluation
  2. Strict trading conditions: Requires multiple indicator confirmation to effectively filter false signals
  3. Trend-following characteristics: Captures both major trends and short-term opportunities through long-short term moving average combination
  4. Strong objectivity: Strategy based entirely on technical indicators, free from subjective judgment
  5. Easy to understand and execute: Clear strategy logic and explicit conditions facilitate practical operation

Strategy Risks

  1. Lag risk: Multiple technical indicators may lead to delayed signals, missing optimal entry points
  2. Range-bound market risk: Strategy may generate frequent false signals in consolidation phases
  3. Money management risk: Strategy lacks stop-loss and take-profit conditions, needs supplementation
  4. Market environment dependency: Strategy performs well in strong trend markets but may underperform in other market conditions
  5. Parameter optimization risk: Excessive parameter optimization may lead to overfitting historical data

Strategy Optimization Directions

  1. Add stop-loss and take-profit mechanisms: Suggest adding dynamic stop-loss and profit protection mechanisms for risk control
  2. Optimize parameter settings: Can optimize indicator periods through backtesting to improve strategy adaptability
  3. Add market environment filters: Incorporate market environment judgment mechanism to pause trading in unsuitable conditions
  4. Perfect exit mechanism: Design reasonable exit conditions to avoid premature or late exits
  5. Introduce position management: Dynamically adjust position size based on signal strength and market volatility

Summary

The strategy integrates multiple technical indicators to build a relatively complete trend-following trading system. The multi-confirmation mechanism helps improve trading reliability while introducing some lag. Through adding stop-loss and take-profit mechanisms, optimizing parameters, and incorporating market environment filters, the strategy's practicality and stability can be further enhanced. Overall, this is a trading strategy with solid foundations and clear logic, offering good practical value and optimization potential.

Source Pine Script

/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estratégia Completa - Volume, RSI e Tendência", overlay=true)

// Definir médias móveis
ma14 = ta.sma(close, 14)  // Média móvel de 14 períodos
ma200 = ta.sma(close, 200)  // Média móvel de 200 períodos

// Calcular o RSI de 14 períodos
rsi = ta.rsi(close, 14)

// Média de volume de 20 períodos
volumeMA = ta.sma(volume, 20)

// Condição para volume ser acima da média de 20 períodos
volumeAboveAvg = volume > volumeMA

// Condição para o RSI cruzar acima de 50
rsiCrossover50 = ta.crossover(rsi, 50)

// Condição para o fechamento estar acima da média de 14 períodos
closeAboveMA14 = close > ma14

// Condição para candlestick forte de alta (bullish engulfing)
bullishEngulfing = close > open and close[1] < open[1] and close > open[1]

// Condição para o preço estar acima da média de 200 períodos
priceAboveMA200 = close > ma200

// Condição de compra: todos os critérios precisam ser atendidos
buyCondition = volumeAboveAvg and rsiCrossover50 and closeAboveMA14 and bullishEngulfing and priceAboveMA200

// Executar a compra quando a condição for atendida
if (buyCondition)
    strategy.entry("Compra", strategy.long)

// Plotar as médias móveis no gráfico
plot(ma14, color=color.blue, linewidth=2, title="Média de 14 períodos")
plot(ma200, color=color.red, linewidth=2, title="Média de 200 períodos")

// Adicionar no gráfico o RSI
hline(50, "RSI 50", color=color.gray, linestyle=hline.style_dashed)
plot(rsi, color=color.green, linewidth=1, title="RSI (14)")

// Plotar a média de volume
plot(volumeMA, color=color.purple, linewidth=2, title="Média de Volume (20)")

Published by ChaoZhang on the FMZ strategy square · last modified 2024-12-02. 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/Multi-Technical-Indicator-Trend-Following-Trading-Strategy.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