如题,麻烦帮我看一下问题出在哪里,谢谢!!!!!!!
代码如下:
INPUT : t20( 20 , 15 , 60 , 1 ) ;
INPUT : t10( 10 , 10 , 30 , 1 ) ;
INPUT : atrLen( 20 , 15 , 60 , 1 ) ;
nT := 1 ;
buyOrderThisBar := 0 ;
VARIABLE : _debug := 1 ;
VARIABLE : _tDebug := 1 ;
VARIABLE : _debugOut := 0 ;
VARIABLE : myEntryPrice := 0 ;
VARIABLE : myExitPrice := 0 ;
VARIABLE : turtleUnits := 0 ;
VARIABLE : position := 0 ;
VARIABLE : posNum := 0 ;
VARIABLE : t20H := CLOSE ;
VARIABLE : t20L := CLOSE ;
VARIABLE : t10H := CLOSE ;
VARIABLE : t10L := CLOSE ;
VARIABLE : onePercentAssest := Asset * 0.01 ;
t20H := REF( HHV( H , t20 ) , 1 ) ;
t20L := REF( LLV( H , t20 ) , 1 ) ;
t10H := REF( HHV( H , t10 ) , 1 ) ;
t10L := REF( LLV( H , t10 ) , 1 ) ;
avgTR := REF( MA( TR , atrLen ) , 1 ) ;
IF BARPOS = 1 THEN BEGIN
position = 0 ;
END
IF position = 0 AND BARPOS > t20 AND H > L THEN BEGIN
LONG := H > t20H ;
SHORT := L < t20L ;
IF (LONG AND SHORT) THEN BEGIN
END
ELSE BEGIN
IF LONG THEN BEGIN
myEntryPrice := IF( OPEN > t20H + MINDIFF , OPEN , t20H + MINDIFF ) ;
posNum := FLOOR( onePercentAssest / avgTR ) ;
N := avgTR ;
BUY( _debug , posNum , LIMITR , myEntryPrice ) ;
position := 1 ;
turtleUnits := 1 ;
buyOrderThisBar := 1 ;
END
IF SHORT THEN BEGIN
myEntryPrice := IF( OPEN < t20L - MINDIFF , OPEN , t20L - MINDIFF ) ;
posNum := FLOOR( onePercentAssest / avgTR ) ;
N := avgTR ;
BUYSHORT( _debug , posNum , LIMITR , myEntryPrice ) ;
position := -1 ;
turtleUnits := 1 ;
buyOrderThisBar := 1 ;
END
END
END
IF position = 1 AND BARPOS > t20 AND H > L THEN BEGIN
WHILE ( H > myEntryPrice + 0.5 * N ) AND ( turtleUnits < 4 ) DO BEGIN // 加仓
myEntryPrice := IF( OPEN > myEntryPrice + 0.5 * N , OPEN , myEntryPrice + 0.5 * N ) ;
myEntryPrice := CEILING( myEntryPrice / MINDIFF ) * MINDIFF ;
posNum := FLOOR( onePercentAssest / N ) ;
BUY( _debug , posNum , LIMITR , myEntryPrice ) ;
turtleUnits := turtleUnits + 1 ;
buyOrderThisBar := 1 ;
END
LONGEXIT1 := LOW < t10L ;
IF LONGEXIT1 AND buyOrderThisBar = 0 THEN BEGIN
myExitPrice := IF( OPEN < t10L - MINDIFF , OPEN , t10L - MINDIFF ) ;
SELL( _debug , 0 , LIMITR , myExitPrice ) ;
position := 0 ;
turtleUnits := 0 ;
END
LONGEXIT2 := LOW < myEntryPrice - 2 * N ;
IF LONGEXIT2 AND POSITION = 1 AND buyOrderThisBar = 0 THEN BEGIN
myExitPrice := IF( OPEN < myEntryPrice - 2 * N , OPEN , myEntryPrice - 2 * N ) ;
myExitPrice := FLOOR( myExitPrice / MINDIFF ) * MINDIFF ;
SELL( _debug , 0 , LIMITR , myExitPrice ) ;
position := 0 ;
turtleUnits := 0 ;
END
END
ELSE
IF position = -1 AND BARPOS > t20 AND H > L THEN BEGIN
WHILE LOW < myEntryPrice - 0.5 * N AND BARPOS > t20 AND H > L DO BEGIN
myEntryPrice := IF( OPEN < myEntryPrice - 0.5 * N , OPEN , myEntryPrice - 0.5 * N ) ;
myEntryPrice := FLOOR( MYENTRYPRICE / MINDIFF ) * MINDIFF ;
posNum := FLOOR( onePercentAssest / N ) ;
BUYSHORT( _debug , posNum , LIMITR , myEntryPrice ) ;
turtleUnits := turtleUnits + 1 ;
buyOrderThisBar := 1 ;
END
SHORTEXIT1 := HIGH > t10H ;
IF SHORTEXIT1 AND buyOrderThisBar = 0 THEN BEGIN
myExitPrice := IF( OPEN > t10H + MINDIFF , OPEN , t10H + MINDIFF ) ;
SELLSHORT( _debug , 0 , LIMITR , myExitPrice ) ;
postiion := 0 ;
turtleUnits := 0 ;
END
SHORTEXIT2 := HIGH > myEntryPrice + 2 * N ;
IF SHORTEXIT2 AND position = -1 AND buyOrderThisBar = 0 THEN BEGIN
myExitPrice := IF( OPEN > myEntryPrice + 2 * N , OPEN , myEntryPrice + 2 * N ) ;
myEntryPrice := CEILING( myEntryPrice / MINDIFF ) * MINDIFF ;
SELLSHORT( _debug , 0 , LIMITR , myExitPrice ) ;
position := 0 ;
turtleUnits := 0 ;
END
END
CONTINUELINE@
资产 : ASSET , LINETHICK0 ;
可用现金 : CASH(0) , LINETHICK0 ;
持仓量 : HOLDING , LINETHICK0 ;
交易次数 : TOTALDAYTRADE , LINETHICK0 ;
IF _DEBUGOUT>0 THEN BEGIN
DEBUGFILE2('C:\DEBUGFILE.TXT','BARPOS=%.0F' ,BARPOS,NT ) ;
DEBUGFILE2('C:\DEBUGFILE.TXT','T20HI=%.2F' ,T20HI ,NT) ;
DEBUGFILE2('C:\DEBUGFILE.TXT','N=%.2F' ,N ,NT) ;
DEBUGFILE2('C:\DEBUGFILE.TXT','CLOSE=%.2F' ,C ,NT) ;
DEBUGFILE2('C:\DEBUGFILE.TXT','POSITION=%.0F' ,POSITION,NT ) ;
DEBUGFILE2('C:\DEBUGFILE.TXT','TURTLEUNITS=%.0F' ,TURTLEUNITS,NT ) ;
DEBUGFILE2('C:\DEBUGFILE.TXT','MYENTRYPRICE=%.0F' ,MYENTRYPRICE ,NT) ;
DEBUGFILE2('C:\DEBUGFILE.TXT','MYEXITPRICE=%.0F' ,MYEXITPRICE ,NT) ;
END //IF
当前持仓 : HOLDING , COLORGRAY , LINETHICK0 ;
当前资产 : ASSET , NOAXIS , COLORGRAY ;