MT4精讲:MT4编程入门全集1-11(5)
extern int 快线=12; extern int 慢线=26; double buffer[]; int i=0;
while(i<1000) {
buffer= iMA(NULL,0,快线,0,MODE_EMA,PRICE_CLOSE,i) -iMA(NULL,0,慢线,0,MODE_EMA,PRICE_CLOSE,i); i++; }
这里,循环执行条件是i<1000,循环体中有两个语句,一句是把两条均线的差值赋给数组buffer,另一句“i++;”是每运行一次,i的值在原有基础上增加1。这样,随着循环的不断运行,i的值逐渐增加,循环1000次后,i的值也就从0变为1000,此时“i<1000”就不再成立,循环结束。这样,数组buffer[]中也就有了1000个值。
二、for循环
for循环与while循环在原理上是一致的,只是书写格式上有所区别
把上面的例子改成for语句:
extern int 快线=12; extern int 慢线=26; double buffer[];
for(int i=0; i<1000; i++) {
buffer= iMA(NULL,0,快线,0,MODE_EMA,PRICE_CLOSE,i) -iMA(NULL,0,慢线,0,MODE_EMA,PRICE_CLOSE,i); }
与前面相比,我们注意到:
“int i=0;”语句从“while(i<1000)”上方移到循环条件“i<1000”的前面; “i++;”语句从循环体中移到了循环条件“i<1000”的后面;
循环执行顺序与while循环一致:
第一步、先执行小括号中的第1句:int i=0;
(此语句用来定义初始变量,在循环中仅执行一次,可以为没有任何表达式的空操作符“;”)
第二步、再判断小括号中的第2句是否成立:i<1000;
如果不成立,则循环结束;如果成立,则循环继续运行,执行第三步
第三步、按顺序执行大括号中的语句
第四步、执行小括号中的第1句:i++ (此语句即:每执行一次,i的值增加1) 然后回到第二步继续执行循环。
再补充一点:如果循环体中(大括号中)只有一行语句,大括号可以省略
MT4编程入门9:MT4自定义指标的结构
MT4自定义指标一般由四个部分构成:
(1)文件头部
(2)参数、变量和数组的定义 (3)初始化函数init() (4)主函数start()
一、文件头部,也称为预处理程序
预处理程序以“#”开头,行尾无语句结束符“;” 常用的预处理程序有:
1、#property indicator_chart_window
把指标显示在主图。如:均线、SRA等类指标用到此语句
2、#property indicator_separate_window
把指标显示在副图。如:MACD、RSI、威廉等类指标用到此语句
3、#property indicator_buffers 3 显示3根指标线
4、#property indicator_color1 Red 第1根指标线的颜色为Red
5、#property indicator_width1 1 第1根指标线的粗细分别为1
6、#property indicator_level1 0.00 在0.00值位置横划1条虚线
二、参数、变量和数组的定义
全局性的参数、变量、数组在此定义,局部变量可在start()函数中定义
三、初始化函数init()
init()在自定义指标加载时运行一次。
初始化函数的功能是“设置”。如果自定义指标需要划线,则必然用到此函数
四、主函数start()
当数据有变动时,start()就被触发。数据变动一次,start()就运行一次。 自定义指标的编程主要依靠此函数进行。
start()函数的作用主要是取值和给指标线赋值,报警也在此函数内发起。
另外,还有一个反初始化函数deinit()
deinit()在自定义卸载时运行一次,可用以去除指标加载时init()所做的初始化操作。
MT4编程入门10:画一条指标线
要画指标线,只要在程序中写明以下几点就可以了: 第一、明确指标线所在窗口,是主图还是副图
第二、要建立数组,用以保存指标线在各个位置的值。
第三、要建立指标线与数组的对应关系,哪个数组对应哪条指标线 第四、要明确指标线的线型,是曲线还是柱线或者是箭头 第五、如果指标线是箭头,还要说明是哪种箭头 第六、给数组赋值 其中:
第一、二条写在文件头部中,
第三、四、五条写在init()函数中(init函数仅在指标加载时运行一次) 第六条写在start()函数中(start函数在数据发动变动时运行,变动一次运行一次)
下面以MACD为例说明
我们知道,MACD指标由二条曲线和一组红绿柱线组成。(下图一) 其中:
白线是二根均线的差; 紫线是白线的移动平均线;
红绿柱线则是白线和紫线的差,白线上穿紫线,出现红柱,下穿则出现绿柱。
我们从简单入手,先去除紫线和红绿柱线,仅保留其中的那根白线,来看白线是怎样画出来的。
下面是全部语句:
#property indicator_separate_window
…… 此处隐藏:120字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




