如何用持仓量来做加仓,1+2+4+8 翻倍式加仓。
做多: 在满足K线在均线120上方这第一 条件上,再10日和20日均线第一次金叉做一手,然后在10日均线和20日均线第二次金叉加仓2手,第三次金叉4手,第四次金叉8手。K线跌破120均线就全部平多单。
做空 :在满足K线在120均线下方,10日20日第一次死叉做1手,10日20日第二次死叉做2手,10日20日第三次死叉做4手10日20日第四次死叉做8手,K线上穿120日均线平空单
VARIABLE:ct1:=1,ct2:=1;//全局变量统计开仓次数
ma10:ma(c,10);
ma20:ma(c,20);
ma120:ma(c,120);
majc:cross(ma10,ma20);
masc:cross(ma20,ma10);
by1:majc and c>ma120;
sl1:c<ma120;
if by1 and holding=0 //首次开仓
then
begin
buy(holding=0,1,market);
ct1:=ct1*2;
end
if by1 and holding>0 and ct1<=8 and ENTERBARS>0 then //加仓
begin
buy(holding>0,ct1,market);
ct1:=ct1*2;//使用全局变量来记录加仓次数,同时生成下次开仓的手数值
end
if c<ma120 and holding>0 then
begin
ct1:=1;//平仓是重置全局变量
sell(holding>0,holding,market);
end
by2:masc and c<ma120;
sl2:c>ma120;
if by2 and holding=0
then
begin
buyshort(holding=0,1,market);
ct2:=ct2*2;
end
if by2 and holding>0 and ct2<=8 and ENTERPRICE>0 then
begin
buyshort(holding>0,ct2,market);
ct2:=ct2*2;
end
if c>ma120 and holding<0 then
begin
ct2:=2;
sellshort(holding<0,holding,market);
end
提供以上范例,请在理解代码含义的基础上进行自定义修改,代码里有部分注释,如有不明确地方请跟帖询问。