Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:金老师,请教代码:

1楼
tmxker 发表于:2016/12/2 15:39:27

 

后台程序日内交易中,需要统计账户当前品种的日内累计开仓量(多头+空头),请帮助给出代码,谢谢。

2楼
jinzhe 发表于:2016/12/2 15:57:44

if 持仓判断 and 开多条件 then begin

    extgbdataset('kd',开多手数+extgbdata('kd'));

   tbuy(1,开多手数,mkt);

end

 

if 持仓判断 and 开空条件 then begin

    extgbdataset('kk',开空手数+extgbdata('kk'));

   tbuyshort(1,开空手数,mkt);

end

if time=closetime(0) then begin

    extgbdataset('kk',0);

    extgbdataset('kd',0);

end

 

extgbdata('kd')为一天的开多总量

extgbdata('kk')为一天的开空总量

3楼
tmxker 发表于:2016/12/2 16:21:11

谢谢,下周我试试。

4楼
tmxker 发表于:2016/12/6 8:52:49

金老师,我昨天把你‘2楼’给出的代码,加到模型中,并在末尾加了msgout输出,测试结果没有开仓数量输出显示,麻烦你看看,问题出在哪里?请指正。谢谢!


KD:=extgbdataset('KD',zss+extgbdata('KD'));
KK:=extgbdataset('KK',zss+extgbdata('KK'));
//
msgout(islastbar,'开多仓数量='+numtostr(KD,0));
msgout(islastbar,'开空仓数量='+numtostr(KK,0));

5楼
jinzhe 发表于:2016/12/6 8:54:11
msgout(islastbar,'开多仓数量='+numtostr(extgbdata('KD'),0));
msgout(islastbar,'开空仓数量='+numtostr(extgbdata('KK'),0));
6楼
tmxker 发表于:2016/12/6 9:21:53

2016/12/06 09:16:13  开多仓数量=32033
2016/12/06 09:16:13  开空仓数量=32036

 

金老师,输出的数据量太大!1分钟周期的日内交易,最多开仓量也就是几十手啊?

7楼
jinzhe 发表于:2016/12/6 9:28:44

你的持仓判断是怎么写的?

你先去工具 数据 全局变量这里,清空下全局变量,这个是会叠加昨天的数据

8楼
tmxker 发表于:2016/12/6 9:57:39
金老师,清空‘全局变量’里的KD/KK数据,显示的开仓数量就正常了。由于我仅需要在日内交易需要计数,那么,是否有方法,在每个日交易日开始,启动软件模型自动初始化“全局变量”里的KD/KK数据为‘0‘’呢?谢谢。
9楼
jinzhe 发表于:2016/12/6 10:08:31

if time=closetime(0) then begin

    extgbdataset('kk',0);

    extgbdataset('kd',0);

end

 

这段代码是我之前就写的,目的是在收盘时清空全局变量,不知道你在收盘时有没有运行

共9 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03516 s, 3 queries.