以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助] (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=76482) |
-- 作者:zhangyong -- 发布时间:2015/3/15 22:07:08 -- [求助] 请参看下面的图, 日内5分钟的K 内外盘的差值, 怎么写能出来文华这种效果? 文华 WH8 金字塔 [此贴子已经被作者于2015/3/15 22:07:57编辑过]
|
-- 作者:jinzhe -- 发布时间:2015/3/16 9:18:09 -- 请贴代码 |
-- 作者:zhangyong -- 发布时间:2015/3/16 12:27:42 -- 代码见下方。 我已经仔细翻看过论坛,也看了老师们给出的方法。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------------------------ |
-- 作者:jinzhe -- 发布时间:2015/3/16 13:17:12 -- 用buyvol和sellvol dynainfo没有历史数据,结果是一个直线 |
-- 作者:zhangyong -- 发布时间:2015/3/16 14:34:27 -- 用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; //--------------------------- 金字塔 文华 |
-- 作者:jinzhe -- 发布时间:2015/3/16 14:40:18 -- 是的只有一个方向 金字塔的内外盘函数一根k线上只有一个方向的数据 |
-- 作者:zhangyong -- 发布时间:2015/3/16 15:01:19 -- 好的,谢谢老师的及时回复。 我想,如果没有合适的函数可以获取,既然可以自定义指数,可否加一个这样的指数方便用户调用? 虽说不能依据这个数据做盘,但毕竟某一时段的买卖量还是具有参考价值的。只是个基础数据,算不上核心。 花了大半夜的时间去啃文华的函数手册,只为弄这么一个指标。 |
-- 作者:jinzhe -- 发布时间:2015/3/16 15:14:32 -- 使用引用,先建一个公式,命名为公式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编辑过]
|
-- 作者:zhangyong -- 发布时间:2015/3/16 15:32:19 -- 谢谢老师! |