以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请问有什么函数能控制总仓位  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=98078)

--  作者:c100011238
--  发布时间:2016/6/1 10:04:32
--  请问有什么函数能控制总仓位
请问有什么函数能控制总仓位。。。比如限制一个账户最大开仓20手后不再开新仓,或者按照保证金占到动态权益达到40%比例之后不再开新仓。。。。有没什么好的建议,谢谢
--  作者:jinzhe
--  发布时间:2016/6/1 10:08:11
--  

标准版用户丶话,这个不好控制,

专业版及以上的用户,用账户函数即可,有对应的函数


--  作者:c100011238
--  发布时间:2016/6/1 10:29:14
--  
30>HOLDING>0,这个函数有效么
--  作者:jinzhe
--  发布时间:2016/6/1 10:32:21
--  

图表交易和实际账户里面的情况无关,holding判断的是信号持仓,不是实际账户的持仓


--  作者:c100011238
--  发布时间:2016/6/1 10:38:31
--  
好的,知道了,谢谢
--  作者:c100011238
--  发布时间:2016/6/1 10:46:56
--  
有个问题,请教下,图标程式化里面。。。比如条件  A :达到条件,开仓5手;达到条件B且持仓数量大于1:加仓1手,达到条件C且持仓数量大于1:继续加仓1手。
后来我加了个对持仓加了个5个点止损的函数,A开仓之后促发了止损,在图表显示平仓5手,后面的B,C条件触发出发还会开仓么。。函数是下面这么写的
KD1:=H>REF(HHV(H,2),1);
KK1:=L<REF(HHV(L,2),1);
加多:BUY(kd1 AND HOLDING>0,1,MARKET);
加空:BUYSHORT(KK1 AND HOLDING<0 ,1,MARKET);
            

if holding>0 and c<avgenterprice-5*mindiff then sell(1,0,marketr);
if holding<0 and c>avgenterprice+5*mindiff  then sellshort(1,0,marketr);

--  作者:jinzhe
--  发布时间:2016/6/1 10:50:57
--  
全平之后holding就等于0了,那么加仓条件不成立,导致无法加仓
--  作者:c100011238
--  发布时间:2016/6/1 10:57:18
--  
恩恩,是的,我刚才也奇怪。我刚才对HOLDING重新定义了下 ,开多条件变成了这样。。。加多:BUY(kd1 AND 310>HOLDING>0,1,MARKET);好像被止损后后面继续开仓,是不是我对函数理解哪里错误了
--  作者:jinzhe
--  发布时间:2016/6/1 10:58:25
--  
用户想表达的意思是修改代码后,平仓后到底会不会加仓?
--  作者:c100011238
--  发布时间:2016/6/1 10:59:20
--  
加多:BUY(kd1 AND HOLDING>0 AND HOLDING<310,1,MARKET);改成这样就可以了....可能是这样0<HOLDING<310不能写