以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  夜盘读取仓位  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=142026)

--  作者:黄金精算师
--  发布时间:2016/10/31 21:47:14
--  夜盘读取仓位
帮看一下,白天能读取到仓位的程序,夜盘读取不到仓位


账户:\'6463576\';
套利品种1:=\'I01\';   

空头1持仓: tsellholdingex(账户,套利品种1,0);//白天能显示正常
多头1持仓: tbuyholdingex(账户,套利品种1,0);

WRITEINIFILE(\'C:\\tset.txt\',\'HT\',\'套利品种1空头持仓\',空头1持仓);     ////白天能显示正常
WRITEINIFILE(\'C:\\tset.txt\',\'HT\',\'套利品种1多头持仓\',多头1持仓);     //数据1 写入DATA1  

DEBUGFILE(\'C:\\TEST2.TXT\',\'       空头持仓:%.0f\',空头1持仓);//输出,未证实

--  作者:jinzhe
--  发布时间:2016/11/1 8:55:01
--  

把调试文件发一下

[此贴子已经被作者于2016-11-1 8:57:49编辑过]

--  作者:黄金精算师
--  发布时间:2016/11/1 9:20:31
--  
现在是正常的,上面就是全部的代码
--  作者:jinzhe
--  发布时间:2016/11/1 9:35:56
--  

就是把调试结果所在txt或者ini文件发一下。

另外

WRITEINIFILE(\'C:\\tset.txt\',\'HT\',\'套利品种1空头持仓\',空头1持仓);这个是写ini文件的,不要用来写txt文件


--  作者:黄金精算师
--  发布时间:2016/11/1 11:12:51
--  
现在是正在常的,昨天全部是0
--------------
6-11-01 09:26:00.961           空头持仓清0:0
2016-11-01 09:26:02.484           空头持仓:1
2016-11-01 09:26:02.489           空头持仓清0:0
2016-11-01 09:26:03.970           空头持仓:1
2016-11-01 09:26:03.979           空头持仓清0:0
2016-11-01 09:26:05.467           空头持仓:1
2016-11-01 09:26:05.477           空头持仓清0:0
2016-11-01 09:26:06.964           空头持仓:1
2016-11-01 09:26:06.971           空头持仓清0:0
2016-11-01 09:26:08.485           空头持仓:1
2016-11-01 09:26:08.490           空头持仓清0:0
2016-11-01 09:26:09.966           空头持仓:1
2016-11-01 09:26:09.972           空头持仓清0:0
2016-11-01 09:26:11.470           空头持仓:1
2016-11-01 09:26:11.479           空头持仓清0:0
2016-11-01 09:26:12.966           空头持仓:1
2016-11-01 09:26:12.975           空头持仓清0:0
-------------------------------------------

[HT]
套利品种1空头持仓=0.000000
套利品种1多头持仓=0.000000

套利品种2空头持仓=0.000000
套利品种2多头持仓=0.000000
套55利品种1空头持仓=3.000000


--  作者:jinzhe
--  发布时间:2016/11/1 11:23:08
--  
那么昨天晚上输出的txt呢?
--  作者:黄金精算师
--  发布时间:2016/11/1 11:30:28
--  
昨晚的全是0,没有保存
现在的程序是手工平掉后不会再开仓,(刚运行时会开一次仓,手工平掉后按程序意思应该再开回仓才对)
程序

账户:\'614481\';

套利品种1:=\'I01\';   //铁矿石1701

//获得价差方法1
JC:40;//dynainfo2(7,套利品种1)-dynainfo2(7,套利品种2);

//开仓和平仓
IF JC>=30 THEN BEGIN
TBUYSHORT(JC>=30 and tsellholdingex(账户,套利品种1,0)=0,1,lmt,dynainfo(28),0,账户,套利品种1 );   
END

空头1持仓: tsellholdingex(账户,套利品种1,0);
多头1持仓: tbuyholdingex(账户,套利品种1,0);

WRITEINIFILE(\'E:\\XXX.txt\',\'HT\',\'套55利品种1空头持仓\',空头1持仓);     //数据1 写入DATA1 
WRITEINIFILE(\'E:\\XXX.txt\',\'HT\',\'套利品种1多头持仓\',多头1持仓);     //数据1 写入DATA1  
 
 DEBUGFILE(\'E:\\XXXTEST.TXT\',\'       空头持仓:%.0f\',空头1持仓);//输出开仓条件
    DEBUGOUT(\'当前资产为%.2f\', TASSET);//另外一个后台调试指令
------------------输出的文件-----------------------------------------

[HT]
套利品种1空头持仓=0.000000
套利品种1多头持仓=0.000000

套利品种2空头持仓=0.000000
套利品种2多头持仓=0.000000
套55利品种1空头持仓=3.000000
----------------------------------------------------------
2016-11-01 11:28:48.968           空头持仓:1
2016-11-01 11:28:50.468           空头持仓:1
2016-11-01 11:28:50.811           空头持仓:1
2016-11-01 11:28:51.983           空头持仓:1
2016-11-01 11:28:53.458           空头持仓:1
2016-11-01 11:28:55.479           空头持仓:0
2016-11-01 11:28:56.488           空头持仓:0
2016-11-01 11:28:57.960           空头持仓:0
2016-11-01 11:28:59.467           空头持仓:0
2016-11-01 11:29:00.959           空头持仓:0
2016-11-01 11:29:02.485           空头持仓:0
2016-11-01 11:29:03.957           空头持仓:0
2016-11-01 11:29:05.464           空头持仓:0
2016-11-01 11:29:06.970           空头持仓:0
2016-11-01 11:29:08.495           空头持仓:0
2016-11-01 11:29:09.969           空头持仓:0
2016-11-01 11:29:11.458           空头持仓:0
2016-11-01 11:29:12.964           空头持仓:0
2016-11-01 11:29:14.501           空头持仓:0
2016-11-01 11:29:15.960           空头持仓:0
2016-11-01 11:29:17.470           空头持仓:0
2016-11-01 11:29:18.964           空头持仓:0
2016-11-01 11:29:19.616           空头持仓:0
2016-11-01 11:29:20.475           空头持仓:0
2016-11-01 11:29:21.966           空头持仓:0
2016-11-01 11:29:23.471           空头持仓:0
2016-11-01 11:29:24.203           空头持仓:0
2016-11-01 11:29:24.966           空头持仓:1
2016-11-01 11:29:26.482           空头持仓:1
2016-11-01 11:29:27.972           空头持仓:1
2016-11-01 11:29:29.460           空头持仓:1
2016-11-01 11:29:30.968           空头持仓:1
2016-11-01 11:29:32.508           空头持仓:1
2016-11-01 11:29:33.961           空头持仓:1
2016-11-01 11:29:35.471           空头持仓:1
2016-11-01 11:29:36.968           空头持仓:1
2016-11-01 11:29:38.505           空头持仓:1
2016-11-01 11:29:39.955           空头持仓:1
2016-11-01 11:29:41.471           空头持仓:1
2016-11-01 11:29:42.960           空头持仓:1
2016-11-01 11:29:44.312           空头持仓:1
2016-11-01 11:29:44.464           空头持仓:1
2016-11-01 11:29:45.960           空头持仓:0这是手工平仓合再也不会开仓了
2016-11-01 11:29:47.464           空头持仓:0
2016-11-01 11:29:48.902           空头持仓:0
2016-11-01 11:29:48.966           空头持仓:0
2016-11-01 11:29:50.493           空头持仓:0
2016-11-01 11:29:51.970           空头持仓:0




--  作者:黄金精算师
--  发布时间:2016/11/1 11:33:49
--  
[HT]
套55利品种1空头持仓=0.000000
套利品种1多头持仓=0.000000
这是后面的


--  作者:黄金精算师
--  发布时间:2016/11/1 11:58:49
--  
帮看一下,这一句开仓不是只要小于1手就会开仓吗?为什么不开仓呢

//开仓和平仓
IF JC>=30 THEN BEGIN
TBUYSHORT(JC>=30 and tsellholdingex(账户,套利品种1,0)=0,1,lmt,dynainfo(28),0,账户,套利品种1 );   
END

--  作者:jinzhe
--  发布时间:2016/11/1 13:15:28
--  
在你原来的帖子里面给你解释了为什么,以及如何处理