ChartObjectsCopyPaste - MetaTrader 5脚本

您是否曾经需要在打开的图表之间复制和粘贴一些图形对象?我想你有。令人惊讶的是,MetaTrader 不提供对象的“复制和粘贴”功能。唯一可以让您实现或多或少类似效果的是模板(tpl 文件)。但模板存储完整的图表状态,包括指标、设置和许多辅助内容,这些内容可能与所需的复制过程无关且不必要。
这就是我开发这个指标的原因图表对象复制粘贴.mq5。它将选定的对象复制到剪贴板,然后可以将它们粘贴到其他图表上。没有任何附加条件。
该指标基于发布于的另一个指标算法交易书-对象组编辑.mq5。
请点击链接了解有关所有底层类的更多信息(对象监视器,映射数组和其他人)在幕后工作。
该指标没有缓冲区。它至少应附加到 2 个图表:您要从中复制对象的源图表,以及您计划粘贴对象的目标图表。
在图表上运行时,指标会跟踪现有图形对象并记录所选对象。
像往常一样,“复制和粘贴”命令成对工作:
为什么要按Ctrl+Q/Ctrl+J?这些只是从极少数中自愿选择的 2 个空出的组合键。这是因为 MetaTrader 会拦截许多热键并且不会将其传播到 MQL 程序。特别是对于标准 Ctrl+C/Ctrl+V/Ctrl+Ins/Shift+Ins 来说更是如此,它们在此上下文中不起作用。
由于源代码可用,您可以将热键更改为其他组合。
由于该指标使用系统 DLL 来访问 Windows 剪贴板,因此您应该允许在特性对话框,在依赖关系选项卡。
由于代码库不允许导入 DLL,因此与剪贴板相关的代码被包装到条件预处理器指令 #ifdef DLL_LINK 中,因此请取消注释该行
#定义DLL_LINK
编译之前。否则,您将看到剪贴板功能存根如何向您显示响应按下热键的警报,并且不会执行任何实际操作!
以下是包含 2 个对象的剪贴板文本示例:
OBJ_VLINE H1垂直线5578 0 0 枚举 ENUM_OBJECT_PROPERTY_INTEGER 0 OBJPROP_COLOR 55295 1 OBJPROP_STYLE 2 2 OBJPROP_WIDTH 1 3 OBJPROP_BACK 0 4 OBJPROP_SELECTED 1 7 OBJPROP_TYPE 0 8 OBJPROP_TIME 1726739940 10 OBJPROP_SELECTABLE 1 11 OBJPROP_CREATETIME 1726847009 12 OBJPROP_TIMEFRAMES 2097151 200 OBJPROP_LEVELS 0 207 OBJPROP_ZORDER 0 208 OBJPROP_HIDDEN 0 1032 OBJPROP_RAY 1 枚举 ENUM_OBJECT_PROPERTY_DOUBLE 9 OBJPROP_PRICE 1.11449 枚举 ENUM_OBJECT_PROPERTY_STRING 5 OBJPROP_NAME H1垂直线5578 6 OBJPROP_TEXT 206 OBJPROP_工具提示 OBJ_通道 H1等距通道40885 5 1 枚举 ENUM_OBJECT_PROPERTY_INTEGER 0 OBJPROP_COLOR 255 1 OBJPROP_STYLE 0 2 OBJPROP_WIDTH 1 3 OBJPROP_BACK 0 4 OBJPROP_SELECTED 1 7 OBJPROP_TYPE 5 8 OBJPROP_TIME 1726758000 8 OBJPROP_TIME。1 1726797600 8 OBJPROP_TIME。2 1726758000 10 OBJPROP_SELECTABLE 1 11 OBJPROP_CREATETIME 1726847883 12 OBJPROP_TIMEFRAMES 2097151 200 OBJPROP_LEVELS 0 207 OBJPROP_ZORDER 0 208 OBJPROP_HIDDEN 0 1003 OBJPROP_RAY_LEFT 0 1004 OBJPROP_RAY_RIGHT 0 1031 OBJPROP_FILL 0 枚举 ENUM_OBJECT_PROPERTY_DOUBLE 9 OBJPROP_PRICE -28.113879003558715 9 OBJPROP_PRICE。1-21.708185053380777 9 OBJPROP_PRICE。2-48.04270462633452 枚举 ENUM_OBJECT_PROPERTY_STRING 5 OBJPROP_NAME H1等距通道40885 6 OBJPROP_TEXT 206 OBJPROP_工具提示
以下是粘贴在图表上的这些对象:

附件下载
📎 objectmonitorext.mqh (12.33 KB)
📎 maparray.mqh (2.74 KB)
📎 autoptr.mqh (1.86 KB)
📎 chartobjectscopypaste.mq5 (10.35 KB)
Source: MQL5 #52263
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
