以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  通达信的虚拟成交量要改成金字塔下面的怎么改?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=157289)

--  作者:滚雪球
--  发布时间:2017/8/25 14:41:58
--  通达信的虚拟成交量要改成金字塔下面的怎么改?
通达信自带的虚拟成交量很不错,怎么移植到金字塔下面来?
M1:=5;
M2:=10;
TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));
MTIME:=MOD(FROMOPEN,TOTAL);
CTIME:=IF(MTIME<0.5,TOTAL,MTIME);
VVOL:IF((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VOL*TOTAL/CTIME,DRAWNULL),NODRAW;
STICKLINE((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VVOL,0,-1,-1),COLOR00C0C0;
VOLUME:VOL,VOLSTICK;
MAVOL1:MA(VOLUME,M1);
MAVOL2:MA(VOLUME,M2);

--  作者:wenarm
--  发布时间:2017/8/25 15:05:38
--  

可以直接在金子塔上编译,把变动赋值也弄好TOTALFZNUM和FROMOPEN


--  作者:滚雪球
--  发布时间:2017/8/25 21:55:34
--  
改成这样可以运行,但是VVOL始终等于VOL,问题出在哪里?

M1:=5;
M2:=10;
TOTALFZNUM:=OPENMINUTES(CLOSETIME(0));
FROMOPEN:=OPENMINUTES(CURRENTTIME);
TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));
MTIME:=MOD(FROMOPEN,TOTAL);
CTIME:=IF(MTIME<0.5,TOTAL,MTIME);
VVOL:IF((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VOL*TOTAL/CTIME,DRAWNULL),NODRAW;
STICKLINE((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VVOL,0,-1,-1),COLOR00C0C0;
VOLUME:VOL,VOLSTICK;
MAVOL1:MA(VOLUME,M1);
MAVOL2:MA(VOLUME,M2);

我看了一下通达信下面DYNAINFO(8)是总量,金字塔下面写的总手,应该是一个意思
TOTALFZNUM:=OPENMINUTES(CLOSETIME(0));
FROMOPEN:=OPENMINUTES(CURRENTTIME);
TOTALFZNUM--返回当前品种的每天的总交易分钟数
FROMOPEN--返回当前品种当前时刻已开盘多少分钟

我这样写对吗?虚拟成交量这个指标是用当前的成交量,已经交易的时间,还有交易的总时长,推算出收盘的时候大致的成交量
请老师指点一下哪里有问题

--  作者:wenarm
--  发布时间:2017/8/27 20:58:52
--  
这个策略在在附图中加载和通达信的形态一样。
[此贴子已经被作者于2017/8/27 21:26:13编辑过]

--  作者:滚雪球
--  发布时间:2017/8/28 14:56:41
--  
嗯,要开盘的时候运行,可以了
--  作者:滚雪球
--  发布时间:2017/9/1 20:15:43
--  
在日线下工作正常,在分钟级别工作不正常,可能是和这个PERIOD有关
--  作者:wenarm
--  发布时间:2017/9/1 20:45:58
--  
怎么个不正常?