提示begin語句后缺少end [金字塔]
- 咨詢內容:
H0 := HHV(H,ENTERBARS);
IF POSITION=1 AND BARPOS>T20 AND H>L THEN BEGIN //多頭加倉條件 WHILE (HIGH>MYENTRYPRICE+0.5*N) AND TURTLEUNITS<1 DO BEGIN MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ; MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ; BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE); TURTLEUNITS := TURTLEUNITS+1 ; BUYORDERTHISBAR := 1;
END //WHILE //建立多頭離場條件1.1 H1 := H0-AVGENTERPRICE;//H1表示多頭最大浮動盈利 H2 := H0;//H2表示多頭最高價 LONGX1.1 := (H1 <3*R AND H1 >=2*R); //------------------------此句提示begin語句后缺少end IF LONGX1.1 AND BUYORDERTHISBAR=0 THEN BEGIN MYEXITPRICE := IF(OPEN<(H2-0.3*H1)-MINDIFF ,OPEN ,(H2-0.3*H1)-MINDIFF ) ; MYEXITPRICE := CEILING(MYEXITPRICE/MINDIFF)*MINDIFF ; SELL( _DEBUG ,0,LIMITR,MYEXITPRICE); POSITION := 0 ; TURTLEUNITS := 0 ; END
//建立多頭止損條件 LONGX2 := (LOW<MYENTRYPRICE-2*N) ;
IF LONGX2 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
在編輯測試時,總是提示begin語句后缺少end,不知問題出在哪里,請金字塔老師解答,謝謝。 - 金字塔客服:
在這段代碼最后加end
- 用戶回復:
//開始執行時 初始化數據IF BARPOS=1 THEN BEGIN
//POSITION := 0 ;
END //IF
//如果當前是沒有持倉的狀態IF POSITION=0 AND BARPOS>T20 AND H>L THEN BEGIN
//建立多頭進場條件 LONG := H > T20HI ; //多頭進場 IF LONG THEN BEGIN MYENTRYPRICE := IF(OPEN>T20HI+MINDIFF ,OPEN ,T20HI+MINDIFF ) ; BUY( _DEBUG,POSNUM,LIMITR,MYENTRYPRICE); POSITION := 1 ; TURTLEUNITS := 1 ; N := AVGTR ; //*********** BUYORDERTHISBAR := 1;
END //IF
//建立空頭進場條件 SHORT := L < T20LO ; //空頭進場 IF SHORT AND POSITION=0 THEN BEGIN MYENTRYPRICE := IF(OPEN<T20LO-MINDIFF ,OPEN ,T20LO-MINDIFF ) ; BUYSHORT( _DEBUG,POSNUM,LIMITR,MYENTRYPRICE); POSITION := -1 ; TURTLEUNITS := 1 ; N := AVGTR ; BUYORDERTHISBAR := 1;
END //不要跳轉,讓程序檢查同一根K線是否可以加倉 //GOTO CONTINUELINE ; END //IF
//如果當前持有多頭倉位的狀態
H0 := HHV(H,ENTERBARS);
IF POSITION=1 AND BARPOS>T20 AND H>L THEN BEGIN //多頭加倉條件 WHILE (HIGH>MYENTRYPRICE+0.5*N) AND TURTLEUNITS<1 DO BEGIN MYENTRYPRICE := IF(OPEN>MYENTRYPRICE+0.5*N ,OPEN ,MYENTRYPRICE+0.5*N ) ; MYENTRYPRICE := CEILING(MYENTRYPRICE/MINDIFF)*MINDIFF ; BUY( _DEBUG, POSNUM, LIMITR, MYENTRYPRICE); TURTLEUNITS := TURTLEUNITS+1 ; BUYORDERTHISBAR := 1;
END //WHILE //建立多頭離場條件1.1*********** H1 := H0-AVGENTERPRICE;//H1表示多頭最大浮動盈利 H2 := H0;//H2表示多頭最高價 LONGX1.1 := (H1 <3*R AND H1 >=2*R); IF LONGX1.1 AND BUYORDERTHISBAR=0 THEN BEGIN MYEXITPRICE := IF(OPEN<(H2-0.3*H1)-MINDIFF ,OPEN ,(H2-0.3*H1)-MINDIFF ) ; MYEXITPRICE := CEILING(MYEXITPRICE/MINDIFF)*MINDIFF ; SELL( _DEBUG ,0,LIMITR,MYEXITPRICE); POSITION := 0 ; TURTLEUNITS := 0 ; END //建立多頭離場條件1.2*********** LONGX1.2 := (H1 <4*R AND H1>=3*R) ; IF LONGX1.2 AND BUYORDERTHISBAR=0 THEN BEGIN MYEXITPRICE := IF(OPEN<(H2-0.2*H1)-MINDIFF ,OPEN ,(H2-0.2*H1)-MINDIFF ) ; MYEXITPRICE := CEILING(MYEXITPRICE/MINDIFF)*MINDIFF ; SELL( _DEBUG ,0,LIMITR,MYEXITPRICE); POSITION := 0 ; TURTLEUNITS := 0 ; END //建立多頭離場條件1.3*********** LONGX1.3 := (H1>=4*R) ; IF LONGX1.3 AND BUYORDERTHISBAR=0 THEN BEGIN MYEXITPRICE := IF(OPEN<(H2-0.1*H1)-MINDIFF ,OPEN ,(H2-0.1*H1)-MINDIFF ) ; MYEXITPRICE := CEILING(MYEXITPRICE/MINDIFF)*MINDIFF ; SELL( _DEBUG ,0,LIMITR,MYEXITPRICE); POSITION := 0 ; TURTLEUNITS := 0 ; END //建立多頭止損條件 LONGX2 := (LOW<MYENTRYPRICE-2*N) ;
IF LONGX2 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
GOTO CONTINUELINE ;
END//IF
這是整段代碼,仍然提示begin語句后缺少end,您看怎么解決,謝謝。 - 網友回復:
這段代碼還會有這個提示?
- 網友回復: 是的,不知問題出在哪里?
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容