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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [原创]希望大家能把这个交易记录复盘公式优化。

   

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


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

主题:[原创]希望大家能把这个交易记录复盘公式优化。

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


加好友 发短信
等级:新手上路 帖子:10 积分:44 威望:0 精华:0 注册:2012/2/7 13:05:39
[原创]希望大家能把这个交易记录复盘公式优化。  发帖心情 Post By:2012/2/13 15:05:23    Post IP:58.83.254.80[只看该作者]

{交易记录}
//***** 读文本 *****
市场:=MARKETLABEL;
代码:=STKLABEL;
//DRAWTEXTEX(1,0,1,0,MARKETNAME+' '+代码);
DRAWTEXT(BARPOS=SYSPARAM(2),H,MARKETNAME+' '+代码),COLOR999999,ALIGN4;

地址:='F:\交易记录\'+市场+'\'+代码 +'.txt';//按自己的情况修改
文本:='';
<%
UTXT=ffl.vardata("文本")
UDZ=ffl.vardata("地址")
  Dim fso, ts,s
  Const ForReading = 1
  On Error Resume Next
  path ="" & UDZ
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set ts = fso.OpenTextFile(path, ForReading)
  s = ts.ReadAll
  UTXT = s
  ts.Close
ffl.vardata("文本")=UTXT
%>
Z1:='成交数量';///起始字符串
Z2:='#####';/////终止字符串
起:=STRFIND(文本,Z1,1)+8;
止:=STRFIND(文本,Z2,起);
文本长:=止-起;
字符串:=STRMID(文本,起,文本长);
//***** 读文本结束 *****

//验证资料种类
F10:=IF(RANGE(STRFIND(文本,'###交易记录###',1),0,200),1,0);
IF NOT(F10=1) THEN BEGIN //非交易记录退出
  DRAWTEXT(SYSPARAM(2)=BARPOS,15,'          本公式不适合该种资料。'),COLOREEFF,ALIGN4;
  EXIT;
END;

//***** 数据提取 *****
FHS:=CEILING(文本长/51),LINETHICK;//数据行数
//设定各数组:日期   时间       开平      方向        成交价格    成交数量
VARIABLE:RQS[FHS]=0,SJS[FHS]=0,KP[FHS]=0,FXS[FHS]=0,CJJ[FHS]=0,SLS[FHS]=0;
HW:=0;
FOR j=1 TO FHS DO BEGIN
   HW:=STRFIND(文本,'成交',IF(j=1,起+10,HW+42));//取数据所在位置
   IF HW=0 THEN BREAK;//超出尾部行位置跳出循环
   LS1:=24;LS2:=14;LS3:=12;
//=== 提取各字符串 ===
   RQT:=LTRIM(STRMID(文本,HW-LS1,8));//取日期
   SJT:=LTRIM(STRMID(文本,HW-LS2,8))-':';//取时间
   KPT:=RTRIM(LTRIM(STRMID(文本,HW+5,6)));//开平仓
   FXT:=RTRIM(LTRIM(STRMID(文本,HW+8,6)));//取方向
   CJT:=STRMID(文本,HW+LS3,10);//取成交价
   SLT:=STRMID(文本,STRFIND(文本,' ',HW+LS3+STRLEN(CJT)),5);//取成交数量
//=== 提取字符串结束 ===

   IF j<FHS AND STRLEN(LTRIM(RTRIM(SJT)))>5 THEN BEGIN
      RQS[j]:=IF(STRTONUM(STRLEFT(RQT,4))<2000,0,1000000)+STRTONUM(STRRIGHT(RQT,6));//日期
      SJS[j]:=STRTONUM(SJT);//时间
      KP[j]:=IF(STRFIND(KPT,'开',1)>0,1,IF(STRFIND(KPT,'平',1)>0,2,0));
      FXS[j]:=IF(STRFIND(FXT,'买',1)>0,1,0);
      CJJ[j]:=STRTONUM(CJT);//成交价
      SLS[j]:=STRTONUM(SLT);//成交数
      IF RQS[j]=0 THEN BREAK;
   END;
END;
JS:=J-1;
成交笔数:JS,LINETHICK;

