TradingView PineScript如何实现按金额碎股开仓及无需平仓加仓
PineScript碎股开仓与加仓问题解决方案
1. 固定金额碎股开仓实现方法
PineScript策略模块原生支持碎股交易计算,无需额外做份额取整操作,即使单股价格高于你设定的固定开仓金额也可以正常使用。
你只需要在策略初始化的参数中做如下配置即可:
strategy( title = "你的策略名称", default_qty_type = strategy.cash, // 将开仓计量基准设置为现金 default_qty_value = 25, // 固定每次开仓金额为25美元 precision = 6, // 设置持仓份额精度最高为6位小数,满足碎股需求 // 其余你需要的策略参数 )
- 配置完成后直接调用开仓函数即可,系统会自动按照当前收盘价计算需要买入的份额,比如股价100美元时会自动开仓0.25股。
- 注意:该碎股逻辑仅在回测层面生效,实盘是否支持碎股交易需要以你对应开户的券商规则为准
2. 无平仓累加持仓加仓实现方法
PineScript默认的开仓逻辑本身就支持同方向加仓,不会主动平仓原有持仓,你只需要满足两个条件即可:
- 不要在策略代码中加入
strategy.close()、strategy.close_all()这类主动平仓指令 - 每次加仓调用
strategy.entry()时,开仓方向和原有持仓方向保持一致
示例代码如下:
// 每根K线确认收盘时执行加仓操作 if barstate.isconfirmed strategy.entry("长期多单", strategy.long)
- 多次调用上述同方向开仓指令,系统会自动将新开仓的份额累加至现有持仓中,不会触发原有仓位的平仓操作。
- 注意:如果你设置了策略全局止损、止盈参数,只有当价格触发对应条件时才会执行平仓,日常加仓不会影响原有持仓
内容的提问来源于stack exchange,提问作者Fuzzy 123
相关产品推荐
相关产品推荐

