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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]

   

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


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

主题:[求助]

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


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2011/4/7 17:23:25    Post IP:58.246.57.26[显示全部帖子]

 BUY((TIME>=091000 AND TIME<092000 AND REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1)OR 
(CLOSE>=LLV(L,TYPEBAR(1,3){这里你没有按照TYPEBAR的语法规则书写参数,语法中写参数用括号括起来,你却用逗号分隔})+X){这一句是判断语句,返回     值是0或者1,你后面加一个X是什么意义,所以应该吧X移动到括号里面,如果不明白运算符的优先级,请百度“运算符优先级”六个字} AND
REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1{")"这里多了一个右括号},1,MARKET), ORDERQUEUE;
SELL((CLOSE<=HHV(H,TYPEBAR(1,1))-X){这里的2个错误和上面一样} AND
REF("VOL#MIN60",1)/REF("VOL#MIN60",2)<=M2{")"这里多了一个右括号},1,MARKET), ORDERQUEUE;
BUYSHORT((TIME>=091000 AND TIME<092000 AND REF("VOL#MIN60",1)/REF("VOL#MIN60",2)<=M2 OR

 CLOSE<=HHV(H,TYPEBAR(1,1))-X{")"这里多了一个右括号} AND REF("VOL#MIN60",1)/REF("VOL#MIN60",2)<=M2){")"这里多了一个右括号},1,MARKET), ORDERQUEUE;
SELLSHORT((CLOSE>=LLV(L,TYPEBAR(1,3))+X){这里的2个错误和上面一样}  AND REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1{")"这里多了一个右括号},1,MARKET), ORDERQUEUE;



金字塔—专业程序化交易量化投资平台

客户服务部

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

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2011/4/7 17:32:10    Post IP:58.246.57.26[显示全部帖子]

楼主你真的最基础的语法还没学会,好好的再看看基础教程吧!

在交易函数里这么复杂的条件,不如写成中间变量,然后再在交易里调用,这样就不容易写错了,这些方法在我们的基础教程里都有的!

 

比如:BUY((TIME>=091000 AND TIME<092000 AND REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1)OR 
(CLOSE>=LLV(L,TYPEBAR(1,3))+X) AND
REF("VOL#MIN60",1)/REF("VOL#MIN60",2)>=M1,1,MARKET), ORDERQUEUE;

 

这一句条件比较复杂,你可以改成:

 

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;

 

这样是不是一目了然了!

 



金字塔—专业程序化交易量化投资平台

客户服务部

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

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
董小球
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2011/4/8 9:17:33    Post IP:58.246.57.26[显示全部帖子]

方法给你了,希望你可以举一反三!

不管怎么变换原理是一样的!



金字塔—专业程序化交易量化投资平台

客户服务部

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

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部