查看完整版本: 飞狐实时主图,叠加副图公式代码示例二则(新增分时副图内容2007.6.18)

南客 2005-6-12 17:38

飞狐实时主图,叠加副图公式代码示例二则(新增分时副图内容2007.6.18)

飞狐支持实时图显示“主图叠加指标”,因此可以巧妙利用公式代码,把原副图指标叠加到实时图上。

以macd、kd指标为例,代码如下:
一、实时图叠加macd:[code]if datatype>0 then exit; //仅分笔周期及实时图运行本公式
yy:="macd.diff";
yy1:="macd.dea";
gc:=2;
gm:=datacount;kh:=DYNAINFO( 5);kl:=DYNAINFO( 6);
  tmp:=hhv(yy,0);
  yy_max:=tmp[gm];
  tmp:=llv(yy,0);
  yy_min:=tmp[gm];
  yy_bl:=(kh-kl)/(yy_max-yy_min);
  yy_py:=kh-yy_max*yy_bl;
DIF主图叠加:yy*yy_bl+yy_py,colormagenta;
DEA:yy1*yy_bl+yy_py,colorblue;
yy_py,POINTDOT;
{注意,公式类型必须是“主图叠加”}[/code]

南客 2005-6-12 17:41

效果如下:

南客 2005-6-12 17:43

二、实时图叠加KD指标:[code]if datatype>=0 then exit; //公式仅运行于实时图
yy:="kdj.k";
yy1:="kdj.d";
gc:=2;
gm:=datacount;kh:=DYNAINFO( 5);kl:=DYNAINFO( 6);
  tmp:=hhv(yy,0);
  yy_max:=tmp[gm];
  tmp:=llv(yy,0);
  yy_min:=tmp[gm];
  yy_bl:=(kh-kl)/(yy_max-yy_min);
  yy_py:=kh-yy_max*yy_bl;
k主图叠加:yy*yy_bl+yy_py,colormagenta;
D:yy1*yy_bl+yy_py,colorblue;
yy_py+50*yy_bl,POINTDOT;[/code]

南客 2005-6-12 17:44

效果如下:

南客 2005-6-12 17:53

仿照上述代码原理,可以制作其它的实时图叠加副图指标,譬如obv指标等。

注意:实时图不支持绘图函数所画的曲线。另外,实时图叠加指标时,指标线宜不过多,以免眼花缭乱。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
补充:
一、飞狐新版本,可以支持绘图函数画线了。

