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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 程序编写循环逻辑问题求解

   

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


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

主题:程序编写循环逻辑问题求解

帅哥哟,离线,有人找我吗?
系统使用者
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
程序编写循环逻辑问题求解  发帖心情 Post By:2014/5/8 11:30:21    Post IP:182.149.139.184[显示全部帖子]

IF TBUYHOLDING(1)>0 THEN BEGIN 
 //多头平仓 
  IF TBUYHOLDING(1)>0 and (h-ee)>3 and (h-ee)<50 THEN
  TSELL(1,10,lmt,ee+3,0),ORDERQUEUE;
  TSELL(1,10,lmt,TEXITPRICE+3,0),ORDERQUEUE;
  IF TBUYHOLDING(1)>0 and (ee-l)>1 and (ee-l)<50 THEN 
  TSELL(1,10,lmt,ee-1,0),ORDERQUEUE;
  TSELL(1,10,lmt,TEXITPRICE-3,0),ORDERQUEUE;  
 //多头撤单    
  tm:=50;//撤单时间50秒 
  if tisremain(2)>0 and tsubmit(2)>tm then begin
   tcancel(1,2);
  end
  TSELL(1,10,mkt);    

(h-ee)>3 and (h-ee)<50条件内,系统是否自动按  TSELL(1,10,lmt,ee+3,0),ORDERQUEUE;
  TSELL(1,10,lmt,TEXITPRICE+3,0),ORDERQUEUE;循环开仓?

就是后面出现连续的TSELL(1,10,lmt,TEXITPRICE+3,0),ORDERQUEUE;按上次平仓价+3开仓循环向上;
出现这样:
TSELL(1,10,lmt,TEXITPRICE+3,0),ORDERQUEUE;
TSELL(1,10,lmt,TEXITPRICE+3,0),ORDERQUEUE;
TSELL(1,10,lmt,TEXITPRICE+3,0),ORDERQUEUE;
----------------------------------------到(h-ee)<50停止。



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


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
  发帖心情 Post By:2014/5/8 15:07:22    Post IP:182.149.139.184[显示全部帖子]

没有begin end

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


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
  发帖心情 Post By:2014/5/8 15:07:59    Post IP:182.149.139.184[显示全部帖子]

没有不行?

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


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
  发帖心情 Post By:2014/5/8 15:13:59    Post IP:182.149.139.184[显示全部帖子]

ee:=tenterprice;
IF TBUYHOLDING(1)>0 THEN BEGIN 
 //多头平仓 
  IF TBUYHOLDING(1)>0 and (h-ee)>3 and (h-ee)<50 THEN
  TSELL(1,10,lmt,ee+3,0),ORDERQUEUE;
  TSELL(1,10,lmt,TEXITPRICE+3,0),ORDERQUEUE;
  IF TBUYHOLDING(1)>0 and (ee-l)>1 and (ee-l)<50 THEN 
  TSELL(1,10,lmt,ee-1,0),ORDERQUEUE;
  TSELL(1,10,lmt,TEXITPRICE-3,0),ORDERQUEUE;  
 //多头撤单    
  tm:=50;//撤单时间50秒 
  if tisremain(2)>0 and tsubmit(2)>tm then begin
   tcancel(1,2);
  end
  TSELL(1,10,mkt);    
 //多头收盘平仓
  if CURRENTTIME>=145800 and currenttime<=145900 then 
  TSELL(1,0,mkt);
END

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


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
  发帖心情 Post By:2014/5/8 15:14:31    Post IP:182.149.139.184[显示全部帖子]

在这里

 回到顶部
帅哥哟,离线,有人找我吗?
系统使用者
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
  发帖心情 Post By:2014/5/8 23:12:54    Post IP:125.69.98.12[显示全部帖子]

哦,谢

 回到顶部
帅哥哟,离线,有人找我吗?
系统使用者
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
  发帖心情 Post By:2014/5/8 23:20:28    Post IP:125.69.98.12[显示全部帖子]

但是当条件and (h-ee)>3 and (h-ee)<50 不满足后,但是持仓依然>0时,会不停的执行下面的动作
TSELL(1,10,lmt,TEXITPRICE+3,0),ORDERQUEUE;
要停止这不停的动作,应该终止? 使用跳转语句?
请帮忙写一个终止语句

 回到顶部
帅哥哟,离线,有人找我吗?
系统使用者
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
  发帖心情 Post By:2014/5/8 23:25:09    Post IP:125.69.98.12[显示全部帖子]

break;可以?

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


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
  发帖心情 Post By:2014/5/9 10:27:46    Post IP:118.113.179.70[显示全部帖子]

我试了不行,具体该如何?

 回到顶部
帅哥哟,离线,有人找我吗?
系统使用者
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:808 积分:667 威望:0 精华:0 注册:2011/4/9 16:17:57
这样可以???  发帖心情 Post By:2014/5/9 12:31:41    Post IP:118.113.179.70[显示全部帖子]

ee:=TAVGENTERPRICE;
IF TBUYHOLDING(1)>0 THEN BEGIN 
 //多头平仓 
  IF TBUYHOLDING(1)>0 and (h-ee)>3 and (h-ee)<50 THEN
   if (h-ee)>3 and (h-ee)<5 THEN TSELL(1,10,lmt,ee+3,0),ORDERQUEUE;
   if (h-ee)>6 and (h-ee)<50 THEN TSELL(1,10,lmt,TEXITPRICE+3,0),ORDERQUEUE;
   else
   begin
  IF TBUYHOLDING(1)>0 and (ee-l)>1 and (ee-l)<50 THEN 
   if (ee-l)>1 and (ee-l)<3 THEN TSELL(1,10,lmt,ee-1,0),ORDERQUEUE;
   if (ee-l)>3 and (ee-l)<50 THEN TSELL(1,10,lmt,TEXITPRICE-3,0),ORDERQUEUE;
   else
    exit ;
  end 
  

 回到顶部
总数 12 1 2 下一页