AC:='800052';
FILEPATH:='C:\debug\debug1.TXT'; DEBUGFILE(FILEPATH,'=======',0);
DEBUGFILE(FILEPATH,'多单=%.5f',tbuyholdingex(ac,'',0));
DEBUGFILE(FILEPATH,'空单=%.5f',tsellholdingex(ac,'',0));
测试先买开一手多单成交
debug显示有一手多持仓
这时候我以涨停价格挂单卖出平仓单~
但是这个持仓头寸并没有成交~
debug上显示头寸为0
那手多单持仓还在手上
而金字塔的持仓函数告诉我持仓为0
哥又试了试tbuyholdingex(ac,'',1)
同样如此
如果tbuyholdingex这样的函数都无法正确反应持仓的话~
说明金字塔的持仓函数完全反应帐户的真实持仓情况...
这样的话挂撤单函数完全等于废物...
这个是我在实盘的时候出现了这个错误~
我一挂单debug上显示我的单子就没有了...
后来一调试
发现问题出在金字塔的持仓函数上
换句话说
金字塔的tbuyholdingex等函数
反应的应该是可平数量而不是真实持仓啊
如果你的真实持仓平仓单没有成交而一直挂在那
金字塔任何函数都是无法监测到的...
tbuyholdingex 返回的是可用持仓呀
没有问题啊
金字塔有获取未成交委托单的函数,而且有好几个,可根据自己需要选用
取指定帐户品种的买入持仓量(多头持仓),
用法:TBUYHOLDINGEX(AC,STOCK,N),AC为指定的帐户名,若为空表示取当前默认帐户
老大~多头持仓与可用持仓用户的理解上可是两码事啊...
你们的函数注解要改动
如果我需要一个多头持仓函数~
无论我这笔单是否有平仓委托~
只要他还在我帐户上就显示出来的函数
金字塔有吗?
现在正在调试未成交委托函数...
AC:='800052';
nh:=tbuyholdingex(ac,'',0)-tsellholdingex(ac,'',0);
tisr:=TISREMAINEX(2,ac,'');
//tsell(tbuyholdingex(ac,'',0)>0,tbuyholdingex(ac,'',0),lmt,DYNAINFO( 54),0,ac,'');
FILEPATH:='C:\debug\debug1.TXT'; DEBUGFILE(FILEPATH,'=======',0);
DEBUGFILE(FILEPATH,'多单=%.5f',tbuyholdingex(ac,'',1));
DEBUGFILE(FILEPATH,'空单=%.5f',tsellholdingex(ac,'',1));
debugout('未成交平多单=%.5f',tisr);
=====================================
TISREMAINEX函数取决于tsell指令
如果是手动发的委托
这个函数是监测不到的
如果有我说的帐户真实持仓函数就好办了...
可惜tbuyholdingex显示的只是可用持仓...
如果不这么设计,那么就会出现你一旦发现有持仓时的平仓动作,但是一旦委托单没有及时成交,那么你的策略就不会一直不断的去平仓。
实际上你只要通过未成交单的检测,可以避免你上述的 问题的
还在熟习TISREMAINEX函数
这些问题还在一步步解决
不过tholdingex函数注解的确在一定程度上造成了我的误解。。