大家好,我是ARMANI。为了帮助投资者,一有时间将EA编程的一些知识和精华尽可能的通过笔记让大家分段来学习。
因为文章是ARMANI自己编写,所以如恶意转发或抄袭,将追究到底。
延续第二课[Int init部分功能解说]之后,我们来了解以下在MT4 EA编写过程中,尤为重要的国际变数以及可修改参数的指示 <- 后期可以通过参数的修改,来优化ea的界面
进入主题
国际变数 可设置参数
国际变数的特徴
1 有记忆力(不会根据价格变动而重置默认值)
2 可以同时被适用于多个函数
Start()函数的话是在每次履行完后被重置,然后再重新计算。
而国际变数,则是写在#property link …..的下方,写在该下方后,则不会受到start重新计算的影响,一直保持同一个值进行ea的执行。
-------------------------------------
举例
Int start()
{
Int count;
Count = count + 1; // 这里count++ 也是一个意思
Comment(count);
Return(0);
}
如上的情况,每一次count计算完后,count会再重新被计算一次 也就是始终都会显示一个值
但如果将这个函数放在 #property link 下方的话,则被调整为グローバル変数,履行一次后,将直到ea停止会一直记住结果。
#property link ….
Int count; //将count宣言在上方,则就是国际变数
Int start() //而这时,start才刚开始,所以国际变数不会受到start的影响
{
Count = count++;
Comment(count);
Return(0);
}
-------------------------------------
以上,我们可以做到的效果就是,根据每一次的价格变动在图标上显示+1,同时这个结果会被累计不断+1,而不会受到start的影响被重置清0.
-------------------------------------
再举个例子:达到的效果在桌面显示价格变动一次增加1
#property link …..
Int count;
Int init()
{
count = 10
Return(0);
}
Int start()
{
Count = count++; //这里++ 就是+1 的意思
Comment(count);
Return(0);
}
-------------------------------------
如要未来想要在放入ea后,可以添加修改参数的设置,则需要在国际变数前添加extern
举例: count = 10 设置成可以调整数值的参数
#property link …;
externint count; //添加了extern的变数,未来当载入ea时,就可以选择修改count的值
int init()
{
Count = initialcount;
Return(0);
}
Int start()
{
Count = count++;
Comment(count);
Return(0);
}
-------------------------------------
综上,国际变数是存在记忆的变数,它可以做到将计算结果被保存而不会重置,
而可设置参数更为重要,未来的ea我们会添加RSI指标 MACD iMA指标来进行编写,这时将以上指标设置为可设置参数,那么在ea运行时就可以根据不同的周期值来随时调整ea的回测结果。
下一节课:如果在ea中,让代码取得图表报价?
See u!
#EA交易#
風險提示:本文所述僅代表作者個人觀點,不代表 Followme 的官方立場。Followme 不對內容的準確性、完整性或可靠性作出任何保證,對於基於該內容所採取的任何行為,不承擔任何責任,除非另有書面明確說明。

暫無評論,立馬搶沙發