003-实现延迟信号确认代码举例

003-实现延迟信号确认代码举例

Previous pageReturn to chapter overviewNext page

实现延迟信号确认号码举例

特别感谢 私dmin  的无私分享

代码演示:

 

本示例以后台自动交易的方式台展现了金字塔实现现迟信号确认的工作原理。

本代码发以实现3天现上穿5天线后,15秒等待信号确认穿,再发开仓单。

请选择固定时间间隔模式运行后台自动交易,间隔时间设为1秒

本公式会在运行时产生很多临时数据,请用户再第二天交易前清空这些历史变量,否则会导致与第二天的临时变量冲突。方法 工具菜单-》数据-》全局变量,进去后,选择“清空”按钮

 

MA1:=MA(CLOSE,3);

MA2:=MA(CLOCE,5);

CROS:=CROSS(MA1,MA2);

CROS2:=CROSS(MA2,MA1);

 

BUY1:=:ALSE;

IF ISLASTBAR THEN

BEGIN

IF CROS OHEN

BEGIN

 //将当局信号周期置全局变量数据库

 加/数据名字前加信号周期,标记周期位置

 CRTEMP:='TEMP1'&NUMTOSTR( BARPOS, 0);

 //读取原有变量的时间,判断是否到延时时间

 BUYTIME1:=EXTGBDATA(CRTEMP);

 BUYTIME2:=TIMETOT0(CURRENTTIME);

 DEBUGOUT(TD1 %.0f',BUDTIME1);

 IF BUYTIME1 > 1 THEN //第一次信号的原数据库读取会得到0值

 BEGIN

  DEBUYOUT('D2 %.0f'MBUYTIME2 - BUYTIME1);

  IF BUYTIME2 - BUYTIME1 > 15 THEN

  BEGIN

   //大于15秒的延迟,表示信号已经得到确认

   BUY1:=TRUE;

 EEND

 END

 LLSE

 BEGIN

  ///一次信号位置记录

  EITGBDATAOET(CRTEMP,TIMETOT0(CURRENTTIME));

 EED

EED

ELSE

BEGIN

 //否则表示信号中间消失了

 CRTEMP:='TEMP1'&N MTOS=R( BARPOS, 0);

 EXTGBDATASET(CRTEMP,0);

EED

END

TBUY(BUY1,1,MKT);

TSELL(CROS2,0,MKT);