龙听期货论坛's Archiver

龙听 发表于 2020-9-27 06:40

【MultiCharts(MC)程序化(量化)网上培训学习系列】第75节:小白专属-有关均线变颜色的一些写法

画两条均线,一个是5周期均线,一个是20周期均线
[attach]24137[/attach]


程式码如下:

[code]
//draw line
Input:len1(5),len2(20);
var:ma1(0),ma2(0);

ma1 = Average(close,len1);
ma2 = Average(close,len2);
[/code](每天上架新策略、跟着视频学编程)[mp4]http://mp4.qhlt.club/Rec%200075.mp4[/mp4]

龙听 发表于 2020-9-27 06:42

当均线差大于100时均线变颜色:
[attach]24138[/attach]


**** Hidden Message *****
程式码解析:
[attach]24212[/attach]

龙听 发表于 2020-9-27 06:43

感受一下两种写法的不同:
[attach]24139[/attach]


[code]
//draw line
Input:len1(5),len2(20);
var:ma1(0),ma2(0);

ma1 = Average(close,len1);
ma2 = Average(close,len2);

plot1(ma1,"ma1",yellow);
plot2(ma2,"ma2",green);

//change line color

if absvalue(ma1-ma2) > 100 then begin
SetPlotColor(1,white);
SetPlotColor(2,red);
end;
[/code]

龙听 发表于 2020-9-27 06:48

第二与第三的区别是第二在用if.....then....语句时条件成立,然后均线变色加;分号后又写的一个均线变色已经不是条件能限制的了。我在后面加的是第二条均线变成红色,结果就是无论均线差有没有大于100,均线2都是红色。这里就说明if......then......只对后面语句中第一个分号前的语句有效。第二个分号的语句就没有用了,这时想批量设置then后面的设置就要用到if......then begin ....... end;这样的语句。在后面的这个begin中可以设置多个参数,变量的计算什么的。只要在最后加上结束符end;即可,记的最后有一个英文的分号结尾的。

龙听 发表于 2020-9-27 06:52

1、效果图;

2、通过期货论坛推荐新开立期货账号享受特惠政策:[url]http://www.qhlt.cn/thread-25049-1-1.html[/url];

3、通过期货论坛开立期货账号并绑定MC享受专属优惠政策:[url]http://www.qhlt.cn/thread-80442-1-1.html[/url];

4、量化相关微信/QQ群申请加入链接:[url]http://www.qhlt.cn/thread-262-1-1.html[/url] ;

5、代写与求助:[url]http://www.qhlt.cn/forum-109-1.html[/url];

6、期货论坛策略源码区:[url]http://www.qhlt.cn/forum-109-1.html[/url] ;

7、视频链接地址:[url]https://www.bilibili.com/video/BV1u54y117JK/[/url]

本来周 发表于 2021-3-8 09:02

谢谢分享

页: [1]