以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  怎么提示有未来函数?  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=62741)

--  作者:szwangwei88
--  发布时间:2014/3/15 16:07:57
--  怎么提示有未来函数?
fc:=close;
for i=3 to DATACOUNT do
if fc[i]>fc[i-1] then
KD:=1;
开多:BUY(KD AND HOLDING=0,1,THISCLOSE); 

一个简单的交易程序,调试单步运行到   if fc[i]>fc[i-1] then  语句时,出错,提示是二次重复用了未来函数,从提示看,好像是[]用了未来的数据。
运行模式是逐K模式,但勾选了仅刷最后一根k线的,怎么会出这样错误?

--  作者:王锋
--  发布时间:2014/3/15 17:05:55
--  
在逐K线模式下,引用数组,如果当前的BASPOS=1时,你如果使用了 XX[2]这样大于1的数据引用,即使用了未来数据的,你上面的公式其实是序列模式运行的,建议你好好理清思路,多在论坛看看逐K线模式的运行规律
--  作者:沙隆巴斯
--  发布时间:2014/3/18 0:07:34
--  
改成如下公式:
if barpos<=2 then exit;

if close[barpos]>close[barpos-1] then KD:=1;

开多:BUY(KD AND HOLDING=0,1,THISCLOSE);