您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

转译TB胜修浮屠 [开拓者 TB]

  • 咨询内容: 若有善男子善女人愿持此网格转译TB,可谓胜修浮屠。

    input: pricevalue(close), length(200), flag_bar(60), Minpip(5), Maxpip(25), buyp(10), sloss(2), account("66666-152032345(CNY)");
    var: flag1(0), flag2(-flag_bar), mp(0), leg(0),mid(0), b1(0), b2(0), b3(0), b4(0), s1(0), s2(0), s3(0), s4(0), zhs(0), initial(0), capital_var(0), cur_bar(1);
    array: arr_num[8](0), b1234[4](0),b1234_tf[4](false);

    mp=marketposition;
    if getappinfo(aistrategyauto)=1 then
            if not lastbaronchart_s then
                    cur_bar=currentbar+1
            else once cur_bar=currentbar;
           

    //computing order funds
    once initial=getrtcashbalance(account);
    capital_var=getrtcashbalance(account);
    value2=minlist(buyp*0.01*initial,capital_var);
    value1=intportion(value2/(close*bigpointvalue*100))*100;
    //computing order funds

    //trend adjustment
    if postradeexitname(1,postradecount(1)-1)="zhs" and mp[1]=1 and mp=0 then
            flag2=currentbar;
    if mp=0 and currentbar>=cur_bar then
            flag1=flag1+1
    else flag1=0;
    //trend adjustment

    //computing price
    if cur_bar=currentbar or (mp<>mp[1] and mp=0) or flag1=flag_bar or flag2+flag_bar=currentbar then begin
            value11=highest(pricevalue,length);
            value22=lowest(pricevalue,length);
            value33=intportion(((value11-value22)/(minmove*1 point))/8);

            if value33<Minpip then
                    leg=Minpip
            else if value33>Maxpip then
                    leg=Maxpip
            else leg=value33;
            mid=close;
            b1=mid-1*leg*(minmove*1 point);
            b2=mid-2*leg*(minmove*1 point);
            b3=mid-3*leg*(minmove*1 point);
            b4=mid-4*leg*(minmove*1 point);
            s1=mid+1*leg*(minmove*1 point);
            s2=mid+2*leg*(minmove*1 point);
            s3=mid+3*leg*(minmove*1 point);
            s4=mid+4*leg*(minmove*1 point);
            zhs=b4-sloss*leg*(minmove*1 point);
            arr_num[0]=TL_new_bn(currentbar,mid,currentbar,mid);
            arr_num[1]=tl_new_bn(currentbar,b1,currentbar,b1);
            arr_num[2]=tl_new_bn(currentbar,b2,currentbar,b2);
            arr_num[3]=tl_new_bn(currentbar,b3,currentbar,b3);
            arr_num[4]=tl_new_bn(currentbar,b4,currentbar,b4);
            arr_num[5]=tl_new_bn(currentbar,s1,currentbar,s1);
            arr_num[6]=tl_new_bn(currentbar,s2,currentbar,s2);
            arr_num[7]=tl_new_bn(currentbar,s3,currentbar,s3);
            arr_num[8]=tl_new_bn(currentbar,s4,currentbar,s4);
            tl_setcolor(arr_num[0],blue);
            flag1=0;
    end;
    //computing price

    //T+1
    value4=0;
    fill_array(b1234,0);
    fill_array(b1234_tf,false);
    for value5=0 to postradecount(0)-1 begin
            if postradeisopen(0,value5)=true and postradeentryname(0,value5)="Initial Entry" then begin
                    b1234[0]=postradesize(0,value5);
                    if juliantodate(postradeentrydatetime(0,value5))<>date or (bartype_ex>=4 and bartype_ex<=7) then begin
                            b1234_tf[0]=true;
                            value4=value4+b1234[0];
                    end;
            end
            else if postradeisopen(0,value5)=true and postradeentryname(0,value5)="b1" then begin
                    b1234[1]=postradesize(0,value5);
                    if juliantodate(postradeentrydatetime(0,value5))<>date or (bartype_ex>=4 and bartype_ex<=7) then begin
                            b1234_tf[1]=true;
                            value4=value4+b1234[1];
                    end;
            end
            else if postradeisopen(0,value5)=true and postradeentryname(0,value5)="b2" then begin
                    b1234[2]=postradesize(0,value5);
                    if juliantodate(postradeentrydatetime(0,value5))<>date or (bartype_ex>=4 and bartype_ex<=7) then begin
                            b1234_tf[2]=true;
                            value4=value4+b1234[2];
                    end;
            end
            else if postradeisopen(0,value5)=true and postradeentryname(0,value5)="b3" then begin
                    b1234[3]=postradesize(0,value5);
                    if juliantodate(postradeentrydatetime(0,value5))<>date or (bartype_ex>=4 and bartype_ex<=7) then begin
                            b1234_tf[3]=true;
                            value4=value4+b1234[3];
                    end;
            end
            else if postradeisopen(0,value5)=true and postradeentryname(0,value5)="b4" then begin
                    b1234[4]=postradesize(0,value5);
                    if juliantodate(postradeentrydatetime(0,value5))<>date or (bartype_ex>=4 and bartype_ex<=7) then begin
                            b1234_tf[4]=true;
                            value4=value4+b1234[4];
                    end;
            end;
    end;
    //T+1

    //order
    if currentbar>=cur_bar and flag2+flag_bar<=currentbar then begin
            if b1234[1]=0 and close>b2 then
                    buy("b1") value1 shares next bar at b1 limit;
            if b1234[2]=0 and close>b3 then
                    buy("b2") value1 shares next bar at b2 limit;
            if b1234[3]=0 and close>b4 then
                    buy("b3") value1 shares next bar at b3 limit;
            if b1234[4]=0 and close>b4-leg*(minmove*1 point) then
                    buy("b4") value1 shares next bar at b4 limit;

            if b1234_tf[4]=true then
                    sell("s1") from entry("b4") next bar at s1 limit;
            if b1234_tf[3]=true then
                    sell("s2") from entry("b3") next bar at s2 limit;
            if b1234_tf[2]=true then
                    sell("s3") from entry("b2") next bar at s3 limit;
            if b1234_tf[1]=true then
                    sell("s4") from entry("b1") next bar at s4 limit;
            if b1234_tf[0]=true then
                    sell("Initial_Entry") from entry("Initial Entry") next bar at s4 limit;
            sell("zhs") value4 shares total next bar at zhs stop;
            tl_setend_bn(arr_num[0],currentbar,mid);
            tl_setend_bn(arr_num[1],currentbar,b1);
            tl_setend_bn(arr_num[2],currentbar,b2);
            tl_setend_bn(arr_num[3],currentbar,b3);
            tl_setend_bn(arr_num[4],currentbar,b4);
            tl_setend_bn(arr_num[5],currentbar,s1);
            tl_setend_bn(arr_num[6],currentbar,s2);
            tl_setend_bn(arr_num[7],currentbar,s3);
            tl_setend_bn(arr_num[8],currentbar,s4);
    end;
    //order

     

     来源:CXH99.COM

  • TB技术人员: 五步之内,必有芳草。

     

  • TB客服: 善版主

     

  • 网友回复: 好程序

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容