欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

ChartObjectsCopyPaste - MetaTrader 5脚本

author emer | 383 人阅读 | 0 人评论 |

ChartObjectsCopyPaste - indicator for 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_TIME1  1726797600
8      OBJPROP_TIME2  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_PRICE1-21.708185053380777
9      OBJPROP_PRICE2-48.04270462633452
枚举 ENUM_OBJECT_PROPERTY_STRING
5      OBJPROP_NAME    H1等距通道40885
6      OBJPROP_TEXT    206    OBJPROP_工具提示 

以下是粘贴在图表上的这些对象:

ChartObjectsCopyPaste - indicator for MetaTrader 5


附件下载

📎 objectmonitorext.mqh (12.33 KB)

📎 maparray.mqh (2.74 KB)

📎 autoptr.mqh (1.86 KB)

📎 chartobjectscopypaste.mq5 (10.35 KB)

Source: MQL5 #52263

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录