以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  自动按照资金比例开仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=96648)

--  作者:flyme
--  发布时间:2016/4/23 21:11:35
--  自动按照资金比例开仓

初学金字塔,请教版主一个问题:

在一个模型中,有这么一想法:比方说,多单条件成立,分次开仓,第一次用10%的资金开仓,只要多单条件一直成立,继续用剩下可用资金的10%每个周期开一次只要多单条件不成立,出现多头平仓要求,一次性全部平掉多单。空单条件就不阐述了。

开平代码如下,如果我的写法不正确,请版主写出正确的代码。

{前一周期条件成立,次周期开盘价格开仓}

初次仓位:  INTPART(0.1*ASSET/(OPEN*10*0.1)),NODRAW;
所用资金:=ABS(HOLDING*AVGENTERPRICE),NODRAW;

//注意,注意,注意。重要的事情重申三遍(不礼貌了。)。上面这一行我发现一个问题,这个地方所用的“HOLDING”函数,由于是开仓之前的限制条件,所以检查不到实际仓位,

//所以,“所用资金”要到下一个周期才能真是反应,也就是说,延迟了一个周期,这样就造成了“所用资金”这个条件的错误写法,请给出正确的写法。(如下图)

可用持仓:  INTPART(0.1*(ASSET-所用资金)/(OPEN*10*0.1)),NODRAW;

 

多平     :     SELL(多平条件 AND HOLDING>0,HOLDING,LIMITR,OPEN);
空平:SELLSHORT(空平条件 AND HOLDING<0,HOLDING,LIMITR,OPEN);

 

多       :         BUY (多单条件,IF(HOLDING<=0,初次仓位,可用持仓),LIMITR,OPEN);
空       :BUYSHORT(空单条件,IF(HOLDING>=0,初次仓位,可用持仓),LIMITR,OPEN);

以上所写代码如有不正确的地方,请版主给出正确代码。谢谢!

 


此主题相关图片如下:11.jpg
按此在新窗口浏览图片

--  作者:flyme
--  发布时间:2016/4/25 9:05:42
--  
是不是实现不了想法?
--  作者:jinzhe
--  发布时间:2016/4/25 9:07:55
--  

buy(开多条件,10%,marketr),pertrader;

buyshort(开空条件,10%,marketr),pertrader;