以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请熟悉TB的朋友帮我将一个TB策略转为金字塔策略  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=65468)

--  作者:zihyi
--  发布时间:2014/5/26 16:30:19
--  请熟悉TB的朋友帮我将一个TB策略转为金字塔策略

请熟悉TB的朋友帮我将一个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

 

 


--  作者:jinzhe
--  发布时间:2014/5/26 16:33:12
--  

这个你得要找专门写程序化懂两款软件的人写,我们这里不处理此类问题


--  作者:zihyi
--  发布时间:2014/5/26 19:38:52
--  

金字塔还有加仓策略的模块?

有的话,请发一个,先谢谢啦!


--  作者:admin
--  发布时间:2014/5/26 20:48:21
--  

http://www.weistock.com/bbs/index.asp?boardid=10

策略发布区有大量的金字塔源码,请耐心翻阅一下


--  作者:zihyi
--  发布时间:2014/5/27 13:02:46
--  
 谢谢jingzhe和admin,公式不好转换就算了,我的加仓思路在已经发到策略编写求助区,方便的话帮我编一下.谢谢!!!