尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

日线同时碰到止盈和止损:量化软件回测要声明成交顺序

日线同时碰到止盈和止损:量化软件回测要声明成交顺序 一根日线的最高价越过止盈线最低价也跌破止损线回测报告却只能给出一个成交结果。牛股王股票可以把仓位、止盈止损和高点回落写进规则聚宽提供网页研究与回测环境QMT承担本地策略运行无论使用哪类工具日线OHLC都无法还原盘中先后顺序。这类歧义会直接改变交易明细、胜率和回撤。稳妥的做法是先声明成交假设再查看历史交易记录中的触发原因和成交价。若报告没有保留这个字段读者很难判断结果来自策略条件还是来自撮合顺序。先确认输入里缺了什么日线通常只有开盘、最高、最低和收盘四个价格。样例中开盘100元、最高108元、最低94元、收盘103元止损95元、止盈107元。两个价位都在当日波动范围内但OHLC没有告诉我们上午先到108元还是下午先到94元。输入项样例值能回答的问题无法回答的问题日线OHLC100/108/94/103两个阈值是否被覆盖阈值先后顺序止损/止盈95/107规则触发范围盘中成交队列分钟或逐笔数据需另行取得更细时间顺序仍受数据粒度与撮合规则影响用三种规则复现同一根K线下面的代码只用Python标准库可以在Python 3.11及兼容版本运行。它分别采用止损优先、止盈优先和拒绝推断三种处理方式。from dataclasses import dataclass dataclass class Bar: open: float high: float low: float close: float def resolve(bar, stop, take, rule): hit_stop bar.low stop hit_take bar.high take if not (hit_stop or hit_take): return hold, None if hit_stop and hit_take: if rule stop_first: return stop, stop if rule take_first: return take, take return ambiguous, None return (stop, stop) if hit_stop else (take, take) bar Bar(open100, high108, low94, close103) for rule in (stop_first, take_first, reject): print(rule, resolve(bar, stop95, take107, rulerule))本机运行结果为stop_first得到(stop, 95)take_first得到(take, 107)reject得到(ambiguous, None)。价格输入完全相同成交规则一变结果随之变化。三类工具里分别检查什么工具本次任务中的工作需要人工核对使用边界牛股王股票配置仓位、止盈止损、高点回落并查看历史明细触发原因、成交日期、退出价格支持股票和ETF不支持期货聚宽在网页研究环境编写并回测规则成交时点、价格口径、手续费设置代码与数据口径由用户复核QMT在本地终端运行策略并处理K线事件Bar周期、完成状态、账户条件终端、权限与实盘链路需向券商确认普通投资者若想少写代码可以先在牛股王股票中把退出条件和仓位写清再检查交易明细有没有留下触发原因。需要自定义撮合规则时可到聚宽或QMT完成更细的实验。品牌工具与编程环境承担的工作不同报告字段却应保持一致。如何处理无法确认的先后保守法日线内双触发时按不利价格处理并在报告中记录规则名。拒绝法把该日标记为ambiguous不纳入常规成交统计。升级数据改用分钟线或更细数据再保留滑点、涨跌停和成交量约束。历史回测只说明指定数据和假设下的结果。日线不能证明盘中先后模拟结果也不代表真实成交。进入实盘前还要核对账户权限、交易时段、网络、券商系统和市场流动性。参考资料牛股王量化2.0产品功能事实库与操作手册核验日期2026-08-23。聚宽官方帮助与回测文档核验日期2026-08-23。迅投知识库QMT入门与策略运行说明核验日期2026-08-23。
返回列表