以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请问版主如下这个模型如何修改平仓时间? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=62590) |
-- 作者:joy_in -- 发布时间:2014/3/12 10:27:39 -- 请问版主如下这个模型如何修改平仓时间? 注:我想把平仓时间订在14:59,请教如何在编码中进行改动?多谢! INPUT:N(1,1,100,1),K1(0.7,0.1,1,0.1),K2(0.7,0.1,1,0.1),NMIN(10,1,100,1),SS(1,1,10000,1); 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 上轨:开盘价+K1*浮动区间; 下轨:开盘价-K2*浮动区间; T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100; T2:=TIME>=CLOSETIME(0)-NMIN*100; 手数:=SS; //交易条件 开多条件:=C>上轨 AND HOLDING=0; 开空条件:=C<下轨 AND HOLDING=0; //交易系统 开多:BUY(开多条件 AND T1 AND CYC>1,手数,MARKET); 开空:BUYSHORT(开空条件 AND T1 AND CYC>1,手数,MARKET); 收盘平多:SELL(T2,手数,MARKETr); 收盘平空:SELLSHORT(T2,手数,MARKETr);
|
-- 作者:jinzhe -- 发布时间:2014/3/12 10:33:37 -- 收盘平多:SELL(T2,手数,MARKETr);
收盘平空:SELLSHORT(T2,手数,MARKETr);
最后这两句改成
if time>=145900 then begin sell(1,手数,market); sellshort(1,手数,market); end |
-- 作者:joy_in -- 发布时间:2014/3/12 11:02:30 -- 多谢!您的修改对于商品期货是适用的,可是对于股指这个品种来说,由于它收盘时间会延长15分钟,因此在日内的15点之后还会出现频繁的开平仓信号,请见下图: |
-- 作者:jinzhe -- 发布时间:2014/3/12 11:05:13 -- 那么你想在股指里面怎么改? |
-- 作者:joy_in -- 发布时间:2014/3/12 11:07:21 -- 股指在14:59平仓,当日平仓后不再有开仓。 |
-- 作者:jinzhe -- 发布时间:2014/3/12 11:15:15 -- T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100;
改成
t1:=time>opentime(1) and time<145900;
商品和股指的收盘时间不同,不能通用,要做对应修改
|
-- 作者:joy_in -- 发布时间:2014/3/12 11:20:05 -- 知道了,多谢! |