Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
a383623133 发表于:2017/5/11 15:04:03
后台程序化,固定每1秒轮循模式:
怎么实现盘中信号出现后开始计时,持续10秒再开仓,如果中途信号有消失再出现将重新计时。。
请教该怎么表达,越简单越好?
2楼
a383623133 发表于:2017/5/11 15:38:31
比方我用1分钟周期,价格>100就出信号,然后引用1秒钟行情,连续5秒>100再确认信号,这种做法可行否?
3楼
wenarm 发表于:2017/5/11 15:44:35

http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=2183

6楼

4楼
a383623133 发表于:2017/5/11 15:54:33
双向都开的话是不是这样编写:
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)
5楼
a383623133 发表于:2017/5/11 16:04:11
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,请问这是正常的吗?
6楼
a383623133 发表于:2017/5/11 16:31:56
??没人解答吗?
7楼
wenarm 发表于:2017/5/11 16:52:13
EXTGBDATASET仅在最后一根K线起作用,无法做迭代运算

 

共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.06250 s, 3 queries.