此模型是股指后台自动交易模型,仅供学习交流!(申请加精,给金币噢!)
input:P(26,20,100,8);
input:S(12,5,40,4);
input:B1(26,5,300,30);
input:B2(2,0.1,10,1);
input:N2(10,1,120,12);
input:N3(20,1,200,20);
input:N4(60,1,200,20);
ma2:=ma(c,n2);
ma3:=ma(c,n3);
ma4:=ma(c,n4);
MID := MA(CLOSE,B1);
UPPER:= MID + B2*STD(CLOSE,B1);
LOWER:= MID - B2*STD(CLOSE,B1),colorred;
diff := EMA(CLOSE,S) - EMA(CLOSE,P);
variable:vmin = 091500;//用于隔夜高开或低开时间差
if (abs(o-ref(c,1))>=20*MINDIFF AND time>090000 and time<090400) then vmin := 093000;
//开多仓条件:
BOPEON:=c>upper and diff>0 and c>o and c>ma4 AND THOLDING=0 AND time>vmin AND time<150000;
//平多仓条件:
bline:=IF(THOLDING>0,HHV(HIGH,TTYPEBAR(1,1))-110*mindiff,l-110*mindiff);//多单移动止损线
//PARTLINE(THOLDING>0, bline, colorrgb(255,0,0)); 这个在后台不显示
BLIQCON:= (THOLDING>0 and cross(ma3,ma2)) or (THOLDING>0 and bline>c);
//开空仓条件:
SOPCON:=c<lower and diff<0 and c<o and c<ma4 AND THOLDING=0 AND time>vmin AND time<150000;
//平空仓条件:
sline:=IF(THOLDING<0,LLV(LOW,TTYPEBAR(1,3))+110*mindiff,h+110*mindiff);//空单移动止损线
//PARTLINE(THOLDING<0, sline, colorrgb(0,255,0)); 这个在后台不显示
SLIQCON:= (THOLDING<0 and cross(ma2,ma3)) or (THOLDING<0 and sline<c);
tsellshort(SLIQCON,THOLDING,LMT,C);
tbuy(BOPEON,1,LMT,C);
tsell(BLIQCON,THOLDING,LMT,C);
tbuyshort(SOPCON,1,LMT,C);
//收盘前平仓
tsell(time>151100 and THOLDING>0,THOLDING,LMT,C-MINDIFF*2);
tsellshort(time>151100 and THOLDING<0,THOLDING,LMT,C+MINDIFF*2);
图表版的自动交易参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=2805
谢谢老师的模型。
我不想一直用110个最小变动价位当止损。
我想用昨日收盘价*0.5%的值怎么写?
priorclose:=VALUEWHEN(DATE<>REF(DATE,1),REF(CLOSE,1));
m:=priorclose*0.5%;
然后
bline:=IF(THOLDING>0,HHV(HIGH,TTYPEBAR(1,1))-m*mindiff,l-m*mindiff);//多单移动止损线
这么写行不?