打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
TB源码
Params
    Bool    bInitStatus(false);//初始化标志,修改初始仓位时需设置为True
    Numeric InitMyRealMp(0);//初始当前仓位,正数表示多单,负数表示空单
    Numeric FirstGrid(10);//第一笔交易的间距,最小跳动
    Numeric AddGrid(30);//加仓间距,最小跳动
    Numeric TotalGrids(10);//最大交易次数
    Numeric TrailingGrid(10);//移动止损间距,最小跳动
    Numeric EveryLots(1);//每次开仓手数
    Numeric OffSet(1);//委托价偏差,默认买卖价偏差1个滑点
    Numeric ExitOnCloseMins(15.00);//收盘平仓时间
Vars
    Numeric HighAfterlongEntry;
    Numeric  LowAfterShortEntry;
    Numeric    MyRealMp(0);
    Numeric   MinPoint;
    Numeric  TmpPrice;
    Numeric   TmpLots;
Begin
    MinPoint=MinMove*PriceScale;//当前商品最小变动量*当前商品的计数单位
    MyRealMp=GetGlobalVar(0); //获取MyRealMp全局变量值
    HighAfterlongEntry=GetGlobalVar(1);
    LowAfterShortEntry=GetGlobalVar(2);
    If(BarStatus==0 And (MyRealMp==InvalidNumeric||bInitStatus))  
    {MyRealMp=InitMyRealMp;}
    If(Date<>Date[1])
    {HighAfterlongEntry=High;
    LowAfterShortEntry=Low;
    MyRealMp=0;
    }Else
    {HighAfterlongEntry=Max(HighAfterlongEntry,High);
    LowAfterShortEntry=Min(LowAfterShortEntry,Low);}
    if (Time<ExitOnCloseMins/100)
    {If(MyRealMp>0 And HighAfterlongEntry-Low>=TrailingGrid*MinPoint And(High-Low<TrailingGrid*MinPoint Or (High-Low>=TrailingGrid*MinPoint And Close<Open)))
      {TmpPrice=Max(HighAfterLongEntry-(TrailingGrid-OffSet)*MinPoint,Low);
      TmpLots=Abs(MyRealMp*EveryLots);
      Sell(TmpLots,TmpPrice);
      MyRealMp=0;
      LowAfterShortEntry=Low;
    }else
      If(MyRealMp<0 And High-LowAfterShortEntry>=TrailingGrid*MinPoint And (High-Low<TrailingGrid*MinPoint Or (High-Low>=TrailingGrid*MinPoint And Close>Open)))
      {TmpPrice=Min(LowAfterShortEntry+(TrailingGrid+OffSet)*MinPoint,High);
       TmpLots=Abs(MyRealMp*EveryLots);
       BuyToCover(TmpLots,TmpPrice);
       MyRealMp=0;
       HighAfterLongEntry=0;}
       If(MyRealMp==0 And High-LowAfterShortEntry>=FirstGrid*MinPoint)//第一笔多单开仓
       {TmpPrice=Min(LowAfterShortEntry+(FirstGrid+OffSet)*MinPoint,High);
       TmpLots=EveryLots;
       Buy(TmpLots,TmpPrice);
       MyRealMp=1;
       HighAfterLongEntry=High;
       }Else
       If(MyRealMp>0 And MyRealMp<TotalGrids And High-LowAfterShortEntry>=(FirstGrid+MyRealMp*AddGrid)*MinPoint)//多单加仓
       {TmpPrice=Min(LowAfterShortEntry+(FirstGrid+MyRealMp*AddGrid+OffSet)*MinPoint,High);
       TmpLots=EveryLots;
       Buy(TmpLots,TmpPrice);
       MyRealMp=MyRealMp+1;
       }else
       If(MyRealMp==0 And HighAfterLongEntry-Low>=FirstGrid*MinPoint)//第一笔空单开仓
       {TmpPrice=Max(HighAfterLongEntry-(FirstGrid-OffSet)*MinPoint,Low);
       TmpLots=EveryLots;
       SellShort(TmpLots,TmpPrice);
       MyRealMp=-1;
       LowAfterShortEntry=Low;
       }else
       If(MyRealMp<0 And -1*MyRealMp<TotalGrids And HighAfterLongEntry-Low>=(FirstGrid+Abs(MyRealMp*AddGrid))*MinPoint)//空单加仓
       {TmpPrice=Max(HighAfterLongEntry-(FirstGrid-Abs(MyRealMp*AddGrid)-OffSet)*MinPoint,Low);
       TmpLots=EveryLots;
       SellShort(TmpLots,TmpPrice);
       MyRealMp=MyRealMp-1;}
       }else
       If(Time>=ExitOnCloseMins/100)
       {If(MyRealMp>0)
       {TmpLots=Abs(MyRealMp*EveryLots);
       TmpPrice=Close;
       Sell(0,TmpPrice);
       MyRealMp=0;}
       If(MyRealMp<0)
       {TmpLots=Abs(MyRealMp*EveryLots);
       TmpPrice=Close;
       BuyToCover(0,TmpPrice);
       MyRealMp=0;}}
       SetGlobalVar(0,MyRealMp);
       SetGlobalVar(1,HighAfterLongEntry);
       SetGlobalVar(2,LowAfterShortEntry);
       Commentary("MyRealMp="+Text(MyRealMp));
       Commentary("HighAfterLLowAfterShortEntry="+Text(LowAfterShortEntry));
       End
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
tbquant 量化交易常用场景代码
?TB课堂 | 基于平移布林通道的系统 | 策略公式
克罗均线交易系统
灰色系统模型GM(1,1)的R语言实现[转]
GlobeControl与MapC ontrol同步
在Access中创建表及如何指定字段类型-网络学院-中国代码网China-Code.Net...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服