您現在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識>>正文內容

我完全沒有改動過, 為什么軟件里的02.雙向海龜交易系統-后臺 這個策略輸出的 debugfile.txt 有錯誤? [金字塔]

  • 咨詢內容: 我完全沒有改動過, 為什么軟件里的02.雙向海龜交易系統-后臺 這個策略輸出的 debugfile.txt 有錯誤? 看附件

    ?

  • 金字塔客服: 請表述清楚。具體什么問題

    ?

    ?來源:程序化久久網( www.tumamayizhan.com )

  • 用戶回復: 你后臺交易系統模板里面有一個叫雙向海龜系統,? 不但.“STKLABEL”輸出字符串不能正常輸出, 而且輸出附件的“debugfile.txt”? 也是顯示有錯誤的, 請看附件

    ?

  • 網友回復:

    附件在哪?你直接把你修改后的代碼貼出來,我們看下。你是怎么輸出的。

    ?

    [此貼子已經被作者于2019/7/18 11:13:12編輯過]

    ?

  • 網友回復:

    //聲明參數
    INPUT : T20(20,15,60,1) ;????//進場的周期
    INPUT : T10(10,10,30,1);????//出場的周期
    INPUT : ATRLEN(20,15,30,1) ;
    INPUT : POSNUM(2,1,20,1) ;????//每次交易的手數

    //聲明變量
    BUYORDERTHISBAR := 0 ;??//當前BAR有過交易

    VARIABLE : _DEBUG = 1 ;?????//是否輸出前臺交易指令
    VARIABLE : _TDEBUG = 1 ;????//是否輸出后臺交易指令
    VARIABLE : _DEBUGOUT = 1 ;????//是否輸出后臺交易的調試信息


    VARIABLE : MYE***YPRICE =0 ;???//開倉價格
    VARIABLE : MYEXITPRICE =0 ;???//平倉價格

    VARIABLE : TURTLEUNITS=0 ;???//交易單位
    VARIABLE : POSITION=0 ;???//倉位狀態
    //0表示沒有倉位,1表示持有多頭, -1表示持有空頭

    VARIABLE : T20HI=CLOSE ;???//20周期的高點
    VARIABLE : T20LO=CLOSE ;???//20周期的低點

    VARIABLE : T10HI=CLOSE ;???//10周期的高點
    VARIABLE : T10LO=CLOSE ;???//10周期的低點

    //準備需要計算的變量
    T20HI := REF(HHV(H,T20),1) ;
    T20LO := REF(LLV(L,T20),1) ;

    T10HI := REF(HHV(H,T10),1) ;
    T10LO := REF(LLV(L,T10),1) ;

    ***GTR :=? REF(MA(TR,ATRLEN),1) ;

    //采用全局變量保存最后一根K線的計算狀態
    STRE***YBARPOS:STRCAT(STKLABEL,'E***YBARPOS') ;
    STREXITBARPOS:STRCAT(STKLABEL,'EXITBARPOS') ;
    STRPREE***YPRICE:STRCAT(STKLABEL,'PREE***YPRICE') ;
    STRTURTLEUNITS:STRCAT(STKLABEL,'TURTLEUNITS') ;
    STRPOSITION:STRCAT(STKLABEL,'POSITION') ;
    STRPREN:STRCAT(STKLABEL,'PREN') ;


    {IF NOT ( WORKMODE=1 ) THEN BEGIN
    ?DRAWTEXTEX(1 ,0 ,0 ,0 ,'提示:本公式僅用于后臺交易!'? ),COLORYELLOW ;
    ?EXIT ;
    END}

    //開始執行時 初始化數據
    //注意:第一個數據的BARPOS=1
    IF BARPOS=1 THEN BEGIN
    ?//POSITION := 0 ;

    END //IF

    //如果當前棒是最后一根K線,執行
    IF ISLASTBAR THEN BEGIN

    ?// 如果最后一根K線發生過出場信號,則那一根K線不再交易
    ?IF EXTGBDATA(STREXITBARPOS) = BARPOS THEN BEGIN
    ??GOTO CONTINUELINE ;
    ?END

    ?//恢復上一秒計算時保存的數據
    ?//如果記錄的進場BARPOS和當前的相等,說明上一個進場信號也是最后一根K線發出的。??
    ?IF EXTGBDATA(STRE***YBARPOS) = BARPOS THEN BEGIN
    ??MYE***YPRICE := EXTGBDATA(STRPREE***YPRICE) ;
    ??TURTLEUNITS := EXTGBDATA(STRTURTLEUNITS) ;
    ??POSITION := EXTGBDATA(STRPOSITION) ;
    ??N := EXTGBDATA(STRPREN) ;
    ?END
    ?
    ?//如果當前是沒有持倉的狀態
    ?IF POSITION=0 AND BARPOS>T20 AND H>L THEN BEGIN
    ?
    ??//建立多頭進場條件
    ??LONG := H > T20HI ;
    ??
    ??//多頭進場符合
    ??IF LONG THEN BEGIN
    ???MYE***YPRICE := IF(OPEN>T20HI+MINDIFF ,OPEN ,T20HI+MINDIFF ) ;???
    ???POSITION := 1 ;
    ???TURTLEUNITS := 1 ;
    ???N := ***GTR ;
    ?
    ???TBUY( _TDEBUG,POSNUM,LMT,H),ALLOWREPEAT ;

    ???EXTGBDATASET(STRE***YBARPOS,BARPOS ) ;
    ???EXTGBDATASET(STRPREE***YPRICE,MYE***YPRICE ) ;
    ???EXTGBDATASET(STRTURTLEUNITS,TURTLEUNITS ) ;
    ???EXTGBDATASET(STRPOSITION,POSITION ) ;
    ???EXTGBDATASET(STRPREN,N ) ;
    ?
    ??END //IF多頭進場符合
    ?
    ?
    ??//建立空頭進場條件
    ??SHORT := L < T20LO ;
    ??
    ??//空頭進場符合
    ??IF SHORT AND POSITION=0 THEN BEGIN???
    ???MYE***YPRICE := IF(OPEN<T20LO-MINDIFF ,OPEN ,T20LO-MINDIFF ) ;???
    ???POSITION := -1 ;
    ???TURTLEUNITS := 1 ;
    ???N := ***GTR ;
    ?
    ???TBUYSHORT( _TDEBUG,POSNUM,LMT,L),ALLOWREPEAT;

    ???EXTGBDATASET(STRE***YBARPOS,BARPOS ) ;
    ???EXTGBDATASET(STRPREE***YPRICE,MYE***YPRICE ) ;
    ???EXTGBDATASET(STRTURTLEUNITS,TURTLEUNITS ) ;
    ???EXTGBDATASET(STRPOSITION,POSITION ) ;
    ???EXTGBDATASET(STRPREN,N ) ;
    ?
    ??END //IF空頭進場符合
    ??
    ??GOTO CONTINUELINE ;
    ??
    ?END? //IF如果當前是沒有持倉的狀態


    ?//如果當前持有多頭倉位的狀態
    ?
    ?IF POSITION=1 AND BARPOS>T20 AND H>L THEN BEGIN
    ?
    ??//多頭加倉條件
    ??
    ??IF (HIGH>MYE***YPRICE+0.5*N) AND TURTLEUNITS<4 THEN BEGIN
    ???MYE***YPRICE := IF(OPEN>MYE***YPRICE+0.5*N ,OPEN ,MYE***YPRICE+0.5*N ) ;
    ???MYE***YPRICE := CEILING(MYE***YPRICE/MINDIFF)*MINDIFF ;?
    ???TURTLEUNITS := TURTLEUNITS+1 ;
    ?
    ???TBUY( _TDEBUG,POSNUM,LMT,H),ALLOWREPEAT ;

    ???EXTGBDATASET(STRE***YBARPOS,BARPOS ) ;
    ???EXTGBDATASET(STRPREE***YPRICE,MYE***YPRICE ) ;
    ???EXTGBDATASET(STRTURTLEUNITS,TURTLEUNITS ) ;
    ???EXTGBDATASET(STRPOSITION,POSITION ) ;
    ?
    ??END //IF多頭加倉條件?
    ??
    ??//建立多頭離場條件
    ??LONGX1 := (LOW < T10LO)? ;
    ??
    ??IF LONGX1 AND EXTGBDATA(STRE***YBARPOS)<>BARPOS AND EXTGBDATA(STREXITBARPOS)<>BARPOS THEN BEGIN
    ???MYEXITPRICE := IF(OPEN<T10LO-MINDIFF ,OPEN ,T10LO-MINDIFF ) ;???
    ???POSITION := 0 ;
    ???TURTLEUNITS := 0 ;
    ???
    ???TSELL( _TDEBUG ,0,LMT,L),ALLOWREPEAT;
    ???
    ???EXTGBDATASET(STREXITBARPOS,BARPOS ) ;
    ???EXTGBDATASET(STRTURTLEUNITS,TURTLEUNITS ) ;
    ???EXTGBDATASET(STRPOSITION,POSITION ) ;

    ??END
    ?
    ??//建立多頭止損條件
    ??LONGX2 := (LOW<MYE***YPRICE-2*N)? ;
    ?
    ??IF LONGX2 AND POSITION=1 AND EXTGBDATA(STRE***YBARPOS)<>BARPOS AND EXTGBDATA(STREXITBARPOS)<>BARPOS THEN BEGIN
    ???MYEXITPRICE := IF(OPEN<MYE***YPRICE-2*N ,OPEN ,MYE***YPRICE-2*N ) ;??
    ???MYEXITPRICE := FLOOR(MYEXITPRICE/MINDIFF)*MINDIFF ;?
    ???POSITION := 0 ;
    ???TURTLEUNITS := 0 ;

    ???TSELL( _TDEBUG ,0,LMT,L),ALLOWREPEAT;
    ???
    ???EXTGBDATASET(STREXITBARPOS,BARPOS ) ;
    ???EXTGBDATASET(STRTURTLEUNITS,TURTLEUNITS ) ;
    ???EXTGBDATASET(STRPOSITION,POSITION ) ;

    ??END
    ?
    ??GOTO CONTINUELINE ;
    ?
    ?END? //IF如果當前持有多頭倉位的狀態

    ?//如果當前持有空頭倉位的狀態
    ?
    ?IF POSITION = -1 AND BARPOS>T20 AND H>L THEN BEGIN
    ?
    ??//空頭加倉條件

    ??IF (LOW<MYE***YPRICE-0.5*N) AND TURTLEUNITS<4 THEN BEGIN
    ???MYE***YPRICE := IF(OPEN<MYE***YPRICE-0.5*N ,OPEN ,MYE***YPRICE-0.5*N ) ;???
    ???MYE***YPRICE := FLOOR(MYE***YPRICE/MINDIFF)*MINDIFF ;?
    ???TURTLEUNITS := TURTLEUNITS+1 ;

    ???TBUYSHORT( _TDEBUG,POSNUM,LMT,L),ALLOWREPEAT;

    ???EXTGBDATASET(STRE***YBARPOS,BARPOS ) ;
    ???EXTGBDATASET(STRPREE***YPRICE,MYE***YPRICE ) ;
    ???EXTGBDATASET(STRTURTLEUNITS,TURTLEUNITS ) ;
    ???EXTGBDATASET(STRPOSITION,POSITION ) ;

    ??END //IF空頭加倉條件?
    ?
    ??//建立空頭離場條件
    ??SHORTX1 := H > T10HI? ;
    ?
    ??IF SHORTX1 AND EXTGBDATA(STRE***YBARPOS)<>BARPOS AND EXTGBDATA(STREXITBARPOS)<>BARPOS THEN BEGIN
    ???MYEXITPRICE := IF(OPEN>T10HI+MINDIFF ,OPEN ,T10HI+MINDIFF ) ;???
    ???POSITION := 0 ;
    ???TURTLEUNITS := 0 ;

    ???TSELLSHORT( _TDEBUG,0,LMT,H),ALLOWREPEAT;
    ???
    ???EXTGBDATASET(STREXITBARPOS,BARPOS ) ;
    ???EXTGBDATASET(STRTURTLEUNITS,TURTLEUNITS ) ;
    ???EXTGBDATASET(STRPOSITION,POSITION ) ;

    ??END
    ?
    ??//建立空頭止損條件
    ??SHORTX2 := HIGH > MYE***YPRICE + 2*N? ;
    ?
    ??IF SHORTX2 AND POSITION = -1 AND EXTGBDATA(STRE***YBARPOS)<>BARPOS AND EXTGBDATA(STREXITBARPOS)<>BARPOS THEN BEGIN
    ???MYEXITPRICE := IF(OPEN>MYE***YPRICE+2*N ,OPEN ,MYE***YPRICE+2*N ) ;???
    ???MYEXITPRICE := CEILING(MYEXITPRICE/MINDIFF)*MINDIFF ;?
    ???POSITION := 0 ;
    ???TURTLEUNITS := 0 ;

    ???TSELLSHORT( _TDEBUG,0,LMT,H),ALLOWREPEAT;
    ???
    ???EXTGBDATASET(STREXITBARPOS,BARPOS ) ;
    ???EXTGBDATASET(STRTURTLEUNITS,TURTLEUNITS ) ;
    ???EXTGBDATASET(STRPOSITION,POSITION ) ;

    ??END

    ??GOTO CONTINUELINE ;
    ?
    ?END? //IF如果當前持有空頭倉位的狀態

    ?//如果以上3種情形都沒有成立,則直接結束本次判斷
    ?GOTO CONTINUELINE ;


    END //IF如果當前棒是最后一根K線


    //不是最后一根K線的情形
    //如果當前是沒有持倉的狀態
    IF POSITION=0 AND BARPOS>T20 AND H>L THEN BEGIN

    ?//建立多頭進場條件
    ?LONG := H > T20HI ;
    ?
    ?//多頭進場
    ?IF LONG THEN BEGIN
    ??MYE***YPRICE := IF(OPEN>T20HI+MINDIFF ,OPEN ,T20HI+MINDIFF ) ;???
    ??//BUY( _DEBUG,POSNUM,LIMITR,MYE***YPRICE+MINDIFF);
    ??POSITION := 1 ;
    ??TURTLEUNITS := 1 ;
    ??N := ***GTR ;
    ??BUYORDERTHISBAR := 1;

    ?END //IF


    ?//建立空頭進場條件
    ?SHORT := L < T20LO ;
    ?
    ?//空頭進場
    ?IF SHORT AND POSITION=0 THEN BEGIN???
    ??MYE***YPRICE := IF(OPEN<T20LO-MINDIFF ,OPEN ,T20LO-MINDIFF ) ;???
    ??//BUYSHORT( _DEBUG,POSNUM,LIMITR,MYE***YPRICE-MINDIFF);
    ??POSITION := -1 ;
    ??TURTLEUNITS := 1 ;
    ??N := ***GTR ;
    ??BUYORDERTHISBAR := 1;

    ?END
    ?
    ?//不要跳轉,讓程序檢查同一根K線是否可以加倉
    ?//GOTO CONTINUELINE ;
    ?
    END? //IF


    //如果當前持有多頭倉位的狀態

    IF POSITION=1 AND BARPOS>T20 AND H>L THEN BEGIN

    ?//多頭加倉條件
    ?
    ?WHILE (HIGH>MYE***YPRICE+0.5*N) AND TURTLEUNITS<4 DO BEGIN
    ??MYE***YPRICE := IF(OPEN>MYE***YPRICE+0.5*N ,OPEN ,MYE***YPRICE+0.5*N ) ;
    ??MYE***YPRICE := CEILING(MYE***YPRICE/MINDIFF)*MINDIFF ;?
    ??//BUY( _DEBUG, POSNUM, LIMITR, MYE***YPRICE);
    ??TURTLEUNITS := TURTLEUNITS+1 ;
    ??BUYORDERTHISBAR := 1;
    ?END //WHILE?
    ?
    ?//建立多頭離場條件
    ?LONGX1 := (LOW < T10LO)? ;
    ?
    ?IF LONGX1 AND BUYORDERTHISBAR=0 THEN BEGIN
    ??MYEXITPRICE := IF(OPEN<T10LO-MINDIFF ,OPEN ,T10LO-MINDIFF ) ;???
    ??//SELL( _DEBUG ,0,LIMITR,MYEXITPRICE-MINDIFF);
    ??POSITION := 0 ;
    ??TURTLEUNITS := 0 ;
    ?END

    ?//建立多頭止損條件
    ?LONGX2 := (LOW<MYE***YPRICE-2*N)? ;

    ?IF LONGX2 AND POSITION=1 AND BUYORDERTHISBAR=0 THEN BEGIN
    ??MYEXITPRICE := IF(OPEN<MYE***YPRICE-2*N ,OPEN ,MYE***YPRICE-2*N ) ;??
    ??MYEXITPRICE := FLOOR(MYEXITPRICE/MINDIFF)*MINDIFF ;?
    ??//SELL( _DEBUG ,0,LIMITR,MYEXITPRICE);
    ??POSITION := 0 ;
    ??TURTLEUNITS := 0 ;
    ?END

    ?GOTO CONTINUELINE ;

    END? //IF


    //如果當前持有空頭倉位的狀態

    IF POSITION = -1 AND BARPOS>T20 AND H>L THEN BEGIN

    ?//空頭加倉條件
    ?
    ?WHILE (LOW<MYE***YPRICE-0.5*N) AND TURTLEUNITS<4 DO BEGIN
    ??MYE***YPRICE := IF(OPEN<MYE***YPRICE-0.5*N ,OPEN ,MYE***YPRICE-0.5*N ) ;???
    ??MYE***YPRICE := FLOOR(MYE***YPRICE/MINDIFF)*MINDIFF ;?
    ??//BUYSHORT( _DEBUG,POSNUM, LIMITR, MYE***YPRICE);
    ??TURTLEUNITS := TURTLEUNITS+1 ;
    ??BUYORDERTHISBAR := 1;
    ?END //IF?


    ?//建立空頭離場條件
    ?SHORTX1 := H > T10HI? ;

    ?IF SHORTX1 AND BUYORDERTHISBAR=0 THEN BEGIN
    ??MYEXITPRICE := IF(OPEN>T10HI+MINDIFF ,OPEN ,T10HI+MINDIFF ) ;???
    ??//SELLSHORT( _DEBUG,0,LIMITR,MYEXITPRICE+MINDIFF);
    ??POSITION := 0 ;
    ??TURTLEUNITS := 0 ;
    ?END

    ?//建立空頭止損條件
    ?SHORTX2 := HIGH > MYE***YPRICE + 2*N? ;

    ?IF SHORTX2 AND POSITION = -1 AND BUYORDERTHISBAR=0? THEN BEGIN
    ??MYEXITPRICE := IF(OPEN>MYE***YPRICE+2*N ,OPEN ,MYE***YPRICE+2*N ) ;???
    ??MYEXITPRICE := CEILING(MYEXITPRICE/MINDIFF)*MINDIFF ;?
    ??//SELLSHORT( _DEBUG,0,LIMITR,MYEXITPRICE);
    ??POSITION := 0 ;
    ??TURTLEUNITS := 0 ;
    ?END

    END? //IF


    //顯示賬戶狀態
    CONTINUELINE@ 資產:TASSET,LINETHICK0;
    //可用現金:CASH(0),LINETHICK0;
    POS:THOLDING,LINETHICK0;
    //交易次數:TOTALDAYTRADE, LINETHICK0 ;
    //EP:MYE***YPRICE ;
    //?DEBUGOUT('POSITION=%.0F' ,POSITION ) ;
    //?DEBUGOUT('TURTLEUNITS=%.0F' ,TURTLEUNITS ) ;
    //?DEBUGOUT('BARPOS=%.0F' ,BARPOS ) ;
    //?DEBUGOUT('MYE***YPRICE=%.0F' ,MYE***YPRICE ) ;

    IF _DEBUGOUT>0? AND ISLASTBAR THEN BEGIN

    ?DEBUGFILE2('C:\DEBUGFILE.TXT','BARPOS=%.0F' ,BARPOS,1) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','T20HI=%.2F' ,T20HI ,1) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','N=%.2F' ,N ,1) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','***GTR=%.2F' ,***GTR ,1) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','POSITION=%.0F' ,POSITION,1 ) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','TURTLEUNITS=%.0F' ,TURTLEUNITS,1 ) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','OPEN=%.2F' ,O ,1) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','HIGH=%.2F' ,H ,1) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','LOW=%.2F' ,L ,1) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','CLOSE=%.2F' ,C ,1) ;
    ?DEBUGFILE2('C:\DEBUGFILE.TXT','MYE***YPRICE=%.0F' ,MYE***YPRICE ,1) ;

    END //IF

  • ?下載信息??[文件大小:???下載次數:?] 點擊瀏覽該文件:debugfile.txt
      

 

