您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者公式>>正文内容

独特的思路,开拓者抛物线转向交易系统源码分享[开拓者公式]

  • 思路内容: 刚才看到群里讨论了会SAR,很多人也想写一个SAR系统,最近比较忙,利用午饭时间写了个SAR系统,大家拿去扩充吧

     

  •  原创作品,转载注明出处  作者 穿堂风 WWW.CXH99.COM
    1. //------------------------------------------------------------------------

    2. // 简称: SAR_system

    3. // 名称:

    4. // 类别: 公式应用

    5. // 类型: 用户应用

    6. // 输出: 穿堂风{程序化交易}

    7. //------------------------------------------------------------------------

    8.  

    9. Params

    10.         Numeric AfStep(0.02);

    11.         Numeric AfLimit(0.2) ;

    12.         Numeric malen(120);

    13.         Numeric stopLoss(1);

    14.         Numeric BuyLots(1);

    15.         Numeric offset(0);

    16. Vars

    17.         Numeric oParCl( 0 );

    18.         Numeric oParOp( 0 );

    19.         Numeric oPosition( 0 );

    20.         Numeric oTransition( 0 );

    21.         NumericSeries oParOp_s;

    22.         Numeric oParOp_p;

    23.         Numeric i_offset;

    24.         Numeric ma;

    25.         Bool bUpline;

    26.         string strkey;

    27.         string strValue;

    28.         Numeric i_stopLoss;

    29.        

    30. Begin

    31.  

    32.         ma = Average(Open,malen);

    33.         bUpline = Open>= ma;

    34.         ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition ) ;

    35.         oParOp_s = oParOp;

    36.         oParOp_p = oParOp_s[1];

    37.         i_offset = offset*MinMove*PriceScale;

    38.         i_stopLoss = stopLoss*(OpenD(0)/100);

    39.        

    40.         Commentary("oParOp:"+Text(oParOp));

    41.         Commentary("oTransition:"+Text(oTransition));

    42.         Commentary("oPosition:"+Text(oPosition));

    43. If(CurrentBar>malen)

    44. {

    45.         PlotNumeric("oParCl",oParCl);

    46.         If(malen != 0)

    47.         {

    48.                 PlotNumeric("ma",ma);

    49.         }

    50.  

    51.  

    52.         If(MarketPosition == 0)

    53.         {

    54.                 If(malen == 0)

    55.                 {

    56.                         bUpline = True;

    57.                 }

    58.  

    59.                 If(oTransition == 1 and bUpline)

    60.                 {

    61.                         Buy(BuyLots,Max(Open,oParOp_p)+i_offset);

    62.                         Return;

    63.                 }

    64.                

    65.                 If(malen == 0)

    66.                 {

    67.                         bUpline = False;

    68.                 }

    69.  

    70.                 If(oTransition == -1 and bUpline==False)

    71.                 {

    72.                         SellShort(BuyLots,Min(Open,oParOp_p)-i_offset);

    73.                         Return;

    74.                 }

    75.         }

    76.  

    77.         If(MarketPosition == 1)

    78.         {

    79.                 If(malen == 0)

    80.                 {

    81.                         bUpline = False;

    82.                 }

    83.                

    84.                 If(LastEntryPrice-Low>=i_stopLoss)

    85.                 {

    86.                         Sell(BuyLots,Min(Open,LastEntryPrice-i_stopLoss)-i_offset);

    87.                         Return;

    88.                 }

    89.                 If(oPosition == -1)

    90.                 {

    91.  

    92.                         If(oTransition == -1 and bUpline==False)

    93.                         {

    94.                                 SellShort(BuyLots,Min(Open,oParOp_p)-i_offset);

    95.                         }

    96.                         Else

    97.                         {

    98.                                 Sell(BuyLots,Min(Open,oParOp_p)-i_offset);

    99.                         }

    100.                 }

    101.         }

    102.  

    103.         If(MarketPosition == -1)

    104.         {

    105.                 If(malen == 0)

    106.                 {

    107.                         bUpline = True;

    108.                 }

    109.  

    110.                 If(High-LastEntryPrice>=i_stopLoss)

    111.                 {

    112.                         BuyToCover(BuyLots,Max(Open,LastEntryPrice+i_stopLoss)+i_offset);

    113.                         Return;

    114.                 }               

    115.                 If(oPosition == 1)

    116.                 {

    117.                         If(oTransition == 1 and bUpline)

    118.                         {

    119.                                 Buy(BuyLots,Max(Open,oParOp_p)+i_offset);

    120.                         }

    121.                         Else

    122.                         {

    123.                                 BuyToCover(BuyLots,Max(Open,oParOp_p)+i_offset);

    124.                         }

    125.                 }

    126.         }

    127. }

    128. End

    129.  

    130. //------------------------------------------------------------------------

    131. // 编译版本        GS2010.12.08{程序化交易}

    132. // 用户版本        2011/09/05 12:21

    133. // 版权所有        穿堂风

    134. // 更改声明        TradeBlazer Software保留对TradeBlazer平台

    135. //                        每一版本的TrabeBlazer公式修改和重写的权利

    136. //------------------------------------------------------------------------

      



     

  •  因为时间短促,已尽量考虑逻辑性,如果有质疑的地方,一定要细看代码,我不希望没分析清楚就说未来函数,这是对我的不尊重.

     

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 262069696  点击在线交流进行 有偿 编写!不贵!点击查看价格!

 


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容