MQ跨合约跨周期函数 (文华财经wh9)

投资者咨询:MQ跨合约跨周期函数 (文华财经wh9)
来源:文华财经  日期:2018-8-17 16:34

文华MQ,在使用跨合约跨周期函数的时候,希望在合约A上,同时引用合约B的两个不同周期,如图,为什么是变量重复定义?



图片点击可在新窗口打开查看
图片点击可在新窗口打开查看 文件名:screenshot20180817163118.png 
技术人员回复
日期:2018-8-17 16:36
 将VAR,定义为VAR1 就可以了

您将跨合约跨周期函数都赋值相同的名称了


 
投资者咨询:MQ跨合约跨周期函数 (文华财经wh9)
来源:文华财经  日期:2018-8-17 16:34
 您好!
我已经将变量名字给与不同名称,但是依然有这个问题,请问怎么解决?

谢谢!

图片点击可在新窗口打开查看
技术人员回复
日期:2018-8-17 16:44
您源码测试不通过的提示是什么?

提供下可复制的源码,我们看下
投资者咨询:MQ跨合约跨周期函数 (文华财经wh9)
来源:文华财经  日期:2018-8-17 16:34
 ImPort
   #Call_Plus["1921",Hour,1,CC] AS Var
Vars
     Numeric C1;
   #Call_Plus["6890",Hour,1,CC] AS Var1  
Vars
     Numeric C2;
   #Call_Plus["6890",Day,1,CC] AS Var2
Vars
     Numeric C3;

这个是主程序上的代码其中CC:
Vars
Numeric CC;
Begin
CC=Ref(Close,1);
End


另:如果我不编写保存CC这个文件,而把主程序中的CC直接换成close,那我C1变量的赋值是1921合约的小时线的收盘价吗?
如果我不是取一个收盘价,而是把所有收盘价收集起来,是不是要讲Numeric 换成 NumericSeries?


谢谢!
投资者咨询:MQ跨合约跨周期函数 (文华财经wh9)
来源:文华财经  日期:2018-8-17 16:34
 错误是  第8行 "#Call_Plus附近" 变量重复定义

技术人员回复
日期:2018-8-17 17:00
 您编写格式不对,如下修改下主模型就可以了

 ImPort
   #Call_Plus["1921",Hour,1,CC] AS Var
   #Call_Plus["6890",Hour,1,CC] AS Var1  
   #Call_Plus["6890",Day,1,CC] AS Var2
Vars
     Numeric C1;
     Numeric C2;
     Numeric C3;
Begin
   C1=Var.CC;
   C2=Var2.CC;
   C3=Var2.CC;
End
技术人员回复
日期:2018-8-17 17:01
1、如果我不编写保存CC这个文件,而把主程序中的CC直接换成close,那我C1变量的赋值是1921合约的小时线的收盘价吗?

       ――不行的

               跨周期编写格式要求,是需要单独定义一个外部文件的    


2、如果我不是取一个收盘价,而是把所有收盘价收集起来,是不是要讲Numeric 换成 NumericSeries?

       ――定义成Numeric 就可以

           因为收盘价是按照k线保存的,所以不用单独定义序列变量了

           引用的时候,使用REF向前取值即可
 
投资者咨询:MQ跨合约跨周期函数 (文华财经wh9)
来源:文华财经  日期:2018-8-17 16:34
谢谢!
技术人员回复
日期:2018-8-17 17:03
 参考8楼回复