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


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

   

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


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

主题:tenterprice函数问题

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


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
tenterprice函数问题  发帖心情 Post By:2020/3/9 13:09:00    Post IP:180.169.30.6[只看该作者]

请帮忙 看一下,下面的代码会进入无限循环吗?当开了第二单以后再也获取不得B2了,B1也是第一单的开仓价。

CHONG@;    
if TBUYHOLDINGEX('','',1)>0 and TBUYHOLDINGEX('','',1)>ss then begin
b1:=tenterprice;
while b1=0 do
    b1:=tenterprice; 
if b1>0 then
     
while not(ABS(b1-b2)>2 ) do begin
b1:=tenterprice;
if b1=b2 then
   GOTO CHONG;
    end
   
if b1>b2 then begin
   b2:=b1;     
   ss:=ss+1;
   end
  
end    
    DEBUGFILE('D:\35.TXT',' b1:=%.2f',b1);
   DEBUGFILE('D:\35.TXT',' b2:=%.2f',b2);
   DEBUGFILE('D:\35.TXT',' f:=%.2f',f);
   DEBUGFILE('D:\35.TXT',' ss:=%.2f',ss);    


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/3/9 13:26:52    Post IP:180.169.30.6[只看该作者]

 会的。

while not(ABS(b1-b2)>2 ) do
begin
b1:=tenterprice;
if b1=b2 then
GOTO CHONG;
end

会一直跳转的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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@; 再也不会出来。

 



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


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/3/9 13:29:52    Post IP:144.123.5.122[只看该作者]

我的目的是获取最新的开仓价,之前跑的过程中发现开仓价获取时间不固定,所以想这么写,就是如果没获取到最新的开仓价我就不执行下边的代码。
如果需要达到这个目的怎么写


 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]


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


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/3/9 21:32:45    Post IP:144.123.5.122[只看该作者]

意思是获取不到TENTERPRICE,就比如上面的代码,如果能获取到TENTERPRCIE就不会无限循环了不是

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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输出查看下。



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


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/3/10 8:32:30    Post IP:144.123.5.122[只看该作者]

我就是DEBUGFILE才发现这个问题的,所以才这么搞的,不然也不会这么写,直接TENTERPRICE。还可能会和什么有关,模拟服务器不支持?

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/3/10 9:21:54    Post IP:180.169.30.6[只看该作者]

 你用TENTERPRICE时候遇到什么问题了?没取到值吗?你这里的方式是不可取的,建议回到你最初的问题上来讨论。

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

这个函数取值和这里的记录直接关联。此外就是成交和未成交取值时候会有差异。未成交就是委托价,成交就是成交价。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
marks
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/3/10 12:16:53    Post IP:144.123.5.122[只看该作者]

就是TENTERPRICE取 不到值

 回到顶部
总数 21 1 2 3 下一页