龙听期货论坛's Archiver

龙听 发表于 2017-12-24 16:08

学习写指标(上)[MC公式]

开始前提醒,Multicharts 程序最重要的观念,每根K棒结束都执行程序一次(或是每tick一次)。。
这是专为交易而设计的系统,所有功能的开发皆以K棒为出发点,因此我们要养成习惯,以K棒来思考。我们最自然想得到的资料应该就是,K棒之间有何不同,那就必须比对不同K棒,所以就要取得当根K棒之前的K棒资料。这里又是Multicharts的重点了,但这个重点有点复杂我们要分段说明。
首先要知道 Multicharts 中的资料可以是,K棒的价格、成交量与时间,还有我们自己定义的变数,我们先全部统称为变数,变数会以K棒为单位,每根K棒都纪录一次所有变数的值,这样我们就能取出任何一个变数在任何一根K棒上的值,那程序中就是以中括号[n]来取前第n根K的变数值,
如当根K棒的开高收低分别是open、high、low、close,那前一根开与前二根收就是open[1]、close[2];想看当根K高是否高过前根K,那就是if (high > high[1]) then “do something”;;判断当根K低是否低于前跟K,即为if (low < low[1]) then “do something”;。
现在就来动手写写看,运用这几个重点,我们要写一个指标,用来指出连续过高或连续破低的K棒,那就先以写程序的步骤来规划。
写一个指标分别指出连续四根K过高或连续四根K破低;
判断连续四根K过高那就是当根K高大于前一根K高,且前一根K高大于前二根K高,及前二根K高大于前三根K高,成立时在当跟K高点上五点画一个黄点;同理当出现连续四根K棒破低我们画一个蓝点,请大家自己试试写出连续四根K棒破低的条件;
检查连续四根K棒过高条件,条件成立画出黄点;检查连续四根K棒破低条件,条件成立画出蓝点;
实作小程序:

[code]
检查连续四根K棒过高:if (High > High[1]) and (High[1] > High[2]) and (High[2] > High[3]) then…
检查连续四根K棒破低:if (Low < Low[1]) and (Low[1] < Low[2]) and (Low[2] < Low[3]) then…
画出高点黄点:plot1(High + 5, “High", yellow);
画出低点蓝点:plot2(Low – 5, “Low", blue);
结合并完成:if (High > High[1]) and (High[1] > High[2]) and (High[2] > High[3])then plot1(High + 5, “High", yellow);
if (Low < Low[1]) and (Low[1] < Low[2]) and (Low[2] < Low[3])then plot2(Low – 5, “Low", blue);
[/code]

页: [1]