这里总结一下MC跨周期的使用方法及要点
现主要有两种方式可以实现跨周期,一是通过将大周期的开、高、低、收或均线或其它什么通过赋予全局变量然后在小周期上面调用;二是一张图表插入两个品种,用data1 、data2的形式在主图即data1的技术图表上面做data2的开、高、低、收或画线。都是可以的。下面分别说一下怎么做,以及效果图。 第一种形式,全局变量形式做为一个中介把大周期的数据传到小周期上面。[attach]7678[/attach]
下面以一个图例来说明:这张图上面我切了三个子图,上面是主程序图,就是挂量化的图,下左是与主程序一致的一个图,加上指标。,可以随时看到信号是不是正确,因为在实盘图上是没有历史信号的。所以为了方便观察执行情况,在左下就放了一个同样策略的用来检查信号是否一致的图。下右是长周期的图。
我要把下右图2小时周期均线的金死叉画到下左主上方一分钟主图中去。对主图做一个信号过滤,即2小时周期均线多头排列就只多不空,空头排列就只空不多。
首先我要做一个指标叫keyset . 把下右的均线数据存储到全局变量中;
[code]
inputs:
price(Close),sline(5),lline(10);
variables:
ma1(0),ma2(0),signal(0),value1(0);
ma1 = AverageFC(price,sline);
ma2 = AverageFC(price,lline);
value1=GVSetNamedInt("key",ma1-ma2);
plot1(ma1-ma2,"ma1-ma2",yellow);
plot2(0,"0",red);
[/code]
然后做一下读取全局变量的指标,把全局变量读出来放到一分钟主图中。指标叫keyget
[code]
vars:var2(0);
var2 = GVGetNamedInt("key",value1);
Plot1(var2,"key",yellow);
plot2(0,"0",red);
[/code]
好了,到这里就可以用var2来引用这个多头排列与空头排列了,只要var2 > 0 就是多头排列 var2 < 0 就是空头排列。把这个放到大家的策略里面就形成了一个多空均线排列的过滤系统了。 第二种方式:通过一个图中插入两个合约,可以是同一个合约不同周期也可以是不同合约不同周期,都可以。
因为这个在家里的电脑上面,晚上把这个做上去。 [b]回复 [url=http://www.qhlt.cn/redirect.php?goto=findpost&pid=46814&ptid=36758]3#[/url] [i]龙听[/i] [/b][code]
inputs:
shortline(5),longline(10);
vars:
ma1(5),ma2(10),price(0);
price = Close of data1 - close of data2;
ma1 = AverageFC(price,shortline);
ma2 = AverageFC(price,longline);
plot1(price,"spread",yellow);
plot2(ma1,"ma1",green);
plot3(ma2,"ma2",red);
[/code] {:48:}
页:
[1]