以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- [求助]有时候会出错 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=75692) |
-- 作者:xiaosa2003 -- 发布时间:2015/2/16 17:39:32 -- [求助]有时候会出错 INPUT:N(1,1,100,1),K(0.8,0.1,1,0.1),NMIN(10,1,100,1),SS(0.5,0.1,1,0.1); variable:a=0; CYC:=BARSLAST(DATE<>REF(DATE,1))+1; 昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1); 昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1); 昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1); 开盘价:=VALUEWHEN(CYC=1,OPEN); HH:=HHV(昨高,N);//N日HIGH的最高价 HC:=HHV(昨收,N);//N日CLOSE的最高价 LC:=LLV(昨收,N);//N日CLOSE的最低价 LL:=LLV(昨低,N);//N日LOW的最低价 浮动区间:=MAX(HH-LL,HC-LL);//RANGE 上轨:开盘价+K*浮动区间; 下轨:开盘价-K*浮动区间; T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100; T2:=TIME>185800; 手数:=asset*ss/k/浮动区间/MULTIPLIER; //交易条件 开多条件:=c>上轨 AND HOLDING=0; 开空条件:=c<下轨 AND HOLDING=0; 止损平多条件:=l<开盘价 and HOLDING>0; 止损平空条件:=h>开盘价 and HOLDING<0; //交易系统 if 开多条件 and a<=2 then begin BUY(开多条件 AND T1 AND CYC>1,手数,LIMITr,上轨+MINDIFF); a:=a+1; end; if 开空条件 and a<=2 then begin BUYSHORT(开空条件 AND T1 AND CYC>1,手数,LIMITr,下轨-MINDIFF); a:=a+1; end; if time=closetime(0) then a:=0; 止损平多:sell(止损平多条件,0,LIMITR,开盘价-MINDIFF); 止损平空:SELLSHORT(止损平空条件,0,LIMITR,开盘价+MINDIFF); 收盘平多:SELL(T2,0,MARKET); 收盘平空:SELLSHORT(T2,0,MARKET); 涨停平多:sell(c=DYNAINFO(54),0,LIMITr,DYNAINFO(54)); 跌停平空:SELLSHORT(c=DYNAINFO(55),0,limitr,DYNAINFO(55)); 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值
[此贴子已经被作者于2015/2/16 17:39:57编辑过]
|
-- 作者:xiaosa2003 -- 发布时间:2015/2/16 18:24:03 -- 上面的参数错了,是这个 INPUT:N(1,1,100,1),K(0.3,0.1,1,0.1),NMIN(10,1,100,1),SS(0.1,0.1,1,0.1); variable:a=0; CYC:=BARSLAST(DATE<>REF(DATE,1))+1; 昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1); 昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1); 昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1); 开盘价:=VALUEWHEN(CYC=1,OPEN); HH:=HHV(昨高,N);//N日HIGH的最高价 HC:=HHV(昨收,N);//N日CLOSE的最高价 LC:=LLV(昨收,N);//N日CLOSE的最低价 LL:=LLV(昨低,N);//N日LOW的最低价 浮动区间:=MAX(HH-LL,HC-LL);//RANGE 上轨:开盘价+K*浮动区间; 下轨:开盘价-K*浮动区间; T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100; T2:=TIME>185800; 手数:=asset*ss/k/浮动区间/MULTIPLIER; //交易条件 开多条件:=c>上轨 AND HOLDING=0; 开空条件:=c<下轨 AND HOLDING=0; 止损平多条件:=l<开盘价 and HOLDING>0; 止损平空条件:=h>开盘价 and HOLDING<0; //交易系统 if 开多条件 and a<=2 then begin BUY(开多条件 AND T1 AND CYC>1,手数,LIMITr,上轨+MINDIFF); a:=a+1; end; if 开空条件 and a<=2 then begin BUYSHORT(开空条件 AND T1 AND CYC>1,手数,LIMITr,下轨-MINDIFF); a:=a+1; end; if time=closetime(0) then a:=0; 止损平多:sell(止损平多条件,0,LIMITR,开盘价-MINDIFF); 止损平空:SELLSHORT(止损平空条件,0,LIMITR,开盘价+MINDIFF); 收盘平多:SELL(T2,0,MARKET); 收盘平空:SELLSHORT(T2,0,MARKET); 涨停平多:sell(c=DYNAINFO(54),0,LIMITr,DYNAINFO(54)); 跌停平空:SELLSHORT(c=DYNAINFO(55),0,limitr,DYNAINFO(55)); 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值 [此贴子已经被作者于2015/2/16 18:24:49编辑过]
|
-- 作者:xiaosa2003 -- 发布时间:2015/2/16 18:28:58 -- 我找到问题了,不用管我了 |