有思路,想編寫各種指標公式,交易模型,選股公式,還原公式的朋友

可聯系技術人員 QQ: 262069696  點擊在線交流或微信號:cxh99cxh99  進行 有償收費 編寫!

怎么收費,代編流程等詳情請點擊閱讀!

(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 日本在线色视频| 亚洲熟妇色自偷自拍另类| 午夜国产精品久久久久| 四虎国产精品永久地址入口| 国产伦精品一区二区| 国产一区精品视频| 出轨的女人hd中文字幕| 亚洲精品成人a| 亚洲伊人久久大香线蕉综合图片| 久久精品国产99国产精偷| 久热青青青在线视频精品| 丰满少妇被猛烈进入高清播放| 一本色道久久88综合亚洲精品高清 | 么公的又大又深又硬又爽视频| 亚洲国产精品久久丫| 亚洲AV无一区二区三区久久| 久久精品国产亚洲AV蜜臀色欲| 中国女人内谢69xxx| 91精品国产肉丝高跟在线| 青青免费在线视频| 男人天堂官方网站| 日韩精品久久无码人妻中文字幕| 宅男噜噜噜66网站高清| 国产真实乱子伦视频播放| 午夜无码人妻av大片色欲| 亚洲国产欧美久久香综合| 中文字幕.com| 亚洲色图综合在线| 福利视频999| 日本高清免费aaaaa大片视频| 在线日韩麻豆一区| 国产ts最新人妖在线| 亚洲国产成人精品女人久久久 | 精品人妻伦一二三区久久| 欧美videosex性欧美成人| 婷婷五月综合激情| 国产情侣一区二区三区| 亚洲第一区精品观看| 三级三级三级全黄| 香蕉99国内自产自拍视频| 欧美成视频无需播放器|