Note

ARMANI-MT4EA自动交易制作 第三课 国际变数 可修改参数

· Views 650

大家好,我是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交易#

Disclaimer: The content above represents only the views of the author or guest. It does not represent any views or positions of FOLLOWME and does not mean that FOLLOWME agrees with its statement or description, nor does it constitute any investment advice. For all actions taken by visitors based on information provided by the FOLLOWME community, the community does not assume any form of liability unless otherwise expressly promised in writing.

FOLLOWME Trading Community Website: https://www.followme.com

If you like, reward to support.
avatar

Hot

No comment on record. Start new comment.