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


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

   

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


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

主题:tenterprice函数问题

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/9 13:26:56    Post IP:180.169.30.6[显示全部帖子]

你策略中根本没必要用while语句,除了增加复杂度,降低执行效率没有丁点好处。金字塔的策略本身就是会自动循环执行的。你的内循环没有任何意义。常规只要if语句判断就行。

 

not(ABS(b1-b2)>2 ) 当它成立时,你的策略一直在GOTO  CHONG@; 再也不会出来。

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/9 13:33:37    Post IP:180.169.30.6[显示全部帖子]

我的目的是获取最新的开仓价,之前跑的过程中发现开仓价获取时间不固定???什么意思

 

TENTERPRICE函数不就直接取了。没成交时是委托价,成交后是成交价

 

[此贴子已经被作者于2020/3/9 13:34:37编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/9 22:42:27    Post IP:101.88.241.192[显示全部帖子]

这个函数本身没有问题,只有开过仓位,它都是一个有效值。如果你认为不对,你自己debugfile输出查看下。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/10 13:06:25    Post IP:180.169.30.6[显示全部帖子]

劳烦给给出你当时取不到值的测试代码,我们调试看下。你上面的while方式肯定不行,它不符合后台策略的执行机制。直接都卡在了某根k上。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/12 18:17:11    Post IP:101.88.241.192[显示全部帖子]

不建议用循环类函数控制,会影响策略执行效率,策略本身就是个循环体。

而你碰到的时边界情况,直接加条件限制就行。

if TBUYHOLDINGEX('','',1)>0   and tenterprice>0 then begin
   if C>tenterprice+jia*mindiff then
       tbuy(1,1,mkt);
       
   if C<tenterprice-sun*mindiff then
       tsell(1,0,mkt);
       
   if C>tenterprice+ying*mindiff then
       tsell(1,0,mkt);        
end
  


编程无捷径,技巧靠积累。
 回到顶部