以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 【新手上路】报错说缺少分号,我逐行检查过了,每一行都有,想问一下是什么情况 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=154728) |
-- 作者:QuantMe -- 发布时间:2017/6/5 10:49:51 -- 【新手上路】报错说缺少分号,我逐行检查过了,每一行都有,想问一下是什么情况 如题,麻烦帮我看一下问题出在哪里,谢谢!!!!!!! 代码如下: 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 |
-- 作者:QuantMe -- 发布时间:2017/6/5 10:51:08 -- 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 ; |
-- 作者:pyd -- 发布时间:2017/6/5 12:48:47 -- 这个的问题吧 |
-- 作者:QuantMe -- 发布时间:2017/6/5 13:02:59 -- 哦哦哦,原来是这样! 我第一次用不太理解这个label,以为放在这里也没有关系。 谢谢啦!! ![]() ![]() ![]() ![]() |