下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

显示:
368
等级:
投票: 19
已发布:
2017.01.25 08:41
\MQL5\Experts\\MQL5\Indicators\\MQL5\Include\

为什么需要这样:

如果您为市场开发产品或者您不想使用系统DLL,本类可以帮助您在您的程序之间组织进行数据的交换。

对于其他情况,有更加可靠和更快的方法用于应用程序的数据交换。交换是使用简单结构实现的。

使用选项:

  1. 需要从一个EA交易传送数据到指标或者另一个EA交易;
  2. 需要创建一个指标来在多个窗口中显示信息(或者在主窗口和子窗口中显示);
  3. 需要设置EA交易计算数值的可视化效果,在其中有所需的计算。

如何使用它:

这里是一个从EA交易到指标传送数据的实例。

  1. 在 EA 交易中

    1.1. 创建一个类的实例:

    CInterchange Exp_buffer;

    1.2. 在OnInit()中设置全局变量名称的前缀,为了避免和其他类的实例产生冲突,为它们中的每一个都要设置唯一的名称:

    Exp_buffer.SetPrefixNameForSave(_Symbol+"_"+(string)_Period);

    1.3. 算法操作是使用自定义事件来实现的,只要把这行代码加到 OnChartEvent() 处理函数下方:

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

    如果数据已经准备好可以传输了 (在例子中它是 Exp_Data 结构), 就需要调用这个方法:

    Exp_buffer.SendDataStart(Exp_Data);
    1.4. 不要忘记在程序终止时删除类的实例:
    Exp_buffer.Destroy();

  2. 在指标中

    2.1. 创建一个类的实例:

    CInterchange Ind_buffer;
    2.2. 在OnInit()中设置全局变量名称的前缀,必须要与数据源匹配 - 必须和 1.1 相同。
    Ind_buffer.SetPrefixNameForLoad(_Symbol+"_"+(string)_Period);

    2.3. 为了开始处理数据传输,需要调用 GetDataStart(),使用 Ind_data 参数 (用于从EA交易中写入数据的结构);

    Ind_buffer.GetDataStart(Ind_data);

    2.4. 算法操作是使用自定义事件来实现的,把下面这一行加到 OnChartEvent() 处理函数中:

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

    如果数据传输处理完毕,这个方法:

    Ind_buffer.GetDataFinish(Ind_data)

    返回 true.

    2.5. 不要忘记在程序终止时删除类的实例:

    Ind_buffer.Destroy();

运行示例的视频:


本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/12786

Stat Stat

本脚本程序显示了在指定时间段内的资产交易简要统计信息 - 交易数量,利润,利润因数。

切换图表 切换图表

本脚本程序每隔一定的时间在所有打开的图表中做切换。也可以值显示某些交易品种的图表。

定时交易 定时交易

演示了基于 OnTimer 事件进行交易的简单代码。当计时器触发时,EA交易会交替进行买入和卖出交易,使用的是固定的止损和获利值。

ZZ Fibo Trader ZZ Fibo Trader

ZZ Fibo Trader 简单地展示了 Simple ZZ Fibo 的使用, 它在之字转向的波动中绘制斐波那契线。另外,算法还展示了通过抛物线系统进行移动止损的操作。