-- 作者:zjzer
-- 发布时间:2012/7/4 13:36:45
-- 我的交易系统为何在同一天发出买入和卖出信号?
我测试百润股份时,20120702为何同时有"开4"和“平多”信号出现?(改过的海龟系统)
1,前边为什么有两个“开1“?
2,程序中的sellsign,dayCoun,PositionCount,EntAndExitSign,EntPoint,ExitPoint这些变量是程序特定的名词吗?
3,程序中没有”平多“二字,在K线图上,为什么会出现"平多"二字
以下是代码:
VARIABLE:dayCount=1,PositionCount=1,SellSign=0; VARIABLE:EntAndExitSign=1,EntPoint=0,ExitPoint=0; VARIABLE:N=0;
MA1:MA(C,18); MA3:MA(C,18);
CCI:="CCI"(14); M:=MA(TR,20); BUYHHV:=cci>0; SELLLLV:=cross(-100,cci); aa:=PositionCount=1 and cross(c,ma(c,18)) and ma(c,18)>ref(ma(c,18),1); bb:=PositionCount=1 and c>ma(c,18) and cci>0 and ma(c,18)>ref(ma(c,18),1);
ss:n,linethick0;
IF BARPOS>=21 THEN BEGIN IF BARPOS=21 THEN N:=M; IF DayCount=6 OR BARPOS=21 THEN BEGIN{5天调整N值} N:=(19*N+TR)/20;{计算N值} DayCount:=2; END DayCount:=DayCount+1; EntPoint:=ENTERBARS+1; IF EntPoint=EntAndExitSign THEN BEGIN{说明STOP指令买进头寸成功} PositionCount:=PositionCount+1;{头寸计数} SellSign:=True;{开始以STOP卖出,如果达到指定的价格} END IF aa or bb THEN BEGIN{第一头寸} HOW:=CASH(0)*0.001/N;{波动性百分比决定头寸规模} 开1:BUY(BUYHHV,HOW,MARKET);{在20日新高STOP指令买进} END IF PositionCount=2 THEN BEGIN{如到第二头寸} HOW:=CASH(0)*0.011/N;{波动性百分比决定头寸规模} 开2:BUY(h>=ENTERPRICE+0.5*N,HOW,MARKET);{在上头寸(即第一头寸)+0.5个N以STOP指令买进} END IF PositionCount=3 THEN BEGIN{如到第三头寸} HOW:=CASH(0)*0.029/N; 开3:BUY(h>=ENTERPRICE+0.5*N,HOW,MARKET);{在上头寸(即第二头寸)+0.5个N以STOP指令买进} END IF PositionCount=4 THEN BEGIN HOW:=CASH(0)*0.034/N; 开4:BUY(h>=ENTERPRICE+0.5*N,HOW,MARKET); END IF SellSign=True THEN BEGIN ExitPoint:=EXITBARS+1; IF ExitPoint=EntAndExitSign THEN BEGIN {说明卖出成功} PositionCount:=1;{头寸计算复原} SellSign:=False; END IF c>ENTERPRICE-1.5*N then SELL(SELLLLV,100%,MARKET);{退出离盈利头寸} ELSE SELL(c<=ENTERPRICE-1.5*N,100%,MARKET);{退出亏损头寸} END END;

|