二、关于分时图副图叠加指标(摘自博庭论坛,详情参见:[url]http://www.foxtrader.net/community/showthread.php?s=&threadid=51736[/url])

细想了一下,可以用变通的办法,即人工抹去原有的分时副图指标线,从而实现在分时副图显示指标,参考代码如下:

////////****** 计算指标变换所需的公共数据 *******
rc:=DYNAINFO(3);//前收
q:=datacount;
hh:=DYNAINFO(5);//最高
LL:=DYNAINFO(6);//最低
f:=max(hh-rc,rc-LL);

////////////////////////////////////////////////////////////////
////////****** ㈠副图1叠加RSI指标线******(共3个步骤完成指标变换)
//副图1变换所需数据
q1h:=rc-f*1.02;//分时副图1最高位置
q1l:=rc-2*f*1.016;//分时副图1最低位置,同时也是分时副图2最高位置

//以下清除原来的指标线
FILLRGN(1,q1h,q1l),colorblack;//清除原始的副图指标线
cz:=(q1h-q1l)/6;//横线间隔
q1l+cz,POINTDOT,color0000cc;//画横坐标线
q1l+2*cz,POINTDOT,color0000cc;
q1l+3*cz,POINTDOT,color0000cc;
q1l+4*cz,POINTDOT,color0000cc;
q1l+5*cz,POINTDOT,color0000cc;

//①以下计算RSI1的最大、最小值
R:="rsi.rsi1";
Rh:=hhv(r,0);//RSI1最大值
RL:=LLv(r,0);//RSI1最小值

//②计算缩放比例、平移值
Rb:=(q1h-q1l)/(RH[q]-RL[q]);//RSI缩放比例
Ry:=(q1h+q1l-rb*(RH[q]+RL[q]))/2;//RSI平移值

//③变换原来的RSI1到分时副图1
r*rb+ry;//在分时副图1,显示变换后的RSI1
"rsi.rsi2"*rb+ry;
"rsi.rsi3"*rb+ry;

/////////////////////////////////////////////////////////////////


////////******** ㈡在副图2叠加kd ********
//副图2变换所需数据
q2h:=rc-2*f*1.019;//分时副图2最高位置
q2l:=rc-3*f*1.014;//分时副图2最低位置
//以下清除原始的指标线,并画横坐标线
FILLRGN(1,q2h,q2l),colorblack;
cz:=(q2h-q2l)/6;
q2l+cz,POINTDOT,color0000cc;
q2l+2*cz,POINTDOT,color0000cc;
q2l+3*cz,POINTDOT,color0000cc;
q2l+4*cz,POINTDOT,color0000cc;
q2l+5*cz,POINTDOT,color0000cc;

k:="kdj.k";
d:="kdj.d";
kH:=hhv(k,0);
kL:=LLv(k,0);
kb:=(q2h-q2l)/(kH[q]-kL[q]);//缩放比例,选K来计算缩放比例,是因为K的最大值大于D的最大值
ky:=(q2h+q2l-kb*(kH[q]+kL[q]))/2;//平移值

k*kb+ky;//副图2显示原来的K指标线
d*kb+ky;//副图2显示原来的D指标线

南客
2007.6.18
///////////////////////////////////////////////////////////////////////////

cwy 2005-6-12 18:27

学习,谢谢南客朋友,谢谢飞狐软件。

股市骑兵00 2005-6-12 19:44

[quote]Originally posted by [i]南客[/i] at 2005-6-12 05:53 PM:
仿照上述代码原理,可以制作其它的实时图叠加副图指标,譬如obv指标等。

注意:实时图不支持绘图函数所画的曲线。另外,实时图叠加指标时,指标线宜不过多,以免眼花缭乱。 [/quote]

谢谢南客老师!我也学了手。:D
看上去叠加的挺漂亮,加1分!

缺口 2005-6-12 21:01

谢谢南客老师!

hyde 2005-6-12 22:31

go on...

lhl311 2005-6-12 22:37

谢谢南客老师!

pengyou 2005-6-13 09:43

谢谢南客老师!
举一反三 了

dfhzx 2005-6-13 09:48

hh

liuxiang 2005-6-13 12:15

谢谢!有新意.

shuy 2005-6-18 17:06

谢谢南客老师

zhangcl 2005-6-20 06:09

感谢南客老师!

hch-19776 2005-6-24 22:21

学习`

dhxhangxin 2005-6-26 02:21

谢谢南客老师!

程翰晗 2005-6-26 17:36

太谢谢了!

soho 2005-7-2 16:48

谢谢南客,学到很多!

peter109 2005-7-5 20:50

谢谢南客老师!

欣儿 2005-7-6 20:15

多谢南客老师!今天才看到,严重失职。:D

ajiu 2005-7-8 08:34

谢谢南客老师!

lxt 2005-7-8 10:13

谢谢,学习

zxh5110 2005-7-8 19:47

谢谢南客老师 , 学习.

李米博 2005-7-9 08:39

学习,谢谢南客朋友,谢谢飞狐软件。

jackyhu 2005-7-9 17:17

多谢

地是 2005-7-10 09:34

学习

休闲浪子 2005-7-17 01:12

谢谢老师,绝对支持!!!!!!!!!

力臂 2005-7-18 00:22

受益了,谢谢

江花 2005-7-20 12:38

谢谢南客老师!

遂波荡漾 2005-7-24 23:42

看到的晚拉 ,白费好多劲!谢谢南客!

牛牛123 2005-7-26 11:43

xue  xi !

muxiaojun 2005-7-29 01:02

谢谢老师,有个问题请教一下,在实时图中叠加的k.d值如何调整?我将分笔到日线的kd都设定90,30,30,可实时图中的kd还是不变。把kdj编入后,kd值有变化,但很多个股的实时图出现混乱,谢谢

zhangshouda 2005-8-2 15:13

为什么我把原码编译通过后执行时没反映?问题在何处?请南客老师指教!谢谢!

阿豪 2005-8-4 14:13

谢谢南客老师!

土登索郎 2005-8-4 20:01

学习,谢谢南客朋友,谢谢飞狐软件

学习,谢谢南客朋友,谢谢飞狐软件

shuy 2005-8-5 19:58

谢谢南客老师!
举一反三 了

东南人氏 2005-8-9 07:07

谢谢!

chenjiaq 2005-8-13 15:15

谢谢支持原码提供

hotxxx 2005-8-13 21:01

学习中

touy 2005-8-17 00:05

谢谢南客老师!我也学了手。
看上去叠加的挺漂亮.

绿色通道 2005-8-18 07:31

第 11 楼:  

谢谢南客老师!
举一反三 了

糊涂难道 2005-8-22 16:50

学习,谢谢南客,谢谢飞狐软件。

lwqtz 2005-8-27 10:54

谢谢

gaodaxia 2005-8-28 11:27

dddddddd

糊涂难道 2005-9-3 23:38

谢谢!……

xrh88xrh 2005-9-4 09:21

只显一根线,蓝线不显示

zxh5110 2005-9-10 13:36

谢谢南客老师
页: [1] 2 3 4 5
查看完整版本: 飞狐实时主图,叠加副图公式代码示例二则(新增分时副图内容2007.6.18)