以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助] (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=6054) |
-- 作者:xxn139 -- 发布时间:2011/4/7 14:52:59 -- [求助] 请版主修正下面编译的错误,目前不知路径是否对,且系统没通过.方案如下: 缺省设置: X缺省=350;最小=0.00001;最大=1000; M1缺省=1.5;最小=0.01;最大=100;M2缺省=0.5;最小=0.01;最大=100; 开多条件:时间在9时10分至9时20分之间并且5分钟分析周期REF(VOL,1)/REF(VOL,2)>=M1或者CLOSE>=开空以来的最低价+X并且5分钟分析周期REF(VOL,1)/REF(VOL,2)>=M1; 平多条件:CLOSE<=开多以来的最高价-X并且5分钟分析周期REF(VOL,1)/REF(VOL,2)<=M2; 开空条件:时间在9时10分至9时20分之间并且5分钟分析周期REF(VOL,1)/REF(VOL,2)<=M2或者CLOSE<=开多以来的最高价-X并且5分钟分析周期REF(VOL,1)/REF(VOL,2)<=M2; 平空条件:CLOSE>=开空以来的最低价+X并且5分钟分析周期REF(VOL,1)/REF(VOL,2)>=M1; 编译如下: BUY((TIME>=091000 AND TIME<092000 AND REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1)OR
|
-- 作者:王锋 -- 发布时间:2011/4/7 14:55:59 -- 楼主是否可以下次发帖时附带标题名字? |
-- 作者:xxn139 -- 发布时间:2011/4/7 15:01:40 -- 哦哦,下次注意 |
-- 作者:董小球 -- 发布时间:2011/4/7 17:23:25 -- BUY((TIME>=091000 AND TIME<092000 AND REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1)OR CLOSE<=HHV(H,TYPEBAR(1,1))-X{")"这里多了一个右括号} AND REF("VOL#MIN60",1)/REF("VOL#MIN60",2)<=M2){")"这里多了一个右括号},1,MARKET), ORDERQUEUE; |
-- 作者:董小球 -- 发布时间:2011/4/7 17:32:10 -- 楼主你真的最基础的语法还没学会,好好的再看看基础教程吧! 在交易函数里这么复杂的条件,不如写成中间变量,然后再在交易里调用,这样就不容易写错了,这些方法在我们的基础教程里都有的!
比如:BUY((TIME>=091000 AND TIME<092000 AND REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1)OR
这一句条件比较复杂,你可以改成:
AA:=TIME>=091000 AND TIME<092000; BB:=REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1; CC:=CLOSE>=LLV(L,TYPEBAR(1,3))+X; DD:=REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1; COND1:=AA AND BB; COND2:=CC AND DD; BUY(COND1 OR COND2,1,MARKET), ORDERQUEUE;
这样是不是一目了然了!
|
-- 作者:xxn139 -- 发布时间:2011/4/7 17:56:29 -- 先谢谢,我具体感受一下. |
-- 作者:xxn139 -- 发布时间:2011/4/7 18:39:44 -- BB:=REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1; DD:=REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1;这两句应该归为同类,而不应该分成两类吧 |
-- 作者:董小球 -- 发布时间:2011/4/8 9:17:33 -- 方法给你了,希望你可以举一反三! 不管怎么变换原理是一样的! |