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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 换了新电脑就只有从6月28日到今天的交易回测了。

   

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


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

主题:换了新电脑就只有从6月28日到今天的交易回测了。

帅哥哟,离线,有人找我吗?
大梅沙量化
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:21 积分:0 威望:0 精华:0 注册:2018/6/22 14:16:14
  发帖心情 Post By:2018/7/9 14:05:44 [只看该作者]

实际上现在还是不对,我的开仓条件都有信号的,我给你看一下

 

IH1:=CALLSTOCK('SH000016',VTCLOSE,1,0);//"SH000016$CLOSE";//
IH2:=CALLSTOCK('SH000016',VTCLOSE,6,-1);//昨收
IH3:=IH1-IH2;//涨跌
DIFF1:=ROUNDS(IH3/IH2*100,2);

IC1:= CALLSTOCK('SZ399905',VTCLOSE,1,0);//"SZ399905$CLOSE";//
IC2:=CALLSTOCK('SZ399905',VTCLOSE,6,-1);//昨收
IC3:=IC1-IC2;//涨跌
DIFF2:=ROUNDS(IC3/IC2*100,2);//涨跌幅

DIFF:DIFF1-DIFF2,LINETHICK0;//指数差

 

 

P:VALUEWHEN((DIFF>=0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=0),date);

 

这个返回的是1180709,是今天没错,如果我后面在SELL平多的命令下,要表述是今天开仓,是要写P=date吗?


 回到顶部
帅哥哟,离线,有人找我吗?
大梅沙量化
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:21 积分:0 威望:0 精华:0 注册:2018/6/22 14:16:14
  发帖心情 Post By:2018/7/9 14:09:58 [只看该作者]

IC00连续合约,dayholding这个函数是否适用于股指期货的交易和回测?

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/7/9 14:13:46 [只看该作者]

 P:VALUEWHEN((DIFF>=0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=0),date);

这句,如果你是用 “(DIFF>=0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=0)”作为开仓条件的话。

这里应该:
A:(DIFF>=0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=0);

if a then buy(1,1,market);
.....

P:VALUEWHEN(A,date);

if P<>date and holding>0 then sell(1,holding,market);

看上去逻辑是一样,其实有点差异。
这是我做的一个范例。
M: c>o and holding=0;
if  M then
begin
buy(1,1,market);
end

a:VALUEWHEN(M,date);
if count(c<o,2)=2 and date<>a  then sell(holding>0,holding,market);







命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
大梅沙量化
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:21 积分:0 威望:0 精华:0 注册:2018/6/22 14:16:14
  发帖心情 Post By:2018/7/10 9:35:39 [只看该作者]


IH1:=CALLSTOCK('SH000016',VTCLOSE,1,0);//"SH000016$CLOSE";//
IH2:=CALLSTOCK('SH000016',VTCLOSE,6,-1);//昨收
IH3:=IH1-IH2;//涨跌
DIFF1:=ROUNDS(IH3/IH2*100,2);

IC1:= CALLSTOCK('SZ399905',VTCLOSE,1,0);//"SZ399905$CLOSE";//
IC2:=CALLSTOCK('SZ399905',VTCLOSE,6,-1);//昨收
IC3:=IC1-IC2;//涨跌
DIFF2:=ROUNDS(IC3/IC2*100,2);//涨跌幅

DIFF:DIFF1-DIFF2,LINETHICK0;//指数差

T:=2;X:=3;Y:=2;M1:=0.5;N1:=-0.5;M2:=0.5;N2:=-0.5;//开盘分钟,IH手数,IC手数
CLOSEPOSMODE:1;
//平仓条件.............................................................................
PD1:=HHV(DIFF,MIN(TODAYBAR,ENTERBARS))-DIFF;
//PD3:=HHV(DIFF,ENTERBARS)-DIFF>=3;//正向非开仓当日平仓
PK1:=LLV(DIFF,MIN(TODAYBAR,ENTERBARS))-DIFF;
//PK3:=LLV(DIFF,ENTERBARS)-DIFF<=-3;//反向非开仓当日平仓
PC3:=HOLDING-DAYHOLDING;

