在 GitHub 上查看

价格触发式虚拟 OCO 策略图

English | Русский | Español | Deutsch | Português | 日本語

该图表围绕由已完成的五分钟 K 线计算出的唐奇安通道,维护两个虚拟突破触发器。实时订单簿中的最优卖价和最优买价会与最新通道边界比较;第一个符合条件的方向以市价开仓,随后由百分比止盈和止损管理仓位。

schema

策略概览

  • 已完成的五分钟 K 线输入 Donchian Channels(20),生成上方和下方突破边界。
  • 每次市场深度更新都会采样最新已形成的通道值,并从订单簿读取 BestAsk.PriceBestBid.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.PriceBestBid.Price 为两个比较提供实时价格。
  • 每个入场门控组合三个布尔输入:对应的价格比较、position = 0 以及公开参数 Armed
  • 两个 Flag 模块实现一次性的虚拟 OCO 行为,不在交易所挂出等待成交的订单。一侧成交后,非空仓位会阻止两个入场路径,直到保护模块将其平掉。
  • 两个 Modify position 模块都使用市价单。入场成交直接送入 Position protection,市场深度则提供判断出场价位所需的价格。

使用方法

.json 文件导入 Designer,在回测器中用历史数据运行,然后根据您的交易品种调整参数或模块,并在确认无误后再用于实盘。