教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

MT4精讲:MT4编程入门全集1-11(4)

来源:网络收集 时间:2026-08-26
导读: 2、移动平均值。双精度double型 iMA(symbol, timeframe, period, ma_shift, ma_method, applied_price, shift) 参数共7个,分别为:商品名称、K线周期、均线周期、均线偏移、平均模式、价格种类、位置 均线周期:10

2、移动平均值。双精度double型 iMA(symbol, timeframe, period, ma_shift, ma_method, applied_price, shift) 参数共7个,分别为:商品名称、K线周期、均线周期、均线偏移、平均模式、价格种类、位置

均线周期:10天平均线的均线周期为10,20天均线的均线周期为20 均线偏移:均线位置整体左右移动的位置偏移量

平均模式:简单移动平均(MODE_SMA)、指数移动平均(MODE_EMA)、平滑移动平均

线(MODE_SMMA)、线性加权移动平均线(MODE_LWMA)

价格种类:收盘价(PRICE_CLOSE)、开盘价(PRICE_OPEN)、最高价(PRICE_HIGH)、最低价(PRICE_LOW)、中值(PRICE_MEDIAN)、5(PRICE_TYPICAL)、6(PRICE_WEIGHTED)

例1:iMA(\

表示:欧元1小时图上,以收盘价计算的,20小时简单移动平均线,最新K线所对应位置的值

例2:iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,2)

表示:在当前商品、当前K线周期图表上,以收盘价计算的,20(天)指数移动平均线 第3根K线所对应位置的值

其他如MACD指标、威廉指标、RSI、SAR、布林线等指标取值都与移动平均线指标相类似

3、在数组中求元素的移动平均值。双精度double型

iMAOnArray(数组名, 总数, 平均周期, 均线偏移, 平均模式, 位置) 这也与iMA函数差不多,不过数据源变为数组

从数组中不但可以求得移动平均值,还可以求得RSI等指标值

4、求自定义指标的值

我们经常自己编一些自定义指标,可用iCustom函数来取得自定义函数的值 iCustom(商品名,K线周期,自定义指标名称,自定义指标参数1,参数2,参数3,,,自定义指标线编号,位置)

如果自定义指标只有一根指标线,则自定义指标线的编号为0。 如果自定义指标有多根指标线,则第一条自定义指标线的编号为0,第二条为1,第三条为2。。。

例如:iCustom(NULL,0,\为自定义指标mymacd的三个参数

表示:求当前图表中,自定义指标mymacd(12,26,9)的第3条指标线在最新位置的值

抛砖引玉,这里只是有代表性地列了几个函数,详细请查阅《MT4编程手册》

MT4编程入门7:判断语句

一、if语句

if语句很常用,也比较简单。

规则:如果小括号中的条件成立,则执行大括号中的语句;如果不成立,则跳过大括号。 例如: if(a==1) {

b=c+1; }

我们在编写报警指标的时候,就经常用到这一语句: 如果“价格向上达到指定价位”,则“报警” 如果“MACD上穿”,则“报警”

如果“均线金叉”,则“报警”。等等 例:

int mark=0;

if( High[1]<1.0000 && High[0]>=1.0000 && mark!=1) {

Alert(symbol(),\价格向上触及1.0000\ mark=1; }

if( Low[1]>1.0000 && Low[0]<=1.0000 && mark!=2) {

Alert(symbol(),\价格向下触及1.0000\ mark=2; }

这是一个价格上、下穿1.0000时报警的判断语句:

上穿报警条件:当第二根K线最高价小于1.0000,并且最新K线最高价大等于1.0000

下穿报警条件:当第二根K线最低价大于1.0000,并且最新K线最低价小等于1.0000

这里,mark是用作报警标记,mark的初值是0,

当上穿报警后,mark的值就改为1;当下穿报警后,mark的值就改为2;

当mark=0时,说明从未报过警,上、下穿都能报警;

当mark=1时,说明已经上穿报过警了,不能再上穿报警了,但仍可下穿报警; 当mark=2时,说明已经下穿报过警了,不能再下穿报警了,但仍可上穿报警。

二、if ... else语句

规则:如果小括号中的条件成立,则执行if下大括号中的语句1;如果不成立,则执行else下大括号中的语句2。 if(条件) {

语句1; } else {

语句2; }

三、注意事项

1、只有语句后面才用到语句结束符“;” 条件、大、小括号后面都不用“;” 2、语句用大括号括起来,但如果只有一行语句,则大括号可以省略

if(条件) 语句1;

MT4编程入门8:循环

一幅K线图有几千上万条K线,每根K线又各有开收盘价、最高低价等数值,而且还有很多移动平均线、MACD、RSI等指标值。

面对海量数据,我们必须用循环来实现数据的取值和赋值。

一、while循环 while(条件) {

语句1 语句2 。。。 }

规则:当小括号中的条件成立时,就执行大括号中的语句,执行完了再判断条件是否成立,如果条件成立就继续执行大括号中的语句。

只要条件成立,程序就不停地运行大括号中的语句(循环体),直到小括号中的条件不再成立时结束循环。

它与if语句的区别是:if语句是当条件为真时运行一次;而while语句则是只要条件为真,循环体语句就不停地运行,直到条件为假时结束循环。 例:

…… 此处隐藏:338字,全部文档内容请下载后查看。喜欢就下载吧 ……
MT4精讲:MT4编程入门全集1-11(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/591730.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)