下载MetaTrader 5

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

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

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

程序库

TypeToBytes - MetaTrader 5程序库

| Chinese English Русский Español Deutsch 日本語 Português

显示:
291
等级:
投票: 28
已发布:
2017.01.10 08:42
已更新:
2017.07.17 17:20
\MQL5\Include\\MQL5\Scripts\

这个跨平台库可以方便地对结构和标准数据类型执行逐字节操作。

特点:

  • 结构和标准数据类型彼此间的逐字节比较 (== 和 !=) , (在 MQL 中, 省缺情况下缺少结构比较的运算符)。
  • 通过名称确定结构字段的字节移位。
  • 在源数据中通过字节移位读取任何标准类型的值。
  • 通过字节移位将结构和标准类型写入源数据。
  • 将结构和标准数据类型转换为字节数组。
一切所述均适用于 简单结构

附有详细注释的脚本演示了函数库的能力

// MQL4&5-代码

#property strict

#include <TypeToBytes.mqh>

#define PRINT(A) ::Print(#A + " = " + (string)A);

void OnStart( void )
{
  MqlTick Tick;
  ::SymbolInfoTick(::Symbol(), Tick);

  MqlTick CloneTick = Tick;

// 结构操作
  if (_R(Tick) == CloneTick)             // 现在可以比较结构
    ::Print("相等");

// 通过移位获取所需类型的结果
  PRINT(_R(Tick)[(datetime)0])           // 检查 MqlTick 结构的对象中 0 移位的 'datetime' 值 - 即时报价时间

// 获得结构字段的移位
  const int Offset = _OFFSET(Tick, bid); // 找到 MqlTick 对象中的供给价字段的字节移位

  PRINT(Tick.bid)                        // 即时报价供给价的值已检查
  _W(Tick, Offset, (double)1.23456);     // 在找到的位移处写入 (double)1.098765 值
  PRINT(Tick.bid)                        // 确保 Tick.bid 现在等于 1.098765

  PRINT(_R(Tick)[(double)Offset])        // 打印位于偏移位置的 'double' 值 - 这次还是 Tick.bid

  PRINT(_R(Tick).Bytes[8])               // 在 MqlTick 结构的对象中检查移位为 8 处的字节值
  PRINT(_R(Tick)[(uchar)8])              // 同样, 但使用不同的方法

  PRINT(CloneTick.bid)                   // 检查克隆的Tick.bid 值
  _W(CloneTick, 0, Tick);                // 将 Tick 结构对象的值写到零移位处的 CloneTick
  PRINT(CloneTick.bid)                   // 确认 CloneTick.bid == Tick.bid

// 使用标准类型操作
  color Color = C'241,248,255';

  PRINT(_R(Color)[(uchar)1])             // 颜色中的绿色成份 - 248

  _W(Color, 2, (uchar)230);              // 在移位 2 处写入 (uchar)230 值。
  PRINT(Color)                           // 确认颜色现在是 C'241,248,230'

// 混合类型的并发操作
  if (_R(Tick) != Color)                 // 甚至可以比较结构与标准类型
    ::Print("不相等");

  return;
}

 

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

PriceLines PriceLines

绘制价格铭牌的脚本。

StochasticDiff_HTF StochasticDiff_HTF

指标 StochasticDiff 在输入参数中有时间帧选项。

月线 周线 级别 月线 周线 级别

脚本在图表上显示月线和周线级别。

PricePosition PricePosition

当价格上升高于 (BUY) 或下跌低于所选角度线 (SELL) 时, PricePosition 指标提供价格位置的角度点数。