DD:=DATE;
TT1:=TIME;
TT2:=IF(DATATYPE=0,FLOOR(TT1/100)*100+61,TT1+IF(DATATYPE=1,100,IF(DATATYPE=2,500,60)));
XX:=C*0;KKP:=C*0;KFX:=C*0;KCJ:=C*0;KSL:=C*0;
JKQ:=(CROSS(RQS[1]=DD,0.5) or BARPOS=1)*10,LINETHICK;//交易记录日期起点
JKS:=BARSSINCE(JKQ);
起点Ks:=DATACOUNT-JKS[DATACOUNT];

for i=起点Ks to datacount do begin
  if DD[i]>=RQS[1] and DD[i]<=RQS[Js] then begin
     for ii=1 to JS do begin
        if DD[i]=RQS[ii] and RANGE(SJS[ii],TT1[i]-1,TT2[i]+1) then begin
           XX[i]:=1;
           KKP[i]:=KP[ii];
           KFX[i]:=FXS[ii];
           KCJ[i]:=CJJ[ii];
           KSL[i]:=SLS[ii];
           if ii>1 and RANGE(SJS[ii-1],TT1[i]-1,TT2[i]+1)&&KP[ii]=KP[ii-1]&&FXS[ii]=FXS[ii-1]&&CJJ[ii]=CJJ[ii-1]
              then KSL[i]:=SLS[ii]+SLS[ii-1];
           if ii>=3 then begin
              if RANGE(SJS[ii-1],TT1[i]-1,TT2[i]+1) and RANGE(SJS[ii-2],TT1[i]-1,TT2[i]+1)
                &&KP[ii]=KP[ii-1]&&KP[ii]=KP[ii-2]&&FXS[ii]=FXS[ii-1]&&FXS[ii]=FXS[ii-2]&&CJJ[ii]=CJJ[ii-1]&&CJJ[ii]=CJJ[ii-2]
              then KSL[i]:=SLS[ii]+SLS[ii-1]+SLS[ii-2];
           end;
        end;
     end;
  end;
end;
成交价:REF(KCJ,BARSLAST(XX)),COLORAAAAAA,LINETHICK;
成交数:REF(KSL,BARSLAST(XX)),COLORAAAAAA,LINETHICK;
开空:=XX and KKP=1 and KFX=0;平空:=XX and KKP=2 and KFX=1;
STICKLINE(开空,KCJ,KCJ,20,0),COLORFF8800,LINETHICK2;
DRAWNUMBER(开空,KCJ,KSL,0),COLORFF8800,ALIGN,PXDN10;
DRAWNUMBER(开空,KCJ,KCJ,2),COLORFF8800,ALIGN,PXUP30;
DRAWTEXT(开空,L,'开 \n空'),COLORFF8800,ALIGN5,PXUP30;
STICKLINE(平空,KCJ,KCJ,20,0),COLOREEFF,LINETHICK2;
DRAWNUMBER(平空,KCJ,KSL,0),COLOREEFF,ALIGN,PXUP30;
DRAWNUMBER(平空,KCJ,KCJ,2),COLOREEFF,ALIGN,PXDN10;
DRAWTEXT(平空,L,'平 \n空'),COLOREEFF,ALIGN5,PXUP30;
开多:=XX and KKP=1 and KFX=1;平多:=XX and KKP=2 and KFX=0;
STICKLINE(开多,KCJ,KCJ,20,0),COLOR3FFF,LINETHICK2;
DRAWNUMBER(开多,KCJ,KSL,0),COLOR3FFF,ALIGN,PXUP30;
DRAWNUMBER(开多,KCJ,KCJ,2),COLOR3FFF,ALIGN,PXDN10;
DRAWTEXT(开多,L,'开 \n多'),COLOR3FFF,ALIGN5,PXUP30;
STICKLINE(平多,KCJ,KCJ,20,0),COLORFF00,LINETHICK2;
DRAWNUMBER(平多,KCJ,KSL,0),COLORFF00,ALIGN,PXDN10;
DRAWNUMBER(平多,KCJ,KCJ,2),COLORFF00,ALIGN,PXUP30;
DRAWTEXT(平多,L,'平 \n多'),COLORFF00,ALIGN5,PXUP30;
{


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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2012/2/13 16:09:24    Post IP:58.246.57.26[只看该作者]

这是哪个软件用的公式?


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:新手上路 帖子:10 积分:44 威望:0 精华:0 注册:2012/2/7 13:05:39
  发帖心情 Post By:2012/2/15 10:59:08    Post IP:58.83.254.80[只看该作者]

飞狐上用的。

 回到顶部