以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 如何用持仓量来做加仓 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=168977) |
-- 作者:qq代人发帖 -- 发布时间:2019/3/26 8:52:42 -- 如何用持仓量来做加仓 如何用持仓量来做加仓,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日均线平空单 |
-- 作者:FireScript -- 发布时间:2019/3/26 9:50:39 -- 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 提供以上范例,请在理解代码含义的基础上进行自定义修改,代码里有部分注释,如有不明确地方请跟帖询问。 |