TradingView Pine Script如何编写strategy.entry实现20%开仓支持金字塔加仓及Quadency告警
Pine Script策略entry函数正确配置方案
原有写法问题梳理
- 第一种写法:Quadency对接TradingView信号时会优先读取平台自身的仓位配置,忽略Pine Script内的
default_qty_value默认参数,导致全仓开仓 - 第二种写法:固定
qty=20是固定交易数量而非本金比例,且long=true的参数写法Quadency兼容度低,无法正常识别信号 - 第三种写法:未指定参数名时
strategy.entry第三个参数为触发条件when,直接传入数值会触发语法错误
正确实现代码
第一步:计算仓位值
首先计算对应比例的交易数量,如果你需要用动态权益的20%计算,用第一种写法;如果要严格固定为初始本金的20%不受浮盈浮亏影响,用第二种注释的写法:
// 按动态权益20%计算仓位 tradeQty = strategy.equity * 0.2 / close // 严格按初始本金20%计算仓位 // tradeQty = strategy.initial_capital * 0.2 / close
第二步:编写entry调用代码
使用Quadency兼容的参数写法,保留pyramiding=5的加仓规则:
if (buy) strategy.entry(id="BUY", direction=strategy.long, qty=tradeQty)
生效验证
- 回测时可确认每次开仓金额为对应本金的20%,相同ID的多单最多可加仓5次,符合金字塔加仓规则
- 告警触发规则选择「策略执行交易时发送」,Quadency即可正常识别多单信号
内容的提问来源于stack exchange,提问作者Franco Barberis
相关产品推荐
相关产品推荐

