Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:请问版主如下这个模型如何修改平仓时间?

1楼
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);
2楼
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

3楼
joy_in 发表于:2014/3/12 11:02:30
多谢!您的修改对于商品期货是适用的,可是对于股指这个品种来说,由于它收盘时间会延长15分钟,因此在日内的15点之后还会出现频繁的开平仓信号,请见下图:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140312105704.png
图片点击可在新窗口打开查看
那么对于股指来说,我想让其在14:59之后不要再开仓了,上面的策略怎样修改呢?
4楼
jinzhe 发表于:2014/3/12 11:05:13

那么你想在股指里面怎么改?

5楼
joy_in 发表于:2014/3/12 11:07:21
股指在14:59平仓,当日平仓后不再有开仓。
6楼
jinzhe 发表于:2014/3/12 11:15:15
T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100;
 
改成
t1:=time>opentime(1) and time<145900;
 
商品和股指的收盘时间不同,不能通用,要做对应修改
7楼
joy_in 发表于:2014/3/12 11:20:05
知道了,多谢!
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03320 s, 3 queries.