设为首页收藏本站

 找回密码
 注册
查看: 1974|回复: 3
打印 上一主题 下一主题

转译TB胜修浮屠 [复制链接]

Rank: 3Rank: 3

精华
0
UID
257171
积分
133
帖子
99
主题
32
阅读权限
40
注册时间
2017-9-28
最后登录
2019-11-16
跳转到指定楼层
1#
发表于 2018-7-4 09:25:10 |只看该作者 |倒序浏览
若有善男子善女人愿持此网格转译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

Rank: 3Rank: 3

精华
0
UID
257171
积分
133
帖子
99
主题
32
阅读权限
40
注册时间
2017-9-28
最后登录
2019-11-16
2#
发表于 2018-7-11 21:12:03 |只看该作者
五步之内,必有芳草。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
257171
积分
133
帖子
99
主题
32
阅读权限
40
注册时间
2017-9-28
最后登录
2019-11-16
3#
发表于 2018-7-13 15:39:47 |只看该作者
善版主

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
213396
积分
187
帖子
140
主题
26
阅读权限
40
注册时间
2015-7-10
最后登录
2023-4-14
4#
发表于 2018-7-19 12:43:36 |只看该作者
好程序

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-27 21:48

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部