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

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

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

显示:
287
等级:
投票: 24
已发布:
2018.01.29 09:21
\MQL5\Include\fxsaber\Clock\
Canvas.mqh (0.36 KB)预览
Color.mqh (1.48 KB)预览
File.mqh (2.45 KB)预览
Image.mqh (1.17 KB)预览
Pixel.mqh (0.33 KB)预览
Settings.mqh (1.26 KB)预览
Layer.mqh (2.05 KB)预览
\MQL5\Include\fxsaber\
Clock.mqh (1.65 KB)预览
\MQL5\Indicators\fxsaber\
Clock.mq5 (2.84 KB)预览
\MQL5\Files\
Clocks.zip (903.45 KB)

函数库 (Clock.mqh) 能够创建模拟时钟作为 图形资源


功能

以下源代码显示了该函数库的用法:

// MQL4&5-code
// 跨平台智能交易系统的一个示例, 它在图表上创建一个模拟时钟

#property strict

#include <fxsaber\Clock.mqh> // https://www.mql5.com/en/code/19388

const string ObjName = __FILE__;            // 要显示时钟的位图对象的名称
const string ResourceName = "::" + ObjName; // 将形成时钟的资源名称

// 按照相应 INI 文件的设置创建时钟
CLOCK Clock("Clocks\\Clock01\\Clock01.INI", ResourceName);

void OnINIt()
{
  // 创建一个用于显示时钟的图形对象
  ObjectCreate(0, ObjName, OBJ_BITMAP_LABEL, 0, 0, 0);

  // 指定时钟所在的资源名称
  ObjectSetString(0, ObjName, OBJPROP_BMPFILE, 0, ResourceName);

  // 添加选择对象的可能性, 以便用鼠标拖动它
  ObjectSetInteger(0, ObjName, OBJPROP_SELECTABLE, true);

  // 启用第二个定时器来更新时钟
  EventSetTimer(1);
}

void OnTimer()
{
  // 在时钟上设置当前时间
  Clock.SetTime(TimeLocal());

  // 刷新图表以使变化可见
  ChartRedraw();
}

刷新后, 以下时钟出现在图表上:


指标

所附的跨平台 Clock.mq5 时钟指标能够立即 "开箱即用"。

指标实现皮肤的交互式更改: 使用键盘的向上/向下键切换时钟版本 (解压缩 ZIP 存档)。


功能

  • 光栅 (非矢量) 时钟;
  • 时针非平滑移动;
  • 函数库可在 MetaTrader 4/5 中使用。


时钟如何形成

时钟的原版取自从网页上搜索到的 flash 格式时钟 (swf 文件在 ZIP 中提供) , 这很方便, 因为它们包含所需的钟面, 表针等图形素材。您也可以使用任何其它来源。例如, 您可以找到现成的矢量文件或自行绘制它们。

INI 文件 (参见示例) 设置形成时钟的逐层参数。以下设置可以在任何文本编辑器中编辑

ImageName = ClockFace.bmp
BoundX = 0 // bmp 图像 (图层) 内零点的 X 坐标
BoundY = 0 // bmp 图像 (图层) 内零点的 Y 坐标
X = 0      // 由图层组成的图像内零点的 X 坐标
Y = 0      // 由图层组成的图像内零点的 Y 坐标
Rotate = 0 // 旋转速度
A = 100%   // 使用的 Alpha 通道的值
R = 100%   // 使用的红色通道的值
G = 100%   // 使用的绿色通道的值
B = 100%   // 使用的蓝色通道的值

列表中描述的图层位置越低, 它就会比之前描述的图层更高。层数没有特别的限制。

这种图像构建方法允许使用函数库来形成任何静态/动态对象, 而不仅仅是时钟。为了提供时钟动态, 我们只需要设置旋转。但是, 其它类型的移动 (例如移位, 缩放等) 可以在代码中添加几行。所附的源代码提供了一个在描述图像时如何实现这个方法的示例。

至于时钟, 逐层操作允许我们实现表针和光照的阴影 (如 flash 格式时钟所做的那样)。

如果您打算令拨盘透明, 您应该在相应的 INI 文件中设置 Alpha 通道小于 100%:

拨盘的 Alpha 通道 90% (A = 90)

在发布时, 市场上没有模拟时钟。我在代码库里已发现 这一变体

该函数库的新功能是用于旋转的 LAYER::Rotate。这个函数可能会引发类似于时钟, 但基于动态图形资源创建的第三方解决方案。

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

JS-Chaos JS-Chaos

智能交易系统基于比尔·威廉姆斯的策略。

KI_signals_v2 KI_signals_v2

一款趋势指标, 从 XMACD 直方图接收交易信号。

N 秒 N 点 N 秒 N 点

智能交易系统跟踪所有品种的所有魔幻数字的持仓。如果开仓时间已达 "Waiting for seconds (等待秒数)", 且其获利已达止盈点数, 则 EA 平仓。如果利润未达到止盈点数, 则 EA 移动止盈价位。

Dtm Dtm

一款 DRAW_FILLING 样式的振荡器, 使用数字滤波器。