人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

您現(xiàn)在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識>>正文內(nèi)容

虧三次加倉,盈三次減倉 [金字塔]

  • 咨詢內(nèi)容: 下面是突破20日高低點交易策略,初始交易手數(shù)為ss,  如連續(xù)三次盈利后倉位減為一半, 一直到連續(xù)三次虧損倉位增加到原倉位,加載后交易明細帳倉位錯亂,請問全局變量那錯了,麻煩糾正過來?
    input :k(20,5,30,1) input:avglen(30,10,100,5);input : atrlen(20,5,30,1) ;input : ss(2,1,1000,1) ;
    //聲明變量nt := 1 ; //調(diào)試信息帶時間戳buyorderthisbar := 0 ; //當(dāng)前bar有過交易variable : _debug = 1 ; //是否輸出前臺交易指令variable : turtleunits=0 ; //交易單位variable : myentryprice1=0; variable : myentryprice2=0; variable : myexitprice=0;variable : n=0;variable : m=0;variable : yk=0; //準備需要計算的變量zhh:ref(high,k);zll:ref(low,k);kqls:=enterbars+1;khh:=hhv(high,kqls);kll:=llv(low,kqls);
    avgtr :=ref(ma(tr,atrlen),1);
    //開始執(zhí)行時 初始化數(shù)據(jù)if barpos=1 then begin position :=0 ; posnum:=ss; end 
    //如果當(dāng)前是沒有持倉的狀態(tài)if position=0 and  barpos>20 and h>l then begin  //建立多頭進場條件 long:=high>=zhh ; //多頭進場 if long then begin myentryprice1 :=if(open>zhh+0.2 ,open+0.6 ,zhh+0.6); buy( _debug,posnum,limitr,myentryprice1); jqsh:=1;    position := 1 ; turtleunits := 1 ;    n:= avgtr ; buyorderthisbar := 1; end   //建立空頭進場條件 short:=low<=zll ; //空頭進場 if short and position=0 then begin myentryprice2:= if(open<zll-0.2 ,open-0.6 ,zll-0.6) ; buyshort( _debug,posnum,limitr,myentryprice2); jqsh:=1; position := -1 ; turtleunits := 1 ; n := avgtr ; buyorderthisbar := 1;
     end end
    //如果當(dāng)前持有多頭倉位的狀態(tài)
    if position=1 and barpos>20 and h>l then begin
    //多頭加倉條件 {while (close>myentryprice+0.5*n) and turtleunits<4 and jqsh=1 do begin myentryprice := if(open>myentryprice+0.5*n ,open+0.6 ,myentryprice+0.5*n+0.6 ) ; myentryprice:= ceiling(myentryprice/mindiff)*mindiff ; buy( _debug, posnum, limitr,myentryprice ); turtleunits := turtleunits+1 ; buyorderthisbar := 1; end } //建立多頭離場條件 longx1 := low<zll-mindiff;    myexitprice:=zll-mindiff;     if longx1 and buyorderthisbar=0 then begin myexitprice := if(open<myexitprice-0.2 ,open-0.6 ,myexitprice-0.6) ; sell( _debug ,0,limitr,myexitprice); position := 0 ; turtleunits := 0 ; yk:=myexitprice- myentryprice2; end if yk>0 then begin        n:=0;       m:=m+1;       end           if yk<0   then begin       n:=n+1;       m:=0;      end        if n>=3 then posnum:=ss;       if m>=3 then posnum:=0.5*ss;     //建立多頭止損條件 longx2 := low<(khh-2*n);    if longx2 and position=1 and buyorderthisbar=0 then begin myexitprice := if(open<khh-2*n ,open-0.6 ,khh-2*n-0.6) ; myexitprice := floor(myexitprice/mindiff)*mindiff ; sell( _debug ,0,limitr,myexitprice); position := 0 ; turtleunits := 0 ; yk:=myexitprice- myentryprice2;   end if yk>0 then begin   n:=0;   m:=m+1;       end    if yk<0   then begin       n:=n+1;       m:=0;      end       if n>=3 then posnum:=ss;       if m>=3 then posnum:=0.5*ss; end  

    //如果當(dāng)前持有空頭倉位的狀態(tài)
    if position = -1 and barpos>20 and h>l then begin
    //空頭加倉條件 {while (close<myentryprice-0.5*n) and turtleunits<4 and jqsh=1 do begin myentryprice := if(open<myentryprice-0.5*n ,open-0.6 ,myentryprice-0.5*n-0.6 ) ; kkj := floor(myentryprice/mindiff)*mindiff ; buyshort( _debug,posnum, limitr,myentryprice ); turtleunits := turtleunits+1 ; buyorderthisbar := 1; end }
       //建立空頭離場條件    shortx1 :=  high>zhh+mindiff;        myexitprice:=zhh+mindiff;    if shortx1 and buyorderthisbar=0 then begin myexitprice := if(open>myexitprice,open+0.6, myexitprice+0.6); sellshort( _debug,0,limitr,myexitprice); position := 0 ; turtleunits := 0 ;   yk:=myentryprice2-myexitprice; end    if yk>0 then begin        n:=0;       m:=m+1;      end    if yk<0  then begin       n:=n+1;       m:=0;       end       if n>=3 then posnum:=ss;       if m>=3 then posnum:=0.5*ss;       
    //建立空頭止損條件 shortx2 := high>kll+2*n ;    if shortx2 and position = -1 and buyorderthisbar=0  then begin myexitprice:= if(open>kll+2*n ,open+0.6 ,kll+2*n+0.6) ; myexitprice := ceiling(myexitprice/mindiff)*mindiff ; sellshort( _debug,0,limitr,myexitprice); position := 0 ; turtleunits := 0 ; yk:=myentryprice2-myexitprice;  end   if yk>0   then begin       n:=0;      m:=m+1;     end    if yk<0   then begin      n:=n+1;      m:=0;     end     if n>=3 then posnum:=ss;     if m>=3 then posnum:=0.5*ss; end               
      //顯示賬戶狀態(tài)continueline@ 資產(chǎn):asset,linethick0;可用現(xiàn)金:cash(0),linethick0;pos:holding,linethick0;交易次數(shù):totaldaytrade, linethick0 ;

     

  • 金字塔客服:

     if shortx1 and buyorderthisbar=0 then begin

    像類似這樣平倉語句里面有全局變量操作的,要在平倉條件的if里面加上holding判斷

    比如平多就要加holding>0的判斷,平空就要加holding<0的判斷

     

  • 用戶回復(fù):

    加上holding 也還是倉位錯亂,麻煩你加載一下,加倉減倉能實現(xiàn)嗎?






     

  • 網(wǎng)友回復(fù):

    input :k(20,5,30,1)
    input:avglen(30,10,100,5);
    input : atrlen(20,5,30,1) ;
    input : ss(2,1,1000,1) ;


    //聲明變量
    nt := 1 ;   //調(diào)試信息帶時間戳
    buyorderthisbar := 0 ;   //當(dāng)前bar有過交易
    variable : _debug = 1 ;   //是否輸出前臺交易指令
    variable : turtleunits=0 ;   //交易單位
    variable : myentryprice1=0;
    variable : myentryprice2=0;
    variable : myexitprice=0;
    variable : n=0;
    variable : m=0;
    variable : yk=0;
    //準備需要計算的變量
    zhh:ref(high,k);
    zll:ref(low,k);
    kqls:=enterbars+1;
    khh:=hhv(high,kqls);
    kll:=llv(low,kqls);


    avgtr :=ref(ma(tr,atrlen),1);


    //開始執(zhí)行時 初始化數(shù)據(jù)
    if barpos=1 then begin
       position :=0 ;
       posnum:=ss;
    end


    //如果當(dāng)前是沒有持倉的狀態(tài)
    if position=0 and  barpos>20 and h>l then begin
       //建立多頭進場條件
       long:=high>=zhh ;
       //多頭進場
       if long  and holding=0  then begin
       myentryprice1 :=if(open>zhh+0.2 ,open+0.6 ,zhh+0.6);
       buy( _debug,posnum,limitr,myentryprice1);
       jqsh:=1;
          position := 1 ;
       turtleunits := 1 ;
         // n:= avgtr ;
       buyorderthisbar := 1;
      
       end
       
       //建立空頭進場條件
       short:=low<=zll ;
       //空頭進場
       if short and position=0 and holding=0 then begin   
       myentryprice2:= if(open<zll-0.2 ,open-0.6 ,zll-0.6) ;
       buyshort( _debug,posnum,limitr,myentryprice2);
       jqsh:=1;
       position := -1 ;
       turtleunits := 1 ;
       //n := avgtr ;
       buyorderthisbar := 1;


        end
     end   


    //如果當(dāng)前持有多頭倉位的狀態(tài)


    if position=1 and barpos>20 and h>l then begin


       //多頭加倉條件
      
       {while (close>myentryprice+0.5*n) and turtleunits<4 and jqsh=1 do begin
       myentryprice := if(open>myentryprice+0.5*n ,open+0.6 ,myentryprice+0.5*n+0.6 ) ;
       myentryprice:= ceiling(myentryprice/mindiff)*mindiff ;   
       buy( _debug, posnum, limitr,myentryprice );
       turtleunits := turtleunits+1 ;
       buyorderthisbar := 1;
       end }
      
       //建立多頭離場條件
       longx1 := low<zll-mindiff;
          myexitprice:=zll-mindiff;
         if longx1 and buyorderthisbar=0 and holding>0 then begin
       myexitprice := if(open<myexitprice-0.2 ,open-0.6 ,myexitprice-0.6) ;   
       sell( _debug ,0,limitr,myexitprice);
       position := 0 ;
       turtleunits := 0 ;
       yk:=myexitprice- myentryprice2;
       
       if yk>0 then begin
             n:=0;
             m:=m+1;
             end
           
           if yk<0   then begin
             n:=n+1;
             m:=0;
            end
            // if n>=3 then posnum:=ss;
     end      //  if m>=3 then posnum:=0.5*ss;
       
       //建立多頭止損條件
       longx2 := low<(khh-2*n);
        if longx2 and position=1 and buyorderthisbar=0 and holding>0 then begin
       myexitprice := if(open<khh-2*n ,open-0.6 ,khh-2*n-0.6) ;   
       myexitprice := floor(myexitprice/mindiff)*mindiff ;   
       sell( _debug ,0,limitr,myexitprice);
       position := 0 ;
       turtleunits := 0 ;
       yk:=myexitprice- myentryprice2;
       
       if yk>0 then begin
         n:=0;
         m:=m+1;
             end
          if yk<0   then begin
             n:=n+1;
             m:=0;
            end
          
       end 

      end


    //如果當(dāng)前持有空頭倉位的狀態(tài)


    if position = -1 and barpos>20 and h>l then begin


       //空頭加倉條件
      
       {while (close<myentryprice-0.5*n) and turtleunits<4 and jqsh=1 do begin
       myentryprice := if(open<myentryprice-0.5*n ,open-0.6 ,myentryprice-0.5*n-0.6 ) ;   
       kkj := floor(myentryprice/mindiff)*mindiff ;   
       buyshort( _debug,posnum, limitr,myentryprice );
       turtleunits := turtleunits+1 ;
       buyorderthisbar := 1;
       end }   


       //建立空頭離場條件
        shortx1 :=  high>zhh+mindiff;
            myexitprice:=zhh+mindiff;
        if shortx1 and buyorderthisbar=0 and holding<0 then begin
       myexitprice := if(open>myexitprice,open+0.6, myexitprice+0.6);   
       sellshort( _debug,0,limitr,myexitprice);
       position := 0 ;
       turtleunits := 0 ;
            yk:=myentryprice2-myexitprice;
       
          if yk>0 then begin
             n:=0;
             m:=m+1;
            end
          if yk<0  then begin
             n:=n+1;
             m:=0;
             end
             //if n>=3 then posnum:=ss;
             //if m>=3 then posnum:=0.5*ss;
            
     end 


       //建立空頭止損條件
       shortx2 := high>kll+2*n ;
        if shortx2 and position = -1 and buyorderthisbar=0 and holding<0 then begin
       myexitprice:= if(open>kll+2*n ,open+0.6 ,kll+2*n+0.6) ;   
       myexitprice := ceiling(myexitprice/mindiff)*mindiff ;   
       sellshort( _debug,0,limitr,myexitprice);
       position := 0 ;
       turtleunits := 0 ;
       yk:=myentryprice2-myexitprice;
       
         if yk>0   then begin
            n:=0;
            m:=m+1;
           end
         if yk<0   then begin
            n:=n+1;
            m:=0;
           end
          // if n>=3 then posnum:=ss;
           //if m>=3 then posnum:=0.5*ss;
           end
     end
           
      if n>=3 and ref(n,1)=2 then posnum:=ss;
    if m>=3 and ref(m,1)=2 then posnum:=0.5*ss;    

     

  • 網(wǎng)友回復(fù): 按你的加載還是不行,麻煩你回測一下.全局變量真難用,不知錯在哪!

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 511411198  點擊這里給我發(fā)消息進行 有償 編寫!不貴!點擊查看價格!


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

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 天堂网www在线资源网 | 甜性涩爱在线观看e8 | 成人免费网站视频www | 理论片中文字幕在线精品 | 曰批免费视频播放免费观看网站 | 成人影视在线 | 2021免费日韩视频网 | 青草草视频在线观看 | 香蕉网站视频高清在线观看 | 韩国视频在线 | 国产免费一区不卡在线 | 日韩啪| 97国产成人精品免费视频 | 18黄无遮挡免费视频 | 未成18年禁止观看的免费 | 大黄网站免费 | 色图欧美色图 | 久久er国产精品免费观看1 | 精品 日韩 国产 欧美在线观看 | 欧美a级黑粗大硬长爽 | 亚洲日韩中文字幕在线播放 | 91精品欧美 | 成人精品一区二区三区 | 天堂黄色| 波多野结衣久久一区二区 | 日日躁夜夜躁狠狠天天 | 亚洲精品成人中文网 | 亚洲免费网站在线观看 | 亚洲第九页 | 精品国产影院 | 国内精品伊人久久久影视 | 人人爽天天碰天天躁夜夜躁 | 亚洲性视频网站 | 深夜毛片 | 夜夜爽夜夜叫夜夜高潮漏水 | 丝袜美臀综合图 | 你懂的视频在线播放 | 黄色毛片免费 | 成人精品视频一区二区在线 | 国产视频一二 | 18成禁人视频免费 |