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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 根据股票某指标排序选股问题

   

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


  共有3658人关注过本帖平板打印复制链接

主题:根据股票某指标排序选股问题

帅哥哟,离线,有人找我吗?
2879993977
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2016/8/31 10:54:28
根据股票某指标排序选股问题  发帖心情 Post By:2017/1/3 15:31:03    Post IP:113.116.21.142[只看该作者]

麻烦各位老师帮我看下我的想写的根据股票的SmartQ(计算公式在第二个函数里)的大小,对深圳A股进行排序,选择最SmartQ最大的前20只股票进行买入的程序,

为什么图表回测始终没有成交的数据

 

 

 

//第一个函数DAYCOUNT,周期:日线,交易时间坐标

//DAYCOUNT记录当前为第几个交易日,每10个交易日重新循环一次
VARIABLE:DAYCOUNT=0;
DAYCOUNT:=DAYCOUNT+1;
IF DAYCOUNT>9 THEN BEGIN
   DAYCOUNT:=0;
END
NOWDAY: DAYCOUNT;

 

//第二个函数SmartMoney,周期:1分钟线,交易时间坐标


St: =ABS((CLOSE-OPEN)/OPEN)/SQRT(VOL)*100000;   //计算St因子

I: TODAYBAR;
VARIABLE:STI[240]=0;         //STI数组用来储存每一周期的St因子,下同
VARIABLE:VI[240]=0;
VARIABLE:CI[240]=0;
VARIABLE:VWAPsmart=0;        //初始化聪明钱成交量加权平均价VWAPsmart
VARIABLE:VWAPall=0;          //初始化所有交易成交量加权平均价VWAPall
VARIABLE:SUMQ=0;            
STI[I]:=St;                  //记录当前K线的St
VI[I]:=VOL;                  //记录当前K线的成交量
CI[I]:=CLOSE;                //记录当前K线的收盘价
DAYCOUNT: STKINDI('','DAYROUNCOUNT.NOWDAY',2,6,0);         //DAYCOUNT标记当前为第几个交易日,每10个交易日循环一次

IF I=240 THEN BEGIN
   FOR J=1 TO I DO
   BEGIN
   COUN[J]: =HOD2(STI,240,STI[J]);   //计算第J根K线的St在当前日的St中的排序,赋予COUN[J]
  
   IF COUN[J]<0.2*I THEN BEGIN
      VWAPsmart:= VWAPsmart+CI[J]*VI[J];    //计算St最大的前20%根K线的成交量加权平均价
      A: VWAPsmart;
   END
   VWAPall :=VWAPall+CI[J]*VI[J];    //计算所有SK线的成交量加权平均价
   B: VWAPall;
   END
   Q: VWAPsmart/VWAPall;             //当日的Q因子
  
   VWAPsmart:=0;                     //每日末重新清0
   VWAPall:=0;                       //每日末重新清0
  
   IF DAYCOUNT > 0 THEN BEGIN
     SUMQ:=SUMQ+Q;                   //前九个交易日的Q逐日累加,记为SUMQ
   END
   IF DAYCOUNT=0 THEN
   BEGIN
    SmartQ:SUMQ+Q;
    SUMQ:=0;                         //第十个交易日SUMQ重新清0
   END
END

 

//第三个函数TEST,做回测的函数。周期:1分钟线,交易时间坐标

I: TODAYBAR;
DAYCOUNT: STKINDI('','DAYROUNCOUNT.NOWDAY',0,6,0);


IF I=240 AND DAYCOUNT=0 THEN
BEGIN
   SELL('',0,THISCLOSE);
END
IF I=240 AND DAYCOUNT=0 THEN
BEGIN
   BUY(SELFDATAS('SmartMoney') < 21,1000,THISCLOSE);
END

 

自定义数据排序设置

 


此主题相关图片如下:7k`ez$xjweci{14bt%er7.png
按此在新窗口浏览图片

此主题相关图片如下:32fpghixa1%xxgp7{ddtltv.png
按此在新窗口浏览图片

 回到顶部
总数 17 1 2 下一页