以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]3段分仓位怎么写?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=65140)

--  作者:netfox
--  发布时间:2014/5/18 14:12:38
--  [求助]3段分仓位怎么写?

仓位:=cash(0)/10000;
if(jd=0,cw=仓位*0.5,DRAWNULL),NODRAW;
if(jd=1,cw=仓位*0.3,DRAWNULL),NODRAW;
if(jd=2,cw=仓位
*0.2,DRAWNULL),NODRAW;

 

JD=XX  我判定当前第几次开仓意思

 

  本意是每万元开1单, 但是开3次。 分别是 0.5 ,0.3 ,0.2

例如 5万元可以开5手。

那么  5*0.5 = 2.5

        5*0.3 = 1.5

        5*0.2 = 1.0

总计等于 2+1+1  =4 开4手

 

  但是我上面这写法 第一次开是对的,后面2次都是统计当下盈利状况  也就是如果盈利变多了后。。。 第二次第三次开仓数目比第一次多了。

我怎么限定?


--  作者:jinzhe
--  发布时间:2014/5/19 9:12:20
--  

获取jd=0时的仓位,

然后jd=1时的仓位就是 jd=0时的仓位*0.3/0.5

然后jd=2时的仓位就是 jd=0时的仓位*0.2/0.5


--  作者:netfox
--  发布时间:2014/5/19 19:09:27
--  
以下是引用jinzhe在2014/5/19 9:12:20的发言:

获取jd=0时的仓位,

然后jd=1时的仓位就是 jd=0时的仓位*0.3/0.5

然后jd=2时的仓位就是 jd=0时的仓位*0.2/0.5

 

 

我试着这么写

 

VARIABLE:hh=0;

 

CW:=5;  {默认下单系数5}

 

我试着给HH在不同阶段赋值

hh:=if(jk=0,0.5,0.4),NODRAW;
hh:=if(jk=1,0.3,0.4),NODRAW;
hh:=if(jk=2,0.2,0.4),NODRAW;

 

if REF(KK,1) and num=0 then BEGIN
buyshort(JK<KC,CW*HH,limitr,open);   // 这里我通过 CW*HH 实现控制

jk:=jk+1;   // 记数JK

end;

 

  以上这样我思考是 我把JK不同位置时候给 HH赋予不同系数那么就实现了,   但实际中 JK=0 HH=0.5   JK=1时候 HH=0.2  JK=2时候HH=0.4

     它怎么赋值的不对头呢 ?

[此贴子已经被作者于2014/5/19 19:09:49编辑过]

--  作者:netfox
--  发布时间:2014/5/19 20:46:16
--  

这不科学啊

 

为啥这么写法就对了

 

if jk=0 then hh:=0.5;
if jk=1 then hh:=0.3;
if jk=2 then hh:=0.2;

 

   KO完成。。  IF() 反而错误呢