全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
求助程序编写
2024-03-27 13:19

使用指标:20日布林线

做多单条件:

当价格触及到布林线上轨时,在布林上轨与中轨的二分之一价格处挂多单;


做空条件:

当价格触及到布林线下轨时,在布林下轨与中轨的二分之一价格处挂空单;


平多单条件:

当价格跌破布林下轨平多单;


平空单条件:

当价格跌破布林下轨平空单;


其他:

如果满足做多条件后,并没有触发挂单,再有价格触及到布林上轨时,撤销之前挂的多单,再次用新的价格去挂多单,空单也是如此。




求助编写

kyover

建议谨慎防止被骗

2024-03-28 08:31
tblaocai

策略逻辑规则不够完整。如果不考虑策略完整性,代码实现并不难,因为规则不够完善,完整代码就不贴出来。提供部分代码供您参考。

Params

       Numeric Length(20); //周期

       Numeric Offset(2); //标准差倍数  

Vars

       ... ...  // 请复制系统boll代码,部分变量改了下名字

       Series<Numeric> LLine(0,2);

       Series<Numeric> SLine(0,2);

       Series<Integer> dir(0,2);

Events

       OnReady()

       {

               SetBackBarMaxCount(1+Length);

       }

       OnBar(ArrayRef<Integer> indexs)

       {

               ... ... // 请复制系统boll代码,部分变量改了下名字

               If(High > UpLine)

               {

                       dir = 1;

                       If(MarketPosition <> 1) LLine = (UpLine + MdLine)/2;

               }

               PlotNumeric(\"LLine\",LLine,0,red);

               If(Low < DnLine)

               {

                       dir = -1;

                       If(MarketPosition <> -1) SLine = (DnLine + MdLine)/2;

               }

               PlotNumeric(\"SLine\",SLine,0,Green);

               If(dir[1] == 1 && MarketPosition <> 1 && Low < LLine[1])

               {

                       Buy(1, Min(Open,LLine[1]));

                       dir = 0;

               }

               If(MarketPosition == 1 && BarsSinceEntry > 0 && Low < MdLine[1]) Sell(0,Min(O,MdLine[1]));

               If(dir[1] == -1 && MarketPosition <> -1 && High > SLine[1])

               {

                       SellShort(Lots[1], Max(Open,SLine[1]));

                       dir = 0;

               }

               If(MarketPosition == -1 && BarsSinceEntry > 0 && High > MdLine[1])              

                       BuyToCover(0,Max(O,MdLine[1]));

       }

2024-03-28 11:55
您未登录,请先 登录注册 后发表评论
顶部