请确认你的BUY指令有没有改到TBUY
如果你搞不懂后台自动交易的原理,那么请你使用金字塔的前台图表自动交易
ZB:=SUM( BUYVOL(),5);
ZS:= SUM( SELLVOL(),5);
BPK := CLOSE > OPEN AND CROSS(ZB,ZS);
SPK := CLOSE < OPEN AND CROSS(ZS,ZB);
//对于后台交易模型,可用下面4句代替
SELLSHORT(BPK and HOLDING<0,HOLDING,market); //交易系统之平空操作
BUY(BPK and HOLDING=0,30%,market);//交易系统之开多操作
SELL(SPK and HOLDING>0,HOLDING,market); //交易系统之平多操作
BUYSHORT(SPK and HOLDING=0,30%,market); //交易系统之开空操作
ZB:=SUM( BUYVOL(),5);
ZS:= SUM( SELLVOL(),5);
BPK := CLOSE > OPEN AND CROSS(ZB,ZS);
SPK := CLOSE < OPEN AND CROSS(ZS,ZB);
//对于后台交易模型,可用下面4句代替
TSELLSHORT(BPK and THOLDING<0,THOLDING,MKT); //交易系统之平空操作
TBUY(BPK and THOLDING=0,2,MKT);//交易系统之开多操作
TSELL(SPK and THOLDING>0,THOLDING,MKT); //交易系统之平多操作
TBUYSHORT(SPK and THOLDING=0,2,MKT); //交易系统之开空操作
金字塔有关程式化交易的教程
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=124
经过试验,这样可以了。上面不行的例子模型。我是从教材搬来的。可见有的教材也存在错误,希望快点改正,
经过试验,这样可以了。上面不行的例子模型。我是从教材搬来的。可见有的教材也存在错误,希望快点改正,
教程没错,那是告诉你那个是做程式化测试的代码,实盘交易需要改动的,请将整个金字塔教程看完后再下定论
利用STICKLINE 里的条件W1,再加上交易指令即可改写为交易模型
修改为交易模型如下:
HH1:=IF(H<REF(H,2) AND REF(H,1)<REF(H,2),REF(H,2),0);
LL1:=IF(L>REF(L,2) AND REF(L,1)>REF(L,2),REF(L,2),0);
HH2:=VALUEWHEN(HH1>0,HH1);
LL2:=VALUEWHEN(LL1>0,LL1);
K1:=IF(CLOSE>HH2,-3,IF(CLOSE<LL2,1,0));
K2:=VALUEWHEN(K1<>0,K1);
G:=IF(K2=1,HH2,LL2);
G1:=VALUEWHEN(ISLASTBAR,G);
W1:=K2;
W2:=OPEN-CLOSE;
{开多} ENTERLONG: CROSS(W1,0) OR (CROSS(W2,0) AND CROSS(W1,0)),TFILTER;
{平多} EXITLONG: CROSS(0,W1) OR (CROSS(W2,0) AND CROSS(0,W1)),TFILTER;
{开空} ENTERSHORT: CROSS(0,W1) OR (CROSS(W2,0) AND CROSS(0,W1)),TFILTER;
{平空} EXITSHORT: CROSS(W1,0) OR (CROSS(W2,0) AND CROSS(W1,0)),TFILTER;
图表交易模型就完成了,其仓位控制在第5页图中设置
买卖方向相反,请检查。
从你上面的代码可以看出,你就是要在上涨转换到下跌时买入多头,空头相反。
在上涨过程中,W1=K2=-3;
在下跌过程中,W1=K2=1;
当CROSS(W1,0)时,W1由-3上穿0等于1,就是上涨转换到下跌的时候,你在这时使用的是开多指令。