请观看如何免费下载自动交易
请在Telegram上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
显示:
30
等级:
(6)
已发布:
\MQL5\Include\MQL5Book\
MapArray.mqh (2.74 KB) 预览
AutoPtr.mqh (1.86 KB) 预览
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

您是否需要在打开的图表之间复制和粘贴一些图形对象?我想您一定有过。令人惊讶的是,MetaTrader 并不提供对象的 "复制和粘贴 "功能。唯一可以实现类似效果的是模板(tpl 文件)。但模板存储了完整的图表状态,包括指标、设置和大量辅助内容,这些内容可能与所需的复制程序无关,也没有必要。

这就是我开发ChartObjectsCopyPaste.mq5 指标的原因。它可以将选定对象复制到剪贴板,然后粘贴到其他图表上。无附加条件。

该指标基于算法交易书中 发布的另一个指标 -ObjectGroupEdit.mq5

请点击链接了解更多有关幕后工作的所有底层类(ObjectMonitorMapArray 及其他)的信息。

该指标没有缓冲区。它至少应连接到两个图表:要复制对象的源图表和要粘贴对象的目标图表。

在图表上运行时,指标会跟踪现有的图形对象,并记录选中了哪些对象。

通常,"复制和粘贴 "命令是成对使用的:

  1. 按 Ctrl+Q 热键可将所有选中对象以文本形式复制到 Windows 剪贴板中(可在任何文本编辑器中保存和查看,下面有一个示例)。
  2. 在目标图表上按 Ctrl+J 从剪贴板粘贴所有对象。

为什么要按 Ctrl+Q/Ctrl+J?这只是从极少数按键中自愿选择的 2 个空闲按键组合。这是因为 MetaTrader 会拦截许多热键,但不会将它们传播到 MQL 程序中。尤其是标准的 Ctrl+C/Ctrl+V/Ctrl+Ins/Shift+Ins 在此情况下无法使用。

由于源代码可用,您可以将热键改成其他组合。

由于指示器使用系统 DLL 访问 Windows 剪贴板,因此应在 "属性"对话框的 "依赖关系"选项卡上允许 DLL 导入。

由于代码库不允许 DLL 导入,与剪贴板相关的代码被封装在条件预处理器指令 #ifdef DLL_LINK 中,因此请取消注释该行

#define DLL_LINK

行。否则,你会看到剪贴板函数存根会在按下热键时显示提示,但不会执行任何实际操作!

输入为
  • MakeAllSelectable- 使所有对象都可选择的标志(对于以编程方式创建的对象,该标志通常为假);
  • LogDetails- 标志,用于将传输对象的所有属性输出到日志中;
指标不会检查粘贴的对象是否与实际目标图表相匹配,如符号、价格范围、子窗口数量等。- 请自行检查。

以下是包含 2 个对象的剪贴板文本示例:

OBJ_VLINE       H1 Vertical Line 5578   0       0
enum 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 ENUM_OBJECT_PROPERTY_DOUBLE
9       OBJPROP_PRICE   1.11449
enum ENUM_OBJECT_PROPERTY_STRING
5       OBJPROP_NAME    H1 Vertical Line 5578
6       OBJPROP_TEXT    
206     OBJPROP_TOOLTIP 
OBJ_CHANNEL     H1 Equidistant Channel 40885    5       1
enum 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 ENUM_OBJECT_PROPERTY_DOUBLE
9       OBJPROP_PRICE   -28.113879003558715
9       OBJPROP_PRICE.1 -21.708185053380777
9       OBJPROP_PRICE.2 -48.04270462633452
enum ENUM_OBJECT_PROPERTY_STRING
5       OBJPROP_NAME    H1 Equidistant Channel 40885
6       OBJPROP_TEXT    
206     OBJPROP_TOOLTIP 

下面是粘贴到图表上的对象:

通过剪贴板在图表上粘贴 2 个图形对象








由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/52263

之字形校准工具 之字形校准工具

通过 vlines,您可以轻松查看 "之 "字形指标确认的看涨和看跌期。您可以控制 "之 "字形的显示方式,选择从图表的起点开始或从一定数量的柱状图开始,还可以控制显示峰值或谷值价格、过去一段时间的方向及其振幅(以点为单位)的标签的显示方式。当然,该功能在主窗口和子窗口均可使用。 警告这是理解和校准指标以及制定策略的重要辅助工具,但不能直接使用。翻译自 DeepL.com(免费版)。

Code To Check And Delete Chart Objects For MT5 Code To Check And Delete Chart Objects For MT5

- 该脚本会扫描当前图表,查找任何可用的图表对象 - 对其进行计数和相应删除 - 并分别记录图表上对象的名称。

加速震荡(AC) 加速震荡(AC)

加速/减速技术指标(AC)用于衡量当前驱动力的加速和减速。

离散 离散

离散技术指标由价格和交易量的变化决定。