RePaNoCHa Quantitative Trading Strategy
Overview
The RePaNoCHa strategy integrates multiple indicators and risk management techniques for quantitative trading. It generates buy and sell signals primarily by identifying trend direction and potential reversal points. The strategy also incorporates trailing stop loss, fixed stop loss and take profit to lock in profits and control risks.
Strategy Logic
The strategy integrates the following indicators:
-
T3 Moving Average: To gauge price trend.
-
Average Range Filter: To identify price fluctuation zones.
-
ADX: To determine trend strength.
-
SAR: To mark potential reversal points.
-
RSI: To identify overbought/oversold levels.
-
MACD: To display price momentum.
When the indicators give aligned signals, the strategy determines a trend has started and produces entry signals. After entering, it uses a linear trailing stop loss to follow a percentage of the highest/lowest price, gradually moving up as profits increase to lock in gains. Fixed percentage stop loss is also used to limit max loss per trade.
Specifically, when price is above range upper band, T3 rising, ADX bullish, SAR bullish, RSI above midpoint, MACD positive, long signal is generated. The opposite conditions generate short signal. Take profit and stop loss are fixed at 1% and 3% of entry price. Trailing stop distance is linearly set based on current profit relative to entry price.
Advantage Analysis
-
Multiple indicators improve accuracy
Combining trend, momentum, reversal indicators avoids single indicator pitfalls. -
Flexible trailing stop locks in profits
Trailing stop level adjusts with changing profits to better follow price fluctuations and secure gains. -
Fixed stop controls max loss
The fixed stop loss percentage limits maximum loss per trade and prevents loss expansion. -
Customizable parameters
Indicators parameters can be freely tuned for optimizing across different trading products.
Risk Analysis
-
Increased decision difficulty with more indicators
Too many indicators may cause contradiction and increased difficulty in decision making. Indicator effectiveness needs proper evaluation. -
Whipsaw and stop loss trigger during high volatility
Sharp volatile moves can cause whipsaw and frequent stop loss triggering, rendering take profit useless. -
Increased trading costs from higher frequency
More short-term signals increase trade frequency and slippage costs, impacting actual profitability. -
Difficult optimization with multiple parameters
Testing various parameter combinations of indicators makes optimization challenging and requires sufficient history.
Improvement Directions
-
Evaluate actual indicator effects to avoid redundancy
Compare test results to examine the actual incremental benefits of each indicator and remove redundant ones. -
Optimize trailing stop algorithms
Test different trailing stop algorithms to find better ways to trail profits. -
Account for real slippage and commissions
Incorporate actual trading costs into backtest to aid entry decision making. -
Separate parameter optimization by volatility
Optimize parameters separately for high/low volatility sessions to improve robustness.
Summary
The RePaNoCHa strategy realizes relatively stable automated trading decisions and profit management through integrating multiple indicators and stop mechanisms. But its high trading frequency and complex optimization process needs further improvement. More real-world factors should be introduced into backtests, and techniques like benchmark testing should be adopted to simplify the model and reduce overfitting risks, in order to achieve consistent long-term returns from its relatively active trading approach.
/*backtest
start: 2022-09-18 00:00:00
end: 2023-09-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "RePaNoCHa V4 [Backtest]", overlay = true, initial_capital = 1000, pyramiding = 100,
calc_on_order_fills = false, calc_on_every_tick = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_value = 0.075)- 1
