该策略融合MACD和RSI指标,判断趋势方向和超买超卖情况,实现趋势跟踪交易。当MACD线穿越零轴且RSI线超出超买超卖区时,进行做多或做空。
主要逻辑:
计算MACD线和信号线(MACD的EMA)
Delta为二者差值,表达价格动量变化
RSI以判断超买超卖状态
当Delta上穿零轴且RSI超买(默认70)时做多
当Delta下穿零轴且RSI超卖(默认30)时做空
MACD判断价格动量方向,RSI判断超买超卖状态,二者组合可过滤掉许多假信号。
融合两种指标过滤信号
MACD判断价格动量,RSI判断超买超卖
可配置参数,适用于不同市场环境
清晰的趋势交易策略思路
单一指标组合,效果可能有限
没有止损,无法控制单笔损失
未考虑打开仓位的大小
对策:
测试其他指标配合,寻找最佳组合
增加移动止损或硬止损
根据资金规模或波动率设定仓位
测试MACD与其他指标组合
优化参数,提高稳定性
根据趋势 filtr信号,避免假突破
采用渐进止损,保护利润
利用机器学习判断信号质量
该策略集成MACD和RSI指标判断趋势,思路清晰可靠。可通过参数优化、止损策略、智能过滤等方法提升稳定性。它提供了一个行之有效的趋势交易模型,值得进一步扩展与改进。
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("MACD RSI Strategy", overlay=true)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
// RSI
length_rsi = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = rsi(price, length_rsi)
//
if (not na(vrsi))
if (crossover(delta, 0) and crossover(vrsi, overBought ))
strategy.entry("MacdLE", strategy.long, comment="LE")
if (crossunder(delta, 0) and crossunder(vrsi, overSold))
strategy.entry("MacdSE", strategy.short, comment="SE")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)