下载MetaTrader 5

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

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

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

2014.01.07 08:10
程序库

GetFontName - MetaTrader 5程序库

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

显示:
300
等级:
投票: 16
\MQL5\Include\\MQL5\Indicators\

当在指标中使用文本图形,它经常需要实现在指标输入参数中改变字体类型。

在这种情况下,最明显的解决方案是手工输入字体的名称作为输入参数的值,但它不是很方便并容易出错。更有效的方法是使用基于 枚举 的自定义变量和下拉菜单列表。此处呈现的功能模块,设计用来解决此任务。

这个例子足够与代码库工作。假设我们有指标 (ChartInfo_Old.mq5),在图表中的一个角落显示一个文本标签。此处是输入参数:

//+----------------------------------------------+
//| Indicator input parameters                   |
//+----------------------------------------------+
input string Text="Real";                           // 文本标签内容
input color  TextColor=Red;                        // 文本标签颜色
input int    FontSize=24;                          // 字体大小
input type_font FontType=Font7;                   // 字体类型
input ENUM_BASE_CORNER  WhatCorner=CORNER_LEFT_LOWER; // 表角位置
input uint Y_=1;                                  // 垂直位置

有了这样的代码,指标输入参数窗口将具有以下模样:

ChartInfo_Old 1.00

为了让用户可以自由输入字体名,需要替换一些代码:

1. 在声明指标输入参数之前,使用 #include 指令,加入 GetFontName.mqh 文件内容:

//+----------------------------------------------+
// type_font enumeration description             |
// CFontName class description                   | 
//+----------------------------------------------+ 
#include <GetFontName.mqh>

2. 替换 FontType 那行的输入参数:

input string FontType="Courier New"; // 字体类型

为以下行

input type_font FontType=Font7; // 字体类型

因此,我们已经改变了一点变量用法的含义。以前的变量意义,必须以全局声明的新字符串变量实现

string sFontType;

FontType 变量在指标代码中必须用 sFontType 替代。它必须只能在一处完成:

   SetTLabel(0,"Info_Label",0,WhatCorner,ENUM_ANCHOR_POINT(2*WhatCorner),5,Y_,Text,TextColor,sFontType,FontSize);

现在, sFontType 变量必须在 OnInit() 模块中初始化。它可以仅用两行代码完成:

   CFontName FONT; 
   sFontType=FONT.GetFontName(FontType);

修订的 ChartInfo.mq5 指标可以随后进行编译。

现在可以看到指标输入参数窗口的变化:

ChartInfo 1.00

在指标输入参数中选择字体的工作变得更加方便。

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

FisherTransform_HTF_Signal FisherTransform_HTF_Signal

FisherTransform_HTF_Signal 显示彩色图形对象来代表趋势方向,并在趋势改变时发送报警和声音信号。

费舍尔变换 费舍尔变换

费舍尔指标计算之前历史的最小和最大价格级别, 判断趋势方向和预测它的反转。

PositionInfo PositionInfo

简单指标在图表窗口显示有关仓位的一些相关信息。

CandleTrend CandleTrend

此 CandleTrend 指标显示来自六个不同时间帧的价格走势方向。