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

抛物线转向系统分享 [开拓者 TB]

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

     

  • TB技术人员: 原创作品,转载注明出处
    1. //------------------------------------------------------------------------
    2. // 简称: SAR_system
    3. // 名称:
    4. // 类别: 公式应用
    5. // 类型: 用户应用
    6. // 输出: 穿堂风
    7. //------------------------------------------------------------------------

    8. Params
    9.         Numeric AfStep(0.02);
    10.         Numeric AfLimit(0.2) ;
    11.         Numeric malen(120);
    12.         Numeric stopLoss(1);
    13.         Numeric BuyLots(1);
    14.         Numeric offset(0);
    15. Vars
    16.         Numeric oParCl( 0 );
    17.         Numeric oParOp( 0 );
    18.         Numeric oPosition( 0 );
    19.         Numeric oTransition( 0 );
    20.         NumericSeries oParOp_s;
    21.         Numeric oParOp_p;
    22.         Numeric i_offset;
    23.         Numeric ma;
    24.         Bool bUpline;
    25.         string strkey;
    26.         string strValue;
    27.         Numeric i_stopLoss;
    28.        
    29. Begin

    30.         ma = Average(Open,malen);
    31.         bUpline = Open>= ma;
    32.         ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition ) ;
    33.         oParOp_s = oParOp;
    34.         oParOp_p = oParOp_s[1];
    35.         i_offset = offset*MinMove*PriceScale;
    36.         i_stopLoss = stopLoss*(OpenD(0)/100);
    37.        
    38.         Commentary("oParOp:"+Text(oParOp));
    39.         Commentary("oTransition:"+Text(oTransition));
    40.         Commentary("oPosition:"+Text(oPosition));
    41. If(CurrentBar>malen)
    42. {
    43.         PlotNumeric("oParCl",oParCl);
    44.         If(malen != 0)
    45.         {
    46.                 PlotNumeric("ma",ma);
    47.         }


    48.         If(MarketPosition == 0)
    49.         {
    50.                 If(malen == 0)
    51.                 {
    52.                         bUpline = True;
    53.                 }

    54.                 If(oTransition == 1 and bUpline)
    55.                 {
    56.                         Buy(BuyLots,Max(Open,oParOp_p)+i_offset);
    57.                         Return;
    58.                 }
    59.                
    60.                 If(malen == 0)
    61.                 {
    62.                         bUpline = False;
    63.                 }

    64.                 If(oTransition == -1 and bUpline==False)
    65.                 {
    66.                         SellShort(BuyLots,Min(Open,oParOp_p)-i_offset);
    67.                         Return;
    68.                 }
    69.         }

    70.         If(MarketPosition == 1)
    71.         {
    72.                 If(malen == 0)
    73.                 {
    74.                         bUpline = False;
    75.                 }
    76.                
    77.                 If(LastEntryPrice-Low>=i_stopLoss)
    78.                 {
    79.                         Sell(BuyLots,Min(Open,LastEntryPrice-i_stopLoss)-i_offset);
    80.                         Return;
    81.                 }
    82.                 If(oPosition == -1)
    83.                 {

    84.                         If(oTransition == -1 and bUpline==False)
    85.                         {
    86.                                 SellShort(BuyLots,Min(Open,oParOp_p)-i_offset);
    87.                         }
    88.                         Else
    89.                         {
    90.                                 Sell(BuyLots,Min(Open,oParOp_p)-i_offset);
    91.                         }
    92.                 }
    93.         }

    94.         If(MarketPosition == -1)
    95.         {
    96.                 If(malen == 0)
    97.                 {
    98.                         bUpline = True;
    99.                 }

    100.                 If(High-LastEntryPrice>=i_stopLoss)
    101.                 {
    102.                         BuyToCover(BuyLots,Max(Open,LastEntryPrice+i_stopLoss)+i_offset);
    103.                         Return;
    104.                 }               
    105.                 If(oPosition == 1)
    106.                 {
    107.                         If(oTransition == 1 and bUpline)
    108.                         {
    109.                                 Buy(BuyLots,Max(Open,oParOp_p)+i_offset);
    110.                         }
    111.                         Else
    112.                         {
    113.                                 BuyToCover(BuyLots,Max(Open,oParOp_p)+i_offset);
    114.                         }
    115.                 }
    116.         }
    117. }
    118. End

    119. //------------------------------------------------------------------------
    120. // 编译版本        GS2010.12.08
    121. // 用户版本        2011/09/05 12:21
    122. // 版权所有        穿堂风
    123. // 更改声明        TradeBlazer Software保留对TradeBlazer平台
    124. //                        每一版本的TrabeBlazer公式修改和重写的权利
    125. //------------------------------------------------------------------------
    复制代码

     

  • TB客服: 1.jpg (69.84 KB, 下载次数: 9) 2011-9-5 12:44:55 上传 下载次数: 9
    2.jpg (93.09 KB, 下载次数: 6) 2011-9-5 12:44:55 上传 下载次数: 6

     

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

     

  • 网友回复: 谢谢分享,,,好月饼!

 

如果以上指标公式不适用于您常用的行情软件

或者您想改编成选股公式,以便快速选出某种形态个股的话,

可以联系我们相关技术人员 QQ: 262069696  点击在线交流进行 有偿 改编!

 


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

相关文章

    没有相关内容