以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  barslast函数有问题!!  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=50637)

--  作者:wahoo
--  发布时间:2013/4/3 18:32:35
--  barslast函数有问题!!

语句中有使用backset函数

 

然后用了两次barslast

 QK:BARSLAST(cond),NODRAW;
 Q2K:BARSLAST(cond)+1,NOAXIS,NODRAW;

 

就这么两个值,算出来的结果竟然是一样的,还让人怎么用这函数啊!!!


--  作者:王锋
--  发布时间:2013/4/4 9:42:36
--  
完整的公式贴一下
--  作者:wahoo
--  发布时间:2013/4/4 15:08:35
--  
VARIABLE: WX=0,KH=0,KL=0,BH=0,2BH=0; BH:=(H>=KH AND L<=KL) OR (H<=KH AND L>=KL); QK:BARSLAST(BH=0),NODRAW; QH:=REF(KH,QK),NODRAW; QL:=REF(KL,QK),NODRAW; Q2K:BARSLAST(BH=0)+REF(QK,QK+1)+1,NODRAW; Q2H:=REF(KH,Q2K),NODRAW; Q2L:=REF(KL,Q2K),NODRAW; IF BH THEN BEGIN IF QH>Q2H AND QL>Q2L THEN BEGIN KH:=MAX(H,KH); KL:=MAX(L,KL); END; ELSE IF QH=QH AND KL<=QL) OR (KH<=QH AND KL>=QL); BH:=CROSS(BACKSET(2BH,QK+1),0.5)+BH; 为什么没法给你发消息啊~~看完能帮我删掉此楼吗?谢谢
[此贴子已经被作者于2013-4-4 15:10:13编辑过]

--  作者:王锋
--  发布时间:2013/4/5 9:47:25
--  

你的公式根本没有贴全,不知道你是否是在逐K线模式还是序列模式下运行的?

如果逐K线模式,那么使用backset未来函数会带来问题,这个公式系统已经不止一次的提醒过你吧。


--  作者:wahoo
--  发布时间:2013/4/5 17:07:00
--  
逐k;贴全了。 看下首楼说的那两个函数,部分k线两者数值一样。 请问有什么函数可以替代barslast向前赋值的?
[此贴子已经被作者于2013-4-5 17:08:51编辑过]

--  作者:王锋
--  发布时间:2013/4/5 22:49:35
--  

建议你用IE浏览器重新贴代码过来,

另外,最好将你的代码含义及你的需求一起说一下。


--  作者:wahoo
--  发布时间:2013/4/9 18:51:12
--  

图片点击可在新窗口打开查看太无语啦,backset这个函数根本没法用啊

顺带连refx这个函数都会出错了,为啥啊……
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130409184437.png
图片点击可在新窗口打开查看


--  作者:独孤求败
--  发布时间:2013/4/9 18:55:26
--  
这两个函数是未来函数,你用在逐k线模式不出问题才怪,你干嘛不再序列模式下用
--  作者:wahoo
--  发布时间:2013/4/9 18:59:52
--  

序列模式很多功能实现不了吧,我需要逐根k线比对啊~

那有什么可以代替backset使用的函数吗?


--  作者:独孤求败
--  发布时间:2013/4/9 19:03:22
--  
要看你的公式引用到何种类型的未来数据了,如果只是行情数据可以用close[]这类的数组方式来代替的,如果不是这类简单的行情数据,那么就要劝你改想法了