IH4:=REF(IH1,ENTERBARS);
IH5:ROUNDS((IH1-IH4)/IH4*100,2),LINETHICK0;
IC4:=REF(IC1,ENTERBARS);
IC5:ROUNDS((IC1-IC4)/IC4*100,2),LINETHICK0;
PC1:=IH5-IC5;//正向非开仓当日平仓
PC2:=IH5-IC5;//反向非开仓当日平仓

//P:VALUEWHEN((DIFF>=0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=0),date);
//执行..........................................................................................................
IF STRCMP(STKLABEL,'IH00') = 0  THEN BEGIN     //判定合约
   BUY(DIFF>=0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=0,X,MARKETR);   //IH开多
   BUY(DIFF>=0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=1 AND TYPE(1)=4,X,MARKETR);//日内反向开多
   SELL(PD1>=0.5 AND OPENMINUTES(TIME)>T AND PC3=0 AND DIFF<=0.5,0,MARKETR);                           //IH平多
   SELL(DIFF<=-0.5 AND OPENMINUTES(TIME)>T,0,MARKETR);
   SELL(PC1<=-1.5 AND OPENMINUTES(TIME)>T,0,MARKETR);
   BUYSHORT(DIFF<=-0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=0,X,MARKETR); //IH开空
   BUYSHORT(DIFF<=-0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=1 AND TYPE(1)=2,X,MARKETR);
   SELLSHORT(PK1<=-0.5 AND OPENMINUTES(TIME)>T AND PC3=0 AND DIFF>=-0.5,0,MARKETR);
   SELLSHORT(DIFF>=0.5 AND OPENMINUTES(TIME)>T,0,MARKETR);
   SELLSHORT(PC2>=1.5 AND OPENMINUTES(TIME)>T,0,MARKETR);
END;

 

 

这样的初步代码,一直有问题,请帮我看一下是怎么回事好吗?开平仓条件是不是逻辑有问题?谢谢


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


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2018/3/15 17:13:57
  发帖心情 Post By:2018/7/11 9:17:56 [只看该作者]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看求版主来翻牌

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/7/11 9:32:40 [只看该作者]

 “这样的初步代码,一直有问题,请帮我看一下是怎么回事好吗?开平仓条件是不是逻辑有问题?谢谢

具体问题才能具体解决。你自己要能明确到什么问题我们才能解决,否则我们也无处下手。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
alan2109
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2018/3/15 17:13:57
  发帖心情 Post By:2018/7/11 10:00:14 [只看该作者]


是这样,这个我要求满足PD1大于等于0.5,DIFF小于等于0.5的条件的时候,当日开的仓当日平仓,过了当日都就不按此条件平仓,按我另外写的其他条件平仓,所以如何识别当日,


//IH平多
SELL(PD1>=0.5 AND OPENMINUTES(TIME)>T AND ”识别当日开仓” AND DIFF<=0.5,0,MARKETR);          

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2018/7/11 10:28:08 [只看该作者]

可以通过 DAYHOLDING 来判断

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


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2018/3/15 17:13:57
  发帖心情 Post By:2018/7/11 11:47:41 [只看该作者]

请问用DAYHOLDING>0可以吗?我做的是股指期货,多空仓都有的,

//IH平多
SELL(PD1>=0.5 AND OPENMINUTES(TIME)>T AND DAYHOLDING>0 AND DIFF<=0.5,0,MARKETR);  

这样是对的吗?

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


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2018/3/15 17:13:57
  发帖心情 Post By:2018/7/11 11:54:25 [只看该作者]

IF STRCMP(STKLABEL,'IH00') = 0  THEN BEGIN     //判定合约
BUY(DIFF>=0.5 AND HOLDING=0 AND OPENMINUTES(TIME)>T AND TOTALDAYTRADE=0,X,MARKETR);   //IH开多
这样的判定了合约之后,
TOTALDAYTRADE和HOLDING,DAYHOLDING这些,是按照IH00单独来判定,还是把我所有的仓位和多个品种都汇总起来一起判定?

谢谢

 回到顶部
总数 33 上一页 1 2 3 4 下一页