以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  模型在非交易时段出信号怎么回事呢?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=156561)

--  作者:2017gogogoo
--  发布时间:2017/8/7 10:20:59
--  模型在非交易时段出信号怎么回事呢?

图表程序化,运行在5分钟K线上,下面有交易日志和模型代码,请版主帮忙检查下问题,谢谢!!!

 

//交易日志

 

2017-08-07 08:59:58.405    【图表】CF01 运行完毕
2017-08-07 08:59:58.405    【图表】L01 运行完毕
2017-08-07 08:59:58.405    【图表】I01 运行完毕
2017-08-07 08:59:58.405    【图表】RU01 运行完毕
2017-08-07 08:59:58.420    【图表】CF01 运行完毕
2017-08-07 08:59:58.420    【图表】L01 运行完毕
2017-08-07 08:59:58.420    【图表】I01 运行完毕
2017-08-07 08:59:58.498    【图表】RU01 运行完毕
2017-08-07 08:59:58.498    【图表】CF01 运行完毕
2017-08-07 08:59:58.498    【图表】L01 运行完毕
2017-08-07 08:59:58.498    【图表】I01 运行完毕
2017-08-07 08:59:58.732    2017.08.07 08:59:58【图表】框架:dpz 触发下单 BUY 品种 RU01 下单K线 2017.08.07 09:05:00 公式:均线趋势+原价ATR止损(下单) 窗格ID:0 代码行:31
2017-08-07 08:59:58.732    【图表】模型下单 12
2017-08-07 08:59:58.732    【图表】下单系数调整后 手数:12
2017-08-07 08:59:58.748    【图表】直接下单
2017-08-07 08:59:58.795    【图表】RU01 运行完毕
2017-08-07 08:59:58.795    【图表】CF01 运行完毕
2017-08-07 08:59:58.795    【图表】L01 运行完毕
2017-08-07 08:59:58.795    【图表】I01 运行完毕
2017-08-07 08:59:58.795    【下单】RU01 价15890.000000 量12 买卖0 类型0 开平0 账户618719 Formula 1
2017-08-07 08:59:58.795    【下单】已提交,订单ID :169767861
2017-08-07 08:59:58.810    【指令】收到回报指令 ID = 169767861
2017-08-07 08:59:58.857    【回报】618719 : RU01 - 已报单 12 价格:15890 开 买
2017-08-07 08:59:58.888    【回报】618719 : RU01 橡胶1801 - 已撤单 量:12
2017-08-07 08:59:58.888    【指令】收到回报指令 ID = 169767861
2017-08-07 08:59:59.013    【图表】RU01 运行完毕
2017-08-07 08:59:59.013    【图表】CF01 运行完毕
2017-08-07 08:59:59.013    【图表】L01 运行完毕
2017-08-07 08:59:59.013    【图表】I01 运行完毕
2017-08-07 08:59:59.122    【图表】RU01 运行完毕
2017-08-07 08:59:59.122    【图表】CF01 运行完毕
2017-08-07 08:59:59.122    【图表】L01 运行完毕
2017-08-07 08:59:59.122    【图表】I01 运行完毕
2017-08-07 08:59:59.278    【图表】RU01 运行完毕
2017-08-07 08:59:59.294    【图表】CF01 运行完毕
2017-08-07 08:59:59.310    【图表】L01 运行完毕
2017-08-07 08:59:59.310    【图表】I01 运行完毕
2017-08-07 08:59:59.310    【图表】RU01 运行完毕
2017-08-07 08:59:59.310    【图表】CF01 运行完毕
2017-08-07 08:59:59.310    【图表】L01 运行完毕

 

 

//模型代码

 

VARIABLE:dzsATR=0,kzsATR=0,IsRepeatD=0,IsrepeatK=0;
ma20:ma(c,20);
hh:=HHV(ref(h,1),200);
ll:=llv(ref(l,1),200);
aa:=ref(c,1)<ref(ma20,1);
ATR:= ref(MA(tr,20),1);
kcdw2:=0;
kcdw1:=0; 
////////////////////////////////////平多做多//////////////////////////////////////////
 
    //平多 
   

   //原价止损
 if l<ENTERPRICE and enterbars>4 then BEGIN
   sell(holding>0,entervol,marketr);
   dzsATR:=0;
   IsRepeatD:=0;
 end
 

 //m20止损
 if aa then BEGIN
  sell(holding>0 ,entervol,marketr);
  dzsATR:=0;
  IsRepeatD:=0; 
  end
 
 //开多
 if  ref(IsRepeatD,1)=0 and holding=0 and cross(h,hh) then BEGIN
 buy(1,20%,limitr,hh+mindiff*4);
 dzsATR:=hh-ATR;
 IsRepeatD:=1;
 end


     //ATR止损
 bb:=if(enterbars=0,c,l);
 if bb<dzsATR then BEGIN
  sell(holding>0,ENTERVOL,marketr);
  dzsATR:=0;
  IsRepeatD:=0;
  end 
