欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 怎么提示有未来函数?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2433人关注过本帖树形打印复制链接

主题:怎么提示有未来函数?

帅哥哟,离线,有人找我吗?
szwangwei88
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/6/19 15:11:59
怎么提示有未来函数?  发帖心情 Post By: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线的,怎么会出这样错误?

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/3/15 17:05:55 [只看该作者]

在逐K线模式下,引用数组,如果当前的BASPOS=1时,你如果使用了 XX[2]这样大于1的数据引用,即使用了未来数据的,你上面的公式其实是序列模式运行的,建议你好好理清思路,多在论坛看看逐K线模式的运行规律


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
沙隆巴斯
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2013/6/22 18:16:46
  发帖心情 Post By: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);

 回到顶部