pine版本5转换为版本6后,交易信号变多了?
编辑
2
2025-07-27

背景
最近将v5版本的脚本,点击编辑器中的转换为v6版本后。
发现同样的回测周期,v6显示59笔,而v5无此机制仅显示37笔有效信号。
看了v6的交易列表中频繁出现Margin Call,说明策略在以下情况被中断:
连续亏损后账户资金不足 → 新开仓信号被拒绝
持仓亏损触及强平线 → 系统自动平仓并计入交易列表
原因
- v5默认无保证金限制
默认 margin_long 和 margin_short 参数值为 0
表现:策略可无限开仓,不检查账户资金是否充足,回测中不会触发保证金追加。
- v6默认启用100%保证金要求
默认 margin_long = 100(多头)和 margin_short = 100(空头)
表现:
策略开仓时需账户有充足保证金,否则:
新订单被拒绝 → 交易信号未被实际执行
持仓亏损超过保证金 → 强制平仓(Margin Call)
后果:
部分信号因保证金不足被跳过 → 实际交易数减少
亏损持仓被强平 → 额外生成平仓记录 → 回测显示交易数增加。
解决方案
在脚本首行strategy中定义多头空头不检查保证金
//@version=6
strategy(
title = "xxxxxx策略",
overlay = true,
default_qty_type = strategy.percent_of_equity,
default_qty_value = 100,
margin_long = 0, // 禁用多头保证金检查
margin_short = 0 // 禁用空头保证金检查
)
修改后,发现v6也是和v5一样的37笔有效信号了。
- 0
- 0
-
赞助
支付宝
微信
-
分享