经常有一种冲动把自己历史操作在股软走势图上都标示出来的想法,这个对于自我认识并提高有着深远的影响。
还可以把高手的操作记录都标识出来,学高手的操作方法,对股票操作提高更是一个巨大的飞跃,但是这样的东西只有专业的交易软件也许才会有,现在,飞狐能变通的得到这些了:
公式说明:运行时会读取当前股票对应的交易数据文件在K线图上标识出来,还能计算成本,历史盈利等数据,类似通达信里的BS交易落地标识。本公式支持1,5,15,30,60,日,周,月,年周期。当几笔交易在某个K线时间内时,会自动合并所有数据,可能存在的bug是所有交易都落于同一个K线时,可能会出问题,这个bug是刚刚想到的,以后再修正了,还有由于没研究出飞狐前复权公式,本公式暂时不支持分红配股复权等,使用过程中有除权股票且当前复权选项为复权时,成本价和交易价会移位,请使用时多注意。
安装公式的步骤:
0.下载pf.dll,把本附件下载到本地,修改后缀为pf.zip,用zip工具解压缩为pf.dll
下不到的可以到*
编了一个交易标示的飞狐公式
1.拷贝pf.dll到飞狐的FmlDLL目录里
2.准备您想查看的交易记录文件,格式如下:(分割线中间的文本,位置必须位于<飞狐运行目录>\User\TradeRecord下,一个股票一个文件,文件命名为"股票编码.txt")
日期,时间,交易价格,交易数量(负值为卖出)
--------------------
20100727,13:55:00,22.62,1700
20100728,13:04:40,22.2,500
20100728,13:39:31,22.45,-500
20100729,11:01:45,22.52,800
20100729,14:32:53,23.94,-800
--------------------
3.创建公式,注意选择主图叠加,主图选项
公式正文:
------------------------------------------------
kline(o,h,l,c,1);
stickline(DATAPERIOD=6 and c/ref(c,1)>=1.097,o,c,8,1),coloryellow;
// 价格有效范围 <999999
// 成交量有效范围 <>-0.1 (不等于-0.1)
// 有任何问题和需求欢迎联系:*
价格:="pf
@price ";
成本价:="pf
@cost";
仓位:="pf
@position";
历史盈亏:="pf
@profit "(1);
交易数量:="pf
@transVol";
新仓位:=仓位+交易数量;
VARIABLE:width=12;
显示位置:=IF(SYSPARAM(1)+width>SYSPARAM(3),SYSPARAM(1)-width,SYSPARAM(1)+1);
当日盈亏:=(C-价格)*交易数量;
开仓盈亏:=IF(交易数量>0,(C-成本价)*仓位,IF(仓位>0,(C-成本价)*(仓位+交易数量)+(成本价-价格)*(交易数量),0));
stickline(价格>0,价格,价格,10,1),COLORMAGENTA;
stickline(成本价>0 and not( 交易数量>0 and 仓位 =0),成本价,成本价,10,1),COLORwhite;
t:=‘数 量 = ‘+NUMTOSTR(交易数量[SYSPARAM(1)],0)+‘\n价 格 = ‘+NUMTOSTR(价格[SYSPARAM(1)],2)+‘\n仓 位 = ‘+NUMTOSTR(仓位[SYSPARAM(1)],0)+‘\n成 本 价 = ‘+NUMTOSTR(成本价[SYSPARAM(1)],2)+‘\n当日盈亏 = ‘+NUMTOSTR(当日盈亏[SYSPARAM(1)],2)+‘\n开仓盈亏 = ‘+NUMTOSTR(开仓盈亏[SYSPARAM(1)],2)+‘\n累计盈利 = ‘+NUMTOSTR(历史盈亏[SYSPARAM(1)],2) align5;
DRAWTEXT(BARPOS=SYSPARAM(1) and 交易数量<> -0.1,SYSPARAM(6),t),pxdn40,shift1;
drawtext(交易数量>0 and 仓位 =0,H,‘建‘), pxup120,colorred;
stickline(交易数量>0 or 交易数量<-0.1,H,H*1.1,0.6,0),color505050,linedot;
drawnumber(交易数量>0 and 仓位 =0 and C>价格,H,价格,2), pxup94,colorred;
drawnumber(交易数量>0 and 仓位 =0 and C<价格,H,价格,2), pxup94,colorgreen;
drawnumber(交易数量>0 and 仓位 =0 and C=价格,H,价格,2), pxup94,colorwhite;
//-------------------------------------------------------------------------
drawtext(交易数量>0 and 仓位 >0,H,‘买‘), pxup120,colorred;
drawnumber(交易数量>0 and 仓位 >0 and C<价格,H,价格,2), pxup94,colorgreen;
drawnumber(交易数量>0 and 仓位 >0 and C>价格,H,价格,2), pxup94,colorred;
//-------------------------------------------------------------------------
drawtext(交易数量<-0.1 and 新仓位>0and 价格>成本价,H,‘卖+‘), pxup120,colorgreen;
drawtext(交易数量<-0.1 and 新仓位>0and 价格<=成本价,H,‘卖-‘), pxup120,colorgreen;
drawnumber(交易数量<-0.1 and 新仓位>0 and C<价格,H,价格,2), pxup94,colorred;
drawnumber(交易数量<-0.1 and 新仓位>0 and C>=价格,H,价格,2), pxup94,colorgreen;
//-------------------------------------------------------------------------
drawtext(交易数量<-0.1 and 新仓位=0 and 开仓盈亏>0 ,H,‘清‘), pxup120,coloryellow;
drawtext(交易数量<-0.1 and 新仓位=0 and 开仓盈亏<=0,H,‘清‘), pxup120,colorcyan;
drawnumber(交易数量<-0.1 and 新仓位=0 and 价格 > C,H,价格,2), pxup94,colorred;
drawnumber(交易数量<-0.1 and 新仓位=0 and 价格 < C,H,价格,2), pxup94,colorgreen;
//-------------------------------------------------------------------------
drawtext(交易数量=0 and 开仓盈亏<0 and 开仓盈亏>-99999,H,‘T‘), pxup120,colorgreen;
drawtext(交易数量=0 and 开仓盈亏>0,H,‘T‘), pxup120,colorred;
drawtext(交易数量=0 and 开仓盈亏=0,H,‘T‘), pxup120,colorwhite;
有什么问题可以加QQ:*