OptimizedDrawingHotkeys 是一个 cTrader Automate cBot,通过允许您通过键盘快捷键和鼠标点击创建绘图工具,加快图表注释速度。它包括实时“幽灵”放置预览、捕捉(到柱的高/低或 OHLC,带可选的点数舍入)、图表上的 HUD、撤销最后一次绘图、数字精确的价格标签、以柱为单位的右侧延伸,以及一个自定义的斐波那契回撤系统,可以在时间框架更改后自动重建丢失的斐波那契级别线/标签(和填充矩形层)。
OptimizedDrawingHotkeys cBot — 用户手册
此 cBot 的功能
OptimizedDrawingHotkeys 是一个 绘图助手,用于 cTrader 图表。它允许您使用 键盘快捷键 + 鼠标点击 快速放置常见的绘图对象,带有可选的 幽灵预览、捕捉、图表上的 HUD、撤销,以及一个自愈系统,重建斐波那契级别线/标签(和填充矩形层),如果它们在时间框架更改后消失。
- 它 不 进行交易(AccessRights.None)。
- 它绘制图表对象并管理相关的“子”对象(标签、斐波那契级别、矩形填充层等)。
快速开始(典型工作流程)
- 将 cBot 附加到图表(cTrader Automate)。
- 按下快捷键(例如,F 代表斐波那契,R 代表矩形)。
- 点击图表以放置所需的点。
- 按 Esc 取消正在进行的绘图。
- 按 Z(默认)撤销最后完成的绘图。
- 按 U(默认)显示/隐藏 HUD。
快捷键和绘图模式
默认快捷键
- H = 水平线(1 次点击)
- V = 垂直线(1 次点击)
- T = 趋势线(2 次点击)
- R = 矩形(2 次点击)
- E = 椭圆(2 次点击)
- F = 斐波那契回撤(2 次点击)
- A = 箭头(2 次点击)
- X = 文字(1 次点击)
- C = 等距通道(3 次点击)
- Z = 撤销最后一次绘图
- U = 切换 HUD
- Esc = 取消当前绘图模式(放置时)
如果快捷键参数为空白/空格,则该快捷键实际上被禁用。
每个工具需要的点击次数
- 1 次点击工具: 水平线、垂直线、文字
- 2 次点击工具: 趋势线、矩形、椭圆、斐波那契回撤、箭头
- 3 次点击工具: 通道
-
- 点击 1:起点
- 点击 2:终点(基线)
- 点击 3:高度点(距离基线的距离;高度使用绝对距离)
HUD(图表上的状态显示)
如果启用,HUD 显示:
- 当前模式(或空闲)
- 放置时的进度,如(1/2)
- 当前样式配置文件和捕捉模式
- 快捷键提醒
控制:
- 显示 HUD 参数设置初始可见性。
- 切换 HUD 快捷键用于开关显示。
放置预览(“幽灵预览”)
如果启用放置预览 = true,多点工具在您在点击之间移动鼠标时显示实时预览:
- 趋势线、矩形、椭圆、箭头:第一次点击后预览
- 通道:点击 1 后预览,点击 2 后显示通道预览
- 斐波那契:第一次点击后预览基线和级别
临时预览对象在完成或取消时会自动移除。
捕捉
捕捉在放置点之前调整点击的 Y 价格。
捕捉模式
- 无:无捕捉
- 点数:在代码中不直接用作模式;当捕捉不为无时,通过“先捕捉后点数”进行舍入
- 高低:捕捉到离您点击时间最近的柱的最高或最低点
- OHLC:捕捉到该柱的开盘/最高/最低/收盘价中最近的一个
先捕捉后点数
如果先捕捉后点数 = true 且捕捉模式不是无,则捕捉后的价格会额外舍入到最近的 Symbol.TickSize。
样式系统
样式配置文件
样式配置文件改变默认的线条粗细/颜色行为:
- 自定义:使用您的默认颜色和基础粗细
- 剥头皮:更细更暗的默认值(快速/简洁)
- 波段:更粗的默认值(更显眼)
工具颜色
每个工具可以通过其自己的“工具颜色”参数选择性覆盖颜色。
- 留空以使用配置文件/默认颜色。
- 如果颜色名称无效,则回退到配置文件/默认颜色。
标签和扩展
数字精确的价格
价格标签使用 Symbol.Digits 格式(例如,5 位数的符号显示 1.23456)。
右侧延伸(柱)
右侧延伸(柱)控制“右侧标签”和扩展的斐波那契线的延伸位置。
- cBot 使用您时间框架上当前柱间距将“柱”转换为时间。
矩形填充(颜色 + 不透明度)
填充矩形与轮廓矩形
- 如果矩形填充 = false:绘制普通轮廓矩形。
- 如果矩形填充 = true:cBot 绘制 两个矩形:
-
- 填充底层 (*_fill):非交互式,填充,半透明
- 边框覆盖层 (*_border):交互式,仅轮廓
这是因为 cTrader 的矩形对象样式不可靠地支持单个对象中独立的边框/填充样式。
填充颜色 / 填充不透明度 %
- 填充颜色:颜色名称(例如,DodgerBlue)
- 填充不透明度 %:0–100
-
- 0 = 完全透明
- 100 = 完全不透明
重要行为:
- 拖动/调整大小通过 边框层(交互式)完成。
- 如果您删除填充层或边框层,cBot 会移除整个填充矩形组(防止孤立层)。
斐波那契回撤工具(自定义实现)
创建内容
当您放置斐波那契时:
- 创建基线趋势线:..._base(交互式)
- 对于每个启用的级别:
-
- 创建一条线对象(..._lvl_i)和一个文本标签(..._lvl_i_lab)作为 子对象
- 子对象设计为非交互式(基线是您移动的对象)
扩展斐波那契级别
- 如果扩展斐波那契级别 = true:每个级别绘制为 趋势线,从基线起点延伸到计算出的右侧延伸时间。
- 如果扩展斐波那契级别 = false:每个级别是 水平线。
cBot 会记住“扩展与否” 每个斐波那契组(因此旧的斐波那契即使您后来更改参数也保持其样式)。
斐波那契标签左偏移(柱)
将斐波那契百分比标签向基线起点左侧移动 N 个柱(限制不会早于第一个柱)。
自动修复 / 自愈行为
时间框架更改时斐波那契级别消失
某些 cTrader 版本在时间框架更改时会移除某些非交互式/子对象。此 cBot 可以重建它们。
- 由自动修复斐波那契级别控制
- 运行时机:
-
- 启动时
- 每秒 1 次 空闲时(不在您放置新绘图时)
关键规则:
- 仅当该斐波那契的所有级别线都不存在时,才重新创建斐波那契级别线/标签。
这避免了与您的手动删除冲突(例如,如果您有意删除了单个级别线)。
填充矩形层修复
填充矩形也会被检查和修复:
- 如果边框存在但填充缺失 → 重新创建填充。
- 如果填充存在但边框缺失 → 重新创建边框(使用当前矩形边框颜色/粗细参数)。
撤销和删除行为
撤销最后一次绘图
- 快捷键:撤销最后一次(默认 Z)
- 移除最后创建的“所有者组”:
-
- 单个对象:直接移除
- 趋势线标签:与线一起移除
- 斐波那契:基线 + 所有级别 + 所有斐波那契标签一起移除
- 填充矩形:填充和边框一起移除
撤销是“基于堆栈”的:它只移除 cBot 最后创建的内容,而非任意手动编辑。
手动删除对象
- 删除“所有者”对象时,会删除其子对象(如适用)。
- 对于填充矩形,删除任一层都会导致 cBot 也删除另一层。
参数参考(按组)
快捷键
- 水平线、垂直线、趋势线、矩形、椭圆、斐波那契回撤、箭头、文字、通道
- 撤销最后一次
- 切换 HUD
用户体验
- 显示 HUD(初始 HUD 状态)
- 启用放置预览
- 自动修复斐波那契级别
样式
- 样式配置文件(自定义、剥头皮、波段)
- 基础粗细
- 默认颜色
工具颜色
每个工具的可选覆盖(空白 = 使用配置文件/默认):
- 水平线、垂直线、趋势线、矩形、椭圆、箭头、文字、通道、斐波那契基线
文字
- 文字内容
- 文字字体大小
注意:也用于各种标签(斐波那契标签、线端点标签等)。
矩形
- 矩形填充
- 填充颜色
- 填充不透明度 %
时间/标签
- 右侧延伸(柱)
捕捉
- 捕捉模式(无、高低、OHLC)
- 先捕捉后点数
斐波那契
- 扩展斐波那契级别
- 斐波那契标签左偏移(柱)
斐波那契级别
对于每个级别:
- 显示切换
- 百分比值
- 颜色
- 线条样式
提示、注意事项、故障排除
快捷键不起作用
- 确保图表已获得焦点(点击图表一次)。
- 确保没有快捷键重复(两个动作绑定到同一键可能导致行为不可预测)。
- 尝试使用单个字符作为快捷键。
更改参数后斐波那契级别/标签发生变化
- 现有斐波那契组会记住“扩展与否”,但:
-
- 如果级别完全缺失且必须重新创建,cBot 会使用您当前的 斐波那契级别设置(颜色/样式/可见性)。
- 这是预期行为:它会从您当前的配置“重新加载”。
填充矩形颜色/不透明度似乎是全局的
- 它是全局的:填充颜色和填充不透明度 % 是 参数,而非每个矩形单独存储。
- 如果填充层消失并稍后重新创建,它将使用您当前的 填充设置。
对象在时间框架更改时仍然消失
- 确认自动修复斐波那契级别 = true。
- 注意:该机器人仅在斐波那契的 所有 级别线都缺失时才重建斐波那契级别。
5 | 0 % | |
4 | 100 % | |
3 | 0 % | |
2 | 0 % | |
1 | 0 % |