金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 10775|回复: 26

怎么提高回测速度

[复制链接]

12

主题

58

帖子

58

积分

等级: 免费版

注册:
2022-9-6
曾用名:
发表于 2022-9-19 13:04 | 显示全部楼层 |阅读模式
请教老师,股市数据中,分笔数据一跳和3秒线,若我只看close,回测结果是否一样?但同样公式,分笔数据回测比三秒线回测慢很多。这是什么原因呢?有什么技巧可以提高回测速度?
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-9-19 13:19 | 显示全部楼层
并不完全一样的。周期的划分不同,结果也会有差异的。回测效率和回测K线数量和策略的复杂有关系了,股票数据一般都是3秒1笔,按理3秒周期的数据量和分笔是差不多的,不应该会有很明显回测速度差异的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

12

主题

58

帖子

58

积分

等级: 免费版

注册:
2022-9-6
曾用名:
 楼主| 发表于 2022-9-19 21:20 | 显示全部楼层
再请教一个问题,在多秒线的图,使用sell(con1 ,50%,MARKET);其实我只是希望当天仅卖出一半,但是它却分几次给我在几根k后每次1/2的比例全部平仓了?怎么解决呢?我当天仅希望卖一次1/2仓位。
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-9-20 08:29 | 显示全部楼层
variable:flag=0;
if todaybar=1 then flag:=1;

if con1 and flag=0 then
begin
sell(con1 ,50%,MARKET);
flag:=1;
end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

12

主题

58

帖子

58

积分

等级: 免费版

注册:
2022-9-6
曾用名:
 楼主| 发表于 2022-9-20 10:30 | 显示全部楼层
十分感谢
回复

使用道具 举报

12

主题

58

帖子

58

积分

等级: 免费版

注册:
2022-9-6
曾用名:
 楼主| 发表于 2022-9-22 13:11 | 显示全部楼层
写了个回测程序,有个信号没有按照我预期的发生,麻烦老师帮忙看看
回复

使用道具 举报

12

主题

58

帖子

58

积分

等级: 免费版

注册:
2022-9-6
曾用名:
 楼主| 发表于 2022-9-22 13:12 | 显示全部楼层

INPUT:T_time(93850,93000,93900,6),Jzf_N(0.04,0.01,0.08,0.01);
variable:flag=0;

win:=(ENTERPRICE()-close)/close;
J0:=CALLSTOCK('',vtopen,6,0);//今天开盘价
D0:=CALLSTOCK('',vtCLOSE,6,-2);//前天日收盘价
D1:=CALLSTOCK('',vtCLOSE,6,-1);//昨日收盘价
H1:=CALLSTOCK('',vthigh,6,-1);//昨日最高价
ZT:=rounds(D1*1.098,2);
ZT2:=rounds(D0*1.08,2);//昨天涨幅8%
JKZF:=(J0-D1)/D1;//开盘涨幅
qtZT:D0<CALLSTOCK('',vthigh,6,-2);//
red:((D1-CALLSTOCK('',vtopen,6,-1))/CALLSTOCK('',vtopen,6,-1))>-0.03;


MA250:=MA(D1,250)*0.96;
captial:=IF(D1>MA250,100000,5000);

lots:=100*INTPART((captial)/(close*100));
con:close>=ZT  and TIME()<T_time and time>93001 and HOLDING=0  and flag<1 and JKZF<0.04 and qtZT  and red and D1<H1 and close>MA250;


        if con then begin
                buy(con, lots, market);
                D_date:date;
        end;

con2:HOLDING>0 and TIME()>145600 and D_date<>date and close<rounds(D1*1.098,2);
con3: HOLDING>0 and D_date<>date and close>=rounds(D1*1.098,2);
con4:D1<ZT2  and HOLDING>0 and D_date<>date and TIME()>=93001 ;
  
if con2  then begin
    sell(con2 ,100%,MARKET);
    flag:=2;
  end;


if con3  then begin
    sell(con3 ,100%,MARKET);
    flag:=2;
      end;
   
   if con4  then begin
    sell(con4 ,100%,MARKET);
    flag:=2;
    end;
回复

使用道具 举报

12

主题

58

帖子

58

积分

等级: 免费版

注册:
2022-9-6
曾用名:
 楼主| 发表于 2022-9-22 13:14 | 显示全部楼层
3秒线周期,买入条件中close>MA250, 在2022年2月8日,金岭矿业当天并不符合,但是却买入了,是哪个地方出问题呢?
回复

使用道具 举报

12

主题

58

帖子

58

积分

等级: 免费版

注册:
2022-9-6
曾用名:
 楼主| 发表于 2022-9-22 13:19 | 显示全部楼层
我是新手,后面三个卖出条件这个写,合理么?  若有不妥的地方帮忙修改一下。老师若有空,可否帮忙加一个买入条件,就是在3秒线周期上,若N分钟内股价上升M%,条件即成立。
回复

使用道具 举报

12

主题

58

帖子

58

积分

等级: 免费版

注册:
2022-9-6
曾用名:
 楼主| 发表于 2022-9-22 13:21 | 显示全部楼层
截图202209221320496713.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-9-3 15:37 , Processed in 0.122175 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表