两个交易时间不同的品种,怎样在【指标】上舍弃/屏蔽非共同交易时段的数据?

 

我有一个套利策略,就是将相关的品种,求一个比值,依据比值的移动均线,如果偏离到一定程度,就进行套利操作。

目前遇到难题,就是两个品种中有一个是A股股指ETF,那么程序只能以A股开市时间来计算数据以便套利操作(我用数据接口软件把A股数据实时接在MT4里了,以便自编指标进行分析观测)

而另一个品种是外盘股指,我只需要计算它与A股同期的,也就是9:30-11:30、1:00-3:00的K线数据的移动平均线,按现在这样不加区分的移动平均线完全扰乱了我的意图


望大家点拨思路,不胜感谢


图释:比值、比值均值,比值/均值的溢价率。 在共同交易时段,两者的走势趋同,溢价率不离谱。下图中偏离很大的是非A股交易时段,需要去除



 

A与B互相都有不包含对方时间的部分,把这部分剔除。

1.从A中剔除不包含B的时段的数据,剩下数据叫A1,把A1做成离线图表

2.从B中剔除不包含A的时段的数据,剩下的数据叫B1,把B1做成离线图表




 
Ziheng Zhuang:

A与B互相都有不包含对方时间的部分,把这部分剔除。

1.从A中剔除不包含B的时段的数据,剩下数据叫A1,把A1做成离线图表

2.从B中剔除不包含A的时段的数据,剩下的数据叫B1,把B1做成离线图表




我知道原理是这样的,具体用什么来做呢? 可能我还没搞明白柱线的生成机理, 柱线的数据是自动产生的,怎么在EA中剔除?谢谢明示
 

你都把A股品种显示成K线图表了,怎么会不知道K线图的怎么生成的?

每个品种每个周期都有一个数据文件*.hst,就是对应的K图表。

现在的问题是把数据A1形成hst文件,就能以离线图表的形式打开这个所谓A1的离线K线图了。

第一步:要构造出A1的数据,把A的开盘时间拷贝到数组 openTimeA[]中,把B的开盘时间拷贝到数组openTimeB[]中,这一步用到函数CopyTime()

第二步:把 openTimeA[]中的每个元素,检查在openTimeB[]中是否存在,把存在的元素放入到数组 openTimeAoff[]中。

第三步:依据openTimeAoff[] 把A图表的对应的K线数据拷贝到数组MqlRates  rates_array[] 中。

第四步:把 rates_array[] 写入到hst文件,就可以打开这个离线图表了,然后就可以在这个离线图表上运行你的指标了。


具体思路就是这样的,对初学者来说,还是有一定难度的。

原因: