开拓者期货期权程序化系统交易论坛

标题: 转译TB胜修浮屠 [打印本页]

作者: masterhdd    时间: 2018-7-4 09:25:10     标题: 转译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

作者: masterhdd    时间: 2018-7-11 21:12:03

五步之内,必有芳草。
作者: masterhdd    时间: 2018-7-13 15:39:47

善版主
作者: qsb588986    时间: 2018-7-19 12:43:36

好程序




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2