以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 加仓问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=138078) |
-- 作者:苦麻菜真好吃 -- 发布时间:2016/8/16 14:57:38 -- 加仓问题 1、我想用像海龟那样的加仓方式、这个ATR这样写对吗?应该怎么写?怎么会在一根K线上连续开仓呢? 2、出场方式是PD、PK、,加仓第三次的时候出场方式变成高点回落3个atr出场,为啥这样不能执行呢? INPUT:N1(10,2,100,2),N2(100,2,100,2); variable:zs=c,Y=0,X=0; MA1:MA(C,N1); MA2:MA(C,N2); M:=MA(TR,20); //真实波幅的20周期均值 //开仓条件 KD:CROSS(MA1,MA2); KK:CROSS(MA2,MA1); //平仓条件 PD:CROSS(MA2,MA1); PK:CROSS(MA1,MA2); //交易系统 if holding>0 then begin 多止损:zs; if l<zs then sell(1,100%,MARKET); else if PD then sell(1,100%,MARKET); Y:=0; end if holding<0 then begin 空止损:zs; if h>zs then sellshort(1,100%,MARKET); else if PK then sellshort(1,100%,MARKET); X:=0; end IF HOLDING=0 AND Y=0 AND KD THEN BEGIN BUY(1,1,MARKET); ZS:=ENTERPRICE-2*M; Y:=1; END IF HOLDING=0 AND X=0 AND KK THEN BEGIN BUYSHORT(1,1,MARKET); ZS:=ENTERPRICE+2*M; X:=1; END IF Y=1 THEN BEGIN 加多1:BUY(ENTERPRICE+4*M,1,MARKET); Y:=2; END IF Y=2 THEN BEGIN 加多2:BUY(ENTERPRICE+4*M,1,MARKET); Y:=2; END IF Y=2 THEN BEGIN 加多3:BUY(ENTERPRICE+4*M,1,MARKET); Y:=3; ZS:=h-3*M; END IF X=1 THEN BEGIN 加空1:BUYSHORT(ENTERPRICE-4*M,1,MARKET); X:=2; END IF X=2 THEN BEGIN 加空2:BUYSHORT(ENTERPRICE-4*M,1,MARKET); X:=2; END IF X=2 THEN BEGIN 加空3:BUYSHORT(ENTERPRICE-4*M,1,MARKET); X:=3; ZS:=l+3*M; END DQCC:HOLDING,COLORGRAY,LINETHICK0; DQZC:ASSET,NOAXIS,COLORGRAY; [此贴子已经被作者于2016-8-16 14:58:50编辑过]
|
-- 作者:jinzhe -- 发布时间:2016/8/16 15:16:26 -- 你看下软件自带的海龟,就是会在一根k线上加个3次仓 |