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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教下单语句的次序

   

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


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

主题:请教下单语句的次序

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


加好友 发短信
等级:论坛游侠 帖子:126 积分:154 威望:0 精华:0 注册:2012/2/27 9:06:15
请教下单语句的次序  发帖心情 Post By:2012/8/8 10:40:52    Post IP:121.8.210.14[只看该作者]

老师您好!

发现开单命令的次序对测试结果有直接影响,例如:

AA:="macd.macd"(26,12,9);
BBB:= AA > 0 and AA > ref(AA,1) ;
SSS:= AA < 0 and AA < ref(AA,1) ;
多止赢: = HOLDING > 0  AND H > ENTERPRICE + 5;     //5个点固定止盈
空止赢: = HOLDING < 0  AND L < ENTERPRICE - 5;      //5个点固定止盈

 

if holding<0 and BBB then sellshort(1,0,thisclose),ORDERQUEUE;                        // (1)
if holding=0 and BBB then buy(1,1,thisclose),ORDERQUEUE;                               // (2)

if holding>0 and SSS then sell(1,0,thisclose),ORDERQUEUE;                               // (3)
if holding=0 and SSS then buyshort(1,1,thisclose),ORDERQUEUE;                       // (4)

空赢:SELLSHORT(空止赢 ,0,LIMITR,TRIMPRICE(ENTERPRICE-5)),ORDERQUEUE;  // (5)

多赢:SELL(多止赢,0,LIMITR,TRIMPRICE(ENTERPRICE+5)),ORDERQUEUE;             // (6)

 

如果将上述语句的次序改成:

(5)、(6)、(1)、(2)、(3)、(4),

发现两种测试结果很不一致,百思不得其解。

 

问题是:

止盈(平仓)语句(5)(6)应该放在什么位置才是对的。比如说“多赢”是应该放在开出多单之后,还是之前。

另外,语句“多止赢”中:   H > ENTERPRICE + 5   使用了“H”是否合适?模拟或实盘中是否换为thiscolse ?

 

百忙之中希望得到您的解答。谢谢!

 

 


 


 


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/8/8 13:14:23    Post IP:58.246.57.26[只看该作者]

你把开多平空写一起,把开空平多写一起比如

 

if  aaa then begin

sellshort;

buy;

end

 

if bbb then begin

sell;

buyshort;

end

 



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

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

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

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


加好友 发短信
等级:论坛游侠 帖子:126 积分:154 威望:0 精华:0 注册:2012/2/27 9:06:15
  发帖心情 Post By:2012/8/8 14:03:19    Post IP:121.8.210.14[只看该作者]

谢谢您的回答。

你说的平空,开多,平多,开空的次序吧。这和上面的(1)(2)(3)(4)是一致的。

我想知道的是下面的两句该放在哪里才合适:

空赢:SELLSHORT(空止赢 ,0,LIMITR,TRIMPRICE(ENTERPRICE-5)),ORDERQUEUE; 

多赢:SELL(多止赢,0,LIMITR,TRIMPRICE(ENTERPRICE+5)),ORDERQUEUE; 

     

这两句并不能插进你上面的IF块里面,因为条件完全不一样。而且位置不同结果影响很大。

 


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/8/8 14:17:23    Post IP:58.246.57.26[只看该作者]

完全可以写一起啦

if sss then begin

sell(holding>0,);

buyshort(holding=0,);

end

 

if bbb then begin

sellshort(holding<0,);

buy(holding=0,);

end



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

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

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

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


加好友 发短信
等级:论坛游侠 帖子:126 积分:154 威望:0 精华:0 注册:2012/2/27 9:06:15
  发帖心情 Post By:2012/8/8 15:20:15    Post IP:121.8.210.14[只看该作者]

谢谢您。您说的我了解啦。

呵呵。我说的是止盈(止损)语句啊。


 回到顶部