请参看下面的图, 日内5分钟的K
内外盘的差值,
怎么写能出来文华这种效果?
文华 WH8

金字塔
[此贴子已经被作者于2015/3/15 22:07:57编辑过]
代码见下方。
我已经仔细翻看过论坛,也看了老师们给出的方法。DYNAINFO只能显示直线,BUYVOL只能用在分笔,所以SUM()在分钟图当根K上的数据只统计了主动成交方的数据。
除了自定义指数,没有其他方法了吗?
// -------------------------------------------------
// 金字塔
// 指标:BSV
// 内外盘差数据
// -------------------------------------------------
Var_BuyVol := DYNAINFO(23); // 主动买
Var_SellVol := DYNAINFO(22); // 主动卖
Var_BSVDiff := Var_BuyVol - Var_SellVol; // 内外盘差
买 : Var_BuyVol;
卖 : Var_SellVol;
// 买大于卖,差值显示红色,否则绿色
IF Var_BSVDiff > 0 THEN BEGIN
多 : Var_BSVDiff, COLORRED;
多比: Var_BSVDiff / Var_BuyVol * 100, COLORRED, LINETHICK0;
END
ELSE BEGIN
空: Var_BSVDiff,COLORGREEN;
空比: Var_BSVDiff / Var_SellVol * 100, COLORGREEN, LINETHICK0 ;
END
// ----------------------END------------------------
// -------------------------------------------------
// 文华WH8
// 指标 : BSV1
// 当根K线的内外盘数据
// -------------------------------------------------
Var_BuyVol := SCALE * V; // 主动买占比 * 成交量 = 买量
Var_SellVol := (1-SCALE)*V; // 卖量
Var_Diff := Var_BuyVol - Var_SellVol; // 内外盘差
Var_Diff_Rate := Var_Diff / IF(Var_Diff>0, Var_BuyVol,Var_SellVol) * 100, NODRAW; // 差占比例
// ----------------------END------------------------
// -------------------------------------------------
// 文华WH8
// 指标:BSV2
// 调用日线周期的内外盘在日内N分钟的累计数据
//--------------------------------------------------
#IMPORT[DAY,1,BSV1] AS VAR // 调用日线周期的BSV1数据
Var_BuyVol_DAY := VAR.Var_BuyVol; // 调用BSV1主动买
Var_SellVol_DAY := VAR.Var_SellVol; // 调用BSV1主动卖
Var_Diff_DAY := VAR.Var_Diff; // 调用BSV1内外盘差
Var_Diff_Rate_DAY := VAR.Var_Diff_Rate; // 调用BSV1差比
Var_Diff_DAY_MA1 := MA(Var_Diff_DAY,N1); // 差值的N1周期均值
Var_Diff_DAY_MA2 := MA(Var_Diff_DAY,N2); // 差值的N2周期均值
主动买 : Var_BuyVol_DAY,NODRAW;
主动卖 : Var_SellVol_DAY,NODRAW;
差 : Var_Diff_DAY, COLORSTICK; // 显示内外盘差值
差比 : Var_Diff_Rate_DAY,NODRAW;
均差1 : Var_Diff_DAY_MA1;
均差2 : Var_Diff_DAY_MA2;
// ----------------------END------------------------
用BUYVOL/SELLVOL, 也是只能凑合用。
数据图表差异太大了。
好像同一根K线只统计一方的数据,而文华的数据是正常的。
下面是今天的K线,日内5分钟,第1根和第2根K线都是的主动买量为0。
//---------------
Input:
N1(5,1,50,1),
N2(10,1,50,1)
;
BV := SUM(BUYVOL,TODAYBAR);
SV := SUM(SELLVOL,TODAYBAR);
DF := BV - SV;
DF_MA1 := MA(DF,N1);
DF_MA2 := MA(DF,N2);
买 : BV, LINETHICK0;
卖 : SV, LINETHICK0;
差: DF, COLORSTICK;
均差1 : DF_MA1;
均差2 : DF_MA2;
//---------------------------
金字塔

文华
好的,谢谢老师的及时回复。
我想,如果没有合适的函数可以获取,既然可以自定义指数,可否加一个这样的指数方便用户调用?
虽说不能依据这个数据做盘,但毕竟某一时段的买卖量还是具有参考价值的。只是个基础数据,算不上核心。
花了大半夜的时间去啃文华的函数手册,只为弄这么一个指标。
使用引用,先建一个公式,命名为公式1
公式1:
nn:=barslast(minute<>ref(minute,1))+1;
s1:sum(buyvol,nn);
s2:sum(sellvol,nn);
然后可以引用上面的公式1里面的s1和s2了
ss1:stkindi('','公式1.s1',0,0);
ss2:stkindi('','公式1.s2',0,0);
适用于1分钟周期
[此贴子已经被作者于2015/3/16 15:14:47编辑过]