//////////////////////////////////////////平空做空///////////////////////////////////

 
  //平空
 
  //原价止损
 
 if h>ENTERPRICE and  enterbars>4 then BEGIN
  SELLSHORT(holding<0,ENTERVOL,marketr);
  IsRepeatK:=0;
  kzsATR:=0; 
  end
  
 //M20止损
 if aa=0 then BEGIN
  sellshort(holding<0,entervol,marketr);
  IsRepeatK:=0;
  kzsATR:=0;
  end    
   
 //开空
 if ref(IsRepeatK,1)=0 and holding=0 and cross(ll,l) then BEGIN
   BUYSHORT(1,20%,limitr,ll-mindiff*4);
   kzsATR:=ll+ATR;
   IsRepeatK:=1;
   kcdw2:=1;
 end
 
 
   //ATR止损
 
 cc:=if(kcdw2=1,c,h);
 if cc>kzsATR then BEGIn
  SELLSHORT(holding<0,entervol,marketr);
  IsRepeatK:=0;
  kzsATR:=0; 
  end
//kcdw:kcdw1;
//dzs:dzsatr,COLORGREEN;
//kzs:kzsatr,colorred;
 
 
 
持仓:=holding,linethick0;
资产:asset,noaxis,COLORBROWN;
可用现金:=cash(0),linethick0;


--  作者:wenarm
--  发布时间:2017/8/7 10:31:24
--  
2017-08-07 08:59:58.732    2017.08.07 08:59:58【图表】框架:dpz 触发下单 BUY 品种 RU01 下单K线 2017.08.07 09:05:00 公式:均线趋势+原价ATR止损(下单) 窗格ID:0 代码行:31
这个时间是本地计算机的时间,你本地计算机的时间应该比实际时间慢了,
--  作者:2017gogogoo
--  发布时间:2017/8/7 11:07:37
--  
以下是引用wenarm在2017/8/7 10:31:24的发言:
2017-08-07 08:59:58.732    2017.08.07 08:59:58【图表】框架:dpz 触发下单 BUY 品种 RU01 下单K线 2017.08.07 09:05:00 公式:均线趋势+原价ATR止损(下单) 窗格ID:0 代码行:31
这个时间是本地计算机的时间,你本地计算机的时间应该比实际时间慢了,

您的意思是实盘的话还是按交易时间出信号对吗?

那为什么日志的时间不用行情时间呢?


--  作者:2017gogogoo
--  发布时间:2017/8/7 11:12:25
--  
以下是引用wenarm在2017/8/7 10:31:24的发言:
2017-08-07 08:59:58.732    2017.08.07 08:59:58【图表】框架:dpz 触发下单 BUY 品种 RU01 下单K线 2017.08.07 09:05:00 公式:均线趋势+原价ATR止损(下单) 窗格ID:0 代码行:31
这个时间是本地计算机的时间,你本地计算机的时间应该比实际时间慢了,

请问下单后立即撤单这又是怎么回事呢?

 

2017-08-07 08:59:58.888    【回报】618719 : RU01 橡胶1801 - 已撤单 量:12
2017-08-07 08:59:58.888    【指令】收到回报指令 ID = 169767861


--  作者:2017gogogoo
--  发布时间:2017/8/7 11:15:52
--  
我在追单设置里面设置了 开仓60秒不成交就撤单,跟这个有关系吗?但撤单时间也不对啊
--  作者:yukizzc
--  发布时间:2017/8/7 12:05:11
--  

模拟柜台没开盘导致你报单直接被撤了

交易-下单设置-程式化交易

交易时段勾上,只在交易时段进行程序化


--  作者:wenarm
--  发布时间:2017/8/7 12:07:29
--  

软件中的行情是交易所行情时间。而下单是交易柜台中的时间。

日志中的时间是你本地时间。柜台时间和行情时间也存在一定的误差。所以行情过来时,触发下单,到柜台那里,柜台时间还没到交易时间端,自然会撤单,(模拟柜台情况容易出现。) 

[此贴子已经被作者于2017/8/7 12:12:33编辑过]

--  作者:2017gogogoo
--  发布时间:2017/8/7 13:49:39
--  

明白了,谢谢两位版主

[此贴子已经被作者于2017/8/7 13:49:55编辑过]