以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  跨品种引用该品种均价  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=160241)

--  作者:Josefry
--  发布时间:2017/12/7 17:50:05
--  跨品种引用该品种均价
我想通过黄金现货的一些指标去指导期货的操作,我现在想调用黄金现货的均价,公式写在下面了,用这个公式测试了黄金现货、黄金期货连续和美黄金期货,都是没有交易的,求大神指导一下看哪里出了问题吧

V1:=CALLSTOCK(\'XHAU\',VTVOL,6-1);

V2:=CALLSTOCK(\'XHAU\',VTVOL,6-2);

V3:=CALLSTOCK(\'XHAU\',VTVOL,6-3);

V4:=CALLSTOCK(\'XHAU\',VTVOL,6-4);

V5:=CALLSTOCK(\'XHAU\',VTVOL,6-5);

V6:=CALLSTOCK(\'XHAU\',VTVOL,6-6);

V7:=CALLSTOCK(\'XHAU\',VTVOL,6-7);

V8:=CALLSTOCK(\'XHAU\',VTVOL,6-8);

V9:=CALLSTOCK(\'XHAU\',VTVOL,6-9);

V10:=CALLSTOCK(\'XHAU\',VTVOL,6-10);

 

A1:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-1);

A2:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-2);

A3:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-3);

A4:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-4);

A5:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-5);

A6:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-6);

A7:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-7);

A8:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-8);

A9:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-9);

A10:=CALLSTOCK(\'XHAU\',VTAMOUNT,6-10);

 

MA5:=A1+A2+A3+A4+A5/(V1+V2+V3+V4+V5);

MA7:=(A1+A2+A3+A4+A5+A6+A7)/(V1+V2+V3+V4+V5+V6+V7);

MIN5:=CALLSTOCK(\'XHAU\',VTCLOSE,2,-1);


KD:=MA5>MA7 and MIN5>BOLLUP;          //开多条件

PD:=MIN5<BOLLDOWN;          //平多条件

KK:=MA5<MA7 AND MIN5<BOLLDOWN;          //开空条件

PK:=MIN5>BOLLUP;          //平空条件



--  作者:FireScript
--  发布时间:2017/12/8 10:29:38
--  

1.你测试下。输出下那些引用的值是否正常。 只需要把A10:=  改成a10: 这种方式即可。

2.如果1测试没有值,说明被引用的数据没有。 这样的话需要你把被引用的品种数据补充下。


--  作者:Josefry
--  发布时间:2017/12/11 13:35:35
--  
我用debugfile函数写了个东西输出一下成交量和成交额情况,发现黄金现货这个品种好像在咱们这个系统里面没有数据,要不就是数据有问题,用成交额除以成交量的结果是0.97左右,实际上价格应该1200到1300,所以选择了近5个交易日的平均价作为均价,输出了一下感觉误差还在可以接受的范围内,代码如下:
V0:=CALLSTOCK(\'XHAU\',VTCLOSE,6,0);
V1:=CALLSTOCK(\'XHAU\',VTCLOSE,6,-1);
V2:=CALLSTOCK(\'XHAU\',VTCLOSE,6,-2);
V3:=CALLSTOCK(\'XHAU\',VTCLOSE,6,-3);
V4:=CALLSTOCK(\'XHAU\',VTCLOSE,6,-4);
AV5:=(V0+V1+V2+V3+V4)/5;
debugfile2(\'d:\\tesT.txt\',numtostr(month(),0)+\'-\'+numtostr(day(),0)+\'      \'+numtostr(AV5,2),1234,0)
打算用这个"AV5"作为均价了,如果哪位有更好的办法还请再说一下,我这个实在是没有办法的办法了图片点击可在新窗口打开查看(debugfile2这个函数里面的1234到现在也没明白是啥意思,求哪位大神给解释下)

--  作者:FireScript
--  发布时间:2017/12/11 16:42:21
--  

1234是你要输出的那个数值的值, 你也可以写出成其他数值数据都可以。函数说明里面的例子就用到了这种方式,这个数值会替代 前面字符串参数里面的“%2.f” 作为最终输出结果输出出来。

 

引用数据的时候 你要自己去补充足够数据才行的。