智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 203|回复: 0

看不懂的趋势线代码,请赐教 Low[N A]

[复制链接]
发表于 2019-9-14 23:09:37 | 显示全部楼层 |阅读模式
本帖最后由 microzb 于 2019-9-14 23:18 编辑

二、趋势线的数学原理:

如下所示,如何计算趋势线呢?下面进行讨论。计算原理如下:

1、第一步:计算K线数目

首先,计算出该图表(屏幕)上的K线总数,使用窗口函数中“WindowBarsPerChart()”进行计算。即:

K线总数(M):M= WindowBarsPerChart();

2、 第二步:求该K线中的最高价位置与最低价位置

根据K线数目,使用时间序列图表数据函数,求出最高价、最低位位置。即:

最低价位置(A):A= iLowest(NULL,0,MODE_LOW,M,0);

最高价位置(B):B= iHighest(NULL,0,MODE_HIGH,M,0);

3、 第三步:判断趋势是上升或者下降

根据最高价位置与最低价位置进行判断大小,数值大者,距当前K线越远;数值小者,则离当前K线距离越近。

当:A>B时,代表市场处于先低后高走势,属于上升趋势;

当:A<B时,代表市场处于先高后低走势,属于下降趋势。

4、第四步:根据上升或下降趋势计算基线(校正计算)

根据上升与下降趋结构,分别计算出相应的基准线。

A)当市场=上升时,计算波谷(最低价)基线:

低点位置X1:X1=A;低点的低价Y1:Y1=Low[A];

高点位置X2:X2=B;高点的低价Y2:Y2=Low[B];B)当市场=下跌时,计算波峰(最高价)基线:

高点位置X1:X1=B;高点的高价Y1:Y1=High[B];

低点位置X2:X2=A;低点的高价Y2:Y2=High[A];说明:

一般来说,直接用高点的高价与低点的低价进行连线也可,其产生的误差不是很大,也可使用。但根据“道氏理论”关于趋势的定义,以及市场主力的成本线与利润

线而言,成本是控制的基础,而利润则随市而变。因此,成本线更重要于利润线。其中:

上升行情中,波谷值连线是主力的成本线,波峰连线是主力的利润线;在空头行情中,波峰则是空头主力的成本线,而波谷则是空头主力的利润线。

而且,在市场的趋势线理论中,凡上升趋势中下破趋势线,则市场反转;反之亦然。因此,成本线是市场的根本。

为了最大程度精确计算趋势线,因此,需要进行校正处理。并且,这种校正处理并不会给编程带来较大的麻烦,也不会导致计算机内存的占用。因此,这里进行校正处理。如下图所示:

5、第五步:根据基线,计算最高价与最低价区间内的价差,并存入数组P[ ]中。

峰谷区间长度(L):L=MathAbs(B-A); //取绝对值,即相距L根K线

A)当为上升趋势:

直线斜率(R):R=(Low[B]-Low[A])/L; //两点之间的斜率

计算每根K线最低价与趋势基线之移动差值(P[ ]):

差值(P):P[N]= (Low[B]-N*R)- Low[N A]

其中:N=1-L

计算数组内的最大值位置X3:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|sitemap|智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2019-10-19 06:36 , Processed in 0.032240 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表