价格触发式虚拟 OCO 策略图
English | Русский | Español | Deutsch | Português | 日本語
该图表围绕由已完成的五分钟 K 线计算出的唐奇安通道,维护两个虚拟突破触发器。实时订单簿中的最优卖价和最优买价会与最新通道边界比较;第一个符合条件的方向以市价开仓,随后由百分比止盈和止损管理仓位。
策略概览
- 已完成的五分钟 K 线输入 Donchian Channels(20),生成上方和下方突破边界。
- 每次市场深度更新都会采样最新已形成的通道值,并从订单簿读取
BestAsk.Price和BestBid.Price。 - 仅当
Armed已启用且仓位为空时,上方突破才能买入,下方突破才能卖出。 - 每个方向的 Flag 模块只放行第一个有效脉冲,并抑制重复信号,直到仓位变化重置两个一次性门控。
- 仓位保护在止盈 1% 或止损 0.6% 时平掉已成交的入场仓位;图表显示 K 线、两条通道边界和全部成交。
入场与出场规则
- 做多入场: 当
Armed为 true、仓位为空且最优卖价大于或等于最新唐奇安上轨时,以Volume数量提交市价买单。 - 做空入场: 当
Armed为 true、仓位为空且最优买价小于或等于最新唐奇安下轨时,以Volume数量提交市价卖单。 - 出场: 当实时订单簿价格达到相对入场成交价 1% 的盈利目标或 0.6% 的亏损阈值时,平掉当前仓位。
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| Channel Length | 20 | Donchian Channels 使用的已完成 K 线数量。 |
| Armed | true | 启用两个突破入场路径的总开关。 |
| Take Profit, % | 1 | 从入场成交价到盈利目标的百分比距离。 |
| Stop Loss, % | 0.6 | 从入场成交价到亏损阈值的百分比距离。 |
| Volume | 1 | 两个入场方向使用的市价单数量。 |
| Candles | 00:05:00 | 用于计算通道的已完成 K 线周期。 |
图表详情
- UpperBand 和 LowerBand 转换器提取两条唐奇安边界。两个 Variable 模块保存它们,并在每次市场深度更新的因果上下文中输出最新值。
- 在 Donchian Channels(20) 尚未形成之前,边界变量没有保存值,入场比较保持不活动。
- 订单簿转换器路径
BestAsk.Price和BestBid.Price为两个比较提供实时价格。 - 每个入场门控组合三个布尔输入:对应的价格比较、
position = 0以及公开参数Armed。 - 两个 Flag 模块实现一次性的虚拟 OCO 行为,不在交易所挂出等待成交的订单。一侧成交后,非空仓位会阻止两个入场路径,直到保护模块将其平掉。
- 两个 Modify position 模块都使用市价单。入场成交直接送入 Position protection,市场深度则提供判断出场价位所需的价格。
使用方法
将 .json 文件导入 Designer,在回测器中用历史数据运行,然后根据您的交易品种调整参数或模块,并在确认无误后再用于实盘。