问题描述
//版本=3
strategy(title="MACD example strategy",overlay=false,default_qty_value=10000)
// 创建输入
fastLen = input(title="Fast Length",type=integer,defval=12)
slowLen = input(title="Slow Length",defval=26)
sigLen = input(title="Signal Length",defval=9)
// 获取 MACD 值
[macdLine,signalLine,_] = macd(close,fastLen,slowLen,sigLen)
// 绘制 MACD 值和线
plot(series=macdLine,color=#6495ED,linewidth=2)
plot(series=signalLine,color=orange,linewidth=2)
hline(price=0)
//判断多空条件
longCondition = crossover(macdLine,signalLine)
very = rsi(close,14) < 30 or rsi(close[1],14)<30
yolo = sma(close,5) > sma(close,20)
yulu = close>sma(close,200)
// 提交订单
strategy.entry(id="Long Entry",long=true,when= longCondition and very and yolo and yulu)
strategy.exit(id="Long Exit",profit=close*0.01/syminfo.mintick,loss=close*0.09/syminfo.mintick)
解决方法
我认为您的问题是您有太多相互冲突的条件。
您希望 5 周期均线高于 20 周期均线,收盘价高于 200 周期均线。这三个条件将表明上升趋势。在上升趋势中发现 RSI 低于 30 的可能性不大。
当我从条目中删除您的测试时,我得到了很多结果。