//这里定义了三根均线,他们之间一共有8种不同状态,
//每一种状态定义一个仓位水平, 我想用上证指数来做试验看看这种仓位管理是不是挣钱。
//请问应该怎么写买卖指令?
S:=ma(c,5);m:=ma(c,20);lo:=ma(c,120);
type1:=if(s>m and s>lo and m>lo,1.0,0);//在这个状态下满仓
type2:=if(s<m and s>lo and m>lo,0.8,0);//在这个状态下8成仓
type3:=if(s>m and s<lo and m>lo,0.6,0);
type4:=if(s<m and s<lo and m>lo,0.5,0);
//bear
type5:=if(s>m and s>lo and m<lo,0.3,0);
type6:=if(s<m and s>lo and m<lo,0.15,0);
type7:=if(s>m and s<lo and m<lo,0.0,0);
type8:=if(s<m and s<lo and m<lo,0.0,0);
position:=type1+type2+type3+type4+type5+type6+type7+type8;//8个状态中只有一个生效
position是仓位水平,当position是0.6的时候,
如果原来仓位是0.4,就用20%的总资金买入,变成0.6的仓位
如果原来仓位是0.8,就卖出到0.6的仓位
那么到底是在什么情况下?开的0.4仓位,开的0.8仓位?
position是一个序列,简单记为p, 从第一天开始有P1,P2... PN, 好比
第一天P1=0.4 ,那就开仓0.4,
第二天P2=0.6,那就把仓位调整到0.6(买入加仓0.6-0.4=0.2),
第三天P3=0.5 ,那就把仓位调整到0.5(卖出减仓0.6-0.5=0.1)
如果原来仓位是0.4,就用20%的总资金买入,变成0.6的仓位
如果原来仓位是0.8,就卖出到0.6的仓位
按照这个条件写
是不是可以理解为:之前的position是0.4,现在变成了0.6,然后下20%仓位的单?