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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 信号出现怎么延时确定?

   

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


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

主题:信号出现怎么延时确定?

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


加好友 发短信
等级:论坛游侠 帖子:353 积分:0 威望:0 精华:1 注册:2016/4/5 10:22:04
信号出现怎么延时确定?  发帖心情 Post By:2017/5/11 15:04:03    Post IP:183.49.253.89[只看该作者]

后台程序化,固定每1秒轮循模式:
怎么实现盘中信号出现后开始计时,持续10秒再开仓,如果中途信号有消失再出现将重新计时。。
请教该怎么表达,越简单越好?

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


加好友 发短信
等级:论坛游侠 帖子:353 积分:0 威望:0 精华:1 注册:2016/4/5 10:22:04
  发帖心情 Post By:2017/5/11 15:38:31    Post IP:183.49.253.89[只看该作者]

比方我用1分钟周期,价格>100就出信号,然后引用1秒钟行情,连续5秒>100再确认信号,这种做法可行否?

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/5/11 15:44:35    Post IP:180.169.30.6[只看该作者]



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


加好友 发短信
等级:论坛游侠 帖子:353 积分:0 威望:0 精华:1 注册:2016/4/5 10:22:04
  发帖心情 Post By:2017/5/11 15:54:33    Post IP:183.49.253.89[只看该作者]

双向都开的话是不是这样编写:
MA1:MA(CLOSE,3);
MA2:MA(CLOSE,5);
CROS:=CROSS(MA1,MA2);
CROS2:=CROSS(MA2,MA1);
BUY1:=FALSE;
IF ISLASTBAR THEN
BEGIN
 IF CROS THEN
 BEGIN
  //将当前信号周期置全局变量数据库
  //数据名字前加信号周期,标记周期位置
  CRTEMP:='TEMP1'&NUMTOSTR( BARPOS, 0);
    //读取原有变量的时间,判断是否到延时时间
  BUYTIME1:=EXTGBDATA(CRTEMP);
  BUYTIME2:=TIMETOT0(CURRENTTIME);
  DEBUGOUT('D1 %.0f',BUYTIME1);
  IF BUYTIME1 > 1 THEN //第一次信号的原数据库读取会得到0值
  BEGIN
   DEBUGOUT('D2 %.0f',BUYTIME2 - BUYTIME1);
   IF BUYTIME2 - BUYTIME1 > 15 THEN
   BEGIN
    //大于15秒的延迟,表示信号已经得到确认
    BUY1:=TRUE;
   END
  END
  ELSE
  BEGIN
   //第一次信号位置记录
   EXTGBDATASET(CRTEMP,TIMETOT0(CURRENTTIME));
  END
 END
 ELSE
 BEGIN
  //否则表示信号中间消失了
  CRTEMP:='TEMP1'&NUMTOSTR( BARPOS, 0);
  EXTGBDATASET(CRTEMP,0);
 END
END
TBUY(BUY1,1,lmt,c);
TSELL(CROS2,0,lmt,c);
TBUYSHORT1:=FALSE;
IF ISLASTBAR THEN
BEGIN
 IF CROS2 THEN
 BEGIN
  //将当前信号周期置全局变量数据库
  //数据名字前加信号周期,标记周期位置
  2CRTEMP:='TEMP1'&NUMTOSTR( BARPOS, 0);
    //读取原有变量的时间,判断是否到延时时间
  2BUYTIME1:=EXTGBDATA(2CRTEMP);
  2BUYTIME2:=TIMETOT0(CURRENTTIME);
  DEBUGOUT('D1 %.0f',2BUYTIME1);
  IF 2BUYTIME1 > 1 THEN //第一次信号的原数据库读取会得到0值
  BEGIN
   DEBUGOUT('D2 %.0f',2BUYTIME2 - 2BUYTIME1);
   IF 2BUYTIME2 - 2BUYTIME1 > 15 THEN
   BEGIN
    //大于15秒的延迟,表示信号已经得到确认
    TBUYSHORT1:=TRUE;
   END
  END
  ELSE
  BEGIN
   //第一次信号位置记录
   EXTGBDATASET(2CRTEMP,TIMETOT0(CURRENTTIME));
  END
 END
 ELSE
 BEGIN
  //否则表示信号中间消失了
  2CRTEMP:='TEMP1'&NUMTOSTR( BARPOS, 0);
  EXTGBDATASET(2CRTEMP,0);
 END
END
TBUYSHORT( TBUYSHORT1,1,lmt,c);
TSELLSHORT(CROS,0,lmt,c)

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


加好友 发短信
等级:论坛游侠 帖子:353 积分:0 威望:0 精华:1 注册:2016/4/5 10:22:04
  发帖心情 Post By:2017/5/11 16:04:11    Post IP:183.49.253.89[只看该作者]

17.05.11 16:03:24 HSI05
2D1 0
17.05.11 16:03:24 HSI05
运行结束
17.05.11 16:03:24 HSI05
2D1 0
17.05.11 16:03:24 HSI05
运行结束
17.05.11 16:03:24 HSI05
2D1 0
17.05.11 16:03:24 HSI05
运行结束
17.05.11 16:03:24 HSI05
2D1 0
17.05.11 16:03:24 HSI05
运行结束

经过观察:空信号出现后,2D1 会有跳出来,但始终显示0,请问这是正常的吗?

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


加好友 发短信
等级:论坛游侠 帖子:353 积分:0 威望:0 精华:1 注册:2016/4/5 10:22:04
  发帖心情 Post By:2017/5/11 16:31:56    Post IP:183.49.253.89[只看该作者]

??没人解答吗?

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/5/11 16:52:13    Post IP:180.169.30.6[只看该作者]

EXTGBDATASET仅在最后一根K线起作用,无法做迭代运算

 



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