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

Interchange - MetaTrader 5 库

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

Interchange - library for MetaTrader 5

为什么需要这个:

如果您为市场创建产品或不想使用系统 DLL,此类可以帮助组织程序之间的数据交换。

对于其他情况,有更可靠、更快速的方法用于连接应用程序。交换是使用简单的结构实现的。

如何使用它:

以下是将数据从专家传输到指标的示例。

1.1.创建该类的实例:

CInterchange Exp_buffer;

1.2.在OnInit()设置全局变量名称的前缀。为了避免与类的其他实例发生冲突,请为每个实例设置唯一的名称:

Exp_buffer.SetPrefixNameForSave(_象征+“_”+(细绳_时期);

1.3.算法操作是使用自定义事件来实现的。简单地将下面的行添加到OnChartEvent()处理程序:

Exp_buffer.OnEvent(id,lparam,dparam,sparam);

如果要传输的数据已准备好(示例中为Exp_Data结构),则需要调用该方法:

Exp_buffer.SendDataStart(Exp_Data);
1.4.不要忘记在程序反初始化期间销毁类实例:
Exp_buffer.Destroy();

  • 在指标中

    2.1.创建该类的实例:

    CInterchange Ind_buffer;
    2.2.在OnInit()设置全局变量名称的前缀。它必须与源匹配 - 必须与第 1.1 点中的相同。
    Ind_buffer.SetPrefixNameForLoad(_象征+“_”+(细绳_时期);

    2.3.要开始数据传输过程,需要使用 Ind_data 参数(用于从 EA 写入数据的结构)调用 GetDataStart();

    Ind_buffer.GetDataStart(Ind_data);

    2.4.算法操作是使用自定义事件来实现的。将下面的行添加到OnChartEvent()处理程序:

    Ind_buffer.OnEvent(id,lparam,dparam,sparam);

    如果数据传输过程完成,则该方法:

    Ind_buffer.GetDataFinish(Ind_data)

    返回真。

    2.5.不要忘记在程序反初始化期间销毁类实例:

    Ind_buffer.Destroy();
  • Interchange - library for MetaTrader 5

    视频及操作示例:


    附件下载

    📎 interchange_expert.mq5 (3.07 KB)

    📎 interchange_indicator.mq5 (5.08 KB)

    📎 interchange.mqh (9.51 KB)

    📎 my_struct.mqh (0.9 KB)

    Source: MQL5 #12786

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