下载MetaTrader 5

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

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

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

2016.03.29 13:04
指标

Normalizer - MetaTrader 4脚本

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

显示:
664
等级:
投票: 9

在考虑更加有效使用震荡指标的日子里, 我经常需要规范化它们的数字, 也就是, 我常常要把这些指标震荡的范围变成 [-1;1]. 经常有新的方法, 最简单的是把这些数值分成固定的水平(0.5, 0.8或者其他), 而不是根据市场的其他数值. 当然, 如果指标已经规范化好了, 就没有必要考虑这个产品, 如果不是, 就可以使用它, 代码有些粗糙请不要介意.

参数:

string Indicator - 指标名称, 可用于传给iCustom()函数. 不幸的是, MQL4 的自动化工具对于新加的标准指标并不适用. 另外一方面, 我们可以防止好奇的开发者修改程序接口?
int mode - 初始指标线的数量...
int param1
int param2 - ... 以及它的参数. 又很不幸, MQL开发者的想象力使得他们写出不定数量变量的函数(类似Print), 以及还要支持地址算术, 为了支持这些(以我的观点, 最后这种只是让用户觉得是在看天书) :)))). 让我们开始工作.

注释:

计算分为两步:

1. 在初始化阶段 (init() 函数, 加入有些人不知道的话:) 整个指标数据的数组在这个阶段都重新计算, 例如, 其中指标的均方值的均方值可以提供洞察时期(MSV)是在整个历史中.

让我解释一下. 加入我们有一个震荡指标, 我们已经计算了它的几个震荡周期内的均方值. 让我们统一意见, 设它为3个周期 (像我定义的 - #define PERIODS_CHARACTERISTIC 3, 我推荐不要用更多, 否则处理器会过载). 计算的本质就是决定在一个平均长周期内有多少个柱 (也就是 2*平均指标0点间隔), 然后用这个值乘以3.

2. 剩下的就是在三个时间段计算每个柱的MSV (像计算平方根), 然后以它们为基础规范化我们的指标值t, 最后把它们传到压缩函数 f(x)=tanh(x) (双曲正切函数, 我必须自己写:))把它们的值转为[-1;1]之间.

纯技术实例. 图片中的绿色线是我原来一个很老的震荡指标, 用来给市场行为分类(某些方面与MACD一样, 但是是根据交易量的).. 蓝色线 - 也是震荡指标, 但是已经经过了 -=Normalizator=- 的计算. +-0.75, +-0.5, +-0.25 水平显而易见, 您也可以看到所有的最大值和最小值, 增长和下降的范围, 以及穿过0水平时它们的位置.

就这样, 是你的了... 有人不喜欢它可不是我的错.

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

默里数学(Murrey Math)线 (支撑与阻力) 默里数学(Murrey Math)线 (支撑与阻力)

默里数学线 (MM Lines) 画的是支撑与阻力水平.

LotsRisk LotsRisk

根据可能的亏损计算手数. 最大亏损值是使用初始存款百分比的形式设置的.

NormalizePrice NormalizePrice

本函数通过舍入的方法把指定交易品种的价格修改为正确的格式.

可视可听的交易者动态指数 可视可听的交易者动态指数

当"SoundOn"输入变量设为true时, 当有强烈买入或强烈卖出信号出现时加上声音提醒.