33财富前沿

股票动态如何获取 源码共享:TBQ_SAR 抛物线目的(深圳往还斥地者TBQuant 加快因子抛物线转向 Stop and Reverse)

投资技巧

你的位置:33财富前沿 > 投资技巧 > 股票动态如何获取 源码共享:TBQ_SAR 抛物线目的(深圳往还斥地者TBQuant 加快因子抛物线转向 Stop and Reverse)


股票动态如何获取 源码共享:TBQ_SAR 抛物线目的(深圳往还斥地者TBQuant 加快因子抛物线转向 Stop and Reverse)

发布日期:2025-01-02 07:33    点击次数:191

股票动态如何获取 源码共享:TBQ_SAR 抛物线目的(深圳往还斥地者TBQuant 加快因子抛物线转向 Stop and Reverse)

图片

基本念念路:       

  >>>抛物线由时间目的大家威尔斯·怀尔德发明, 是对价钱/时刻关系的参议, 亦然一个特地常用的时间目的。 抛物线的最大特质是, 当价钱岂论何时达到新高或新低时, 目的王人会束缚地加快并调紧止损, 这惩办了价钱滞后性的问题。 因此, 使用抛物线不错很好地防患赚钱回吐。 >>>参考 作家:时间投契客 辘集:https://www.jianshu.com/p/982b0dc817f2 来源:简书 文章权归作家总共。营业转载请策划作家获取授权,非营业转载请注明出处。  

更新骨子:     

  2024-5-22 17:46:32  展示SAR目的,与算法  景观记号转向    代码>>>TB官决议例参考 

效用图与部分代码块:

图片

图片

使用状貌:

  加载目的即可,直不雅。    参议标的:    >自动化往还信号记号!    >下一步参议相投双均线!    

图片

算法源码:函数(输出: 布尔型)

//------------------------------------------------------------------------// 简称: ParabolicSAR// 称呼: 求抛物线转向// 类别: 用户函数// 类型: 内建函数// 输出: 布尔型//------------------------------------------------------------------------Params  Numeric AfStep(0.02);    //加快因子  Numeric AfLimit(0.2);    //加快因子限量  NumericRef oParClose;    //面前Bar停损值  NumericRef oParOpen;    //下一Bar停损值  NumericRef oTbPosition;    //握仓情状,1 - 多头,-1 - 空头  NumericRef oTransition;    //是否回转,1 或 -1 回转,0 保握不变Vars  Series<Numeric> Af(0);    Series<Numeric> ParOpen(0);  Series<Numeric> TbPosition(0);    Series<Numeric> HHValue(0);  Series<Numeric> LLValue(0);Begin  If (CurrentBar == 0)  {    TbPosition = 1 ;    oTransition = 1 ;    Af = AfStep ;    HHValue = High ;    LLValue = Low ;    oParClose = LLValue ;    ParOpen = oParClose + Af * ( HHValue - oParClose) ;    If (ParOpen > Low)    {      ParOpen = Low ;    }  }Else  {      oTransition = 0 ;      If (High > HHValue[1])    {      HHValue = High;    }Else    {      HHValue = HHValue[1];    }        If (Low < LLValue[1])    {      LLValue = Low;    }Else    {      LLValue = LLValue[1];    }        If ( TbPosition[1] == 1)     {      If ( Low <= ParOpen[1])      {        TbPosition = -1 ;        oTransition = -1 ;                oParClose = HHValue ;        HHValue = High ;        LLValue  = Low ;          Af = AfStep ;        ParOpen = oParClose + Af * ( LLValue - oParClose ) ;                  If (ParOpen < High)        {          ParOpen = High ;        }                If (ParOpen < High[1])        {          ParOpen = High[1] ;        }      }Else      {        TbPosition = TbPosition[1];        oParClose = ParOpen[1] ;                  If (HHValue > HHValue[1] And Af[1] < AfLimit )        {          If(Af[1]+AfStep > AfLimit)          {            Af = AfLimit ;          }Else          {            Af = Af[1]+AfStep;          }                          }Else        {          Af = Af[1];        }          ParOpen = oParClose + Af * ( HHValue - oParClose ) ;                  If (ParOpen > Low)        {          ParOpen = Low ;        }                If (ParOpen > Low[1])        {          ParOpen = Low[1];        }      }    }Else     {      If (High >= ParOpen[1])      {        TbPosition = 1 ;        oTransition = 1 ;                oParClose = LLValue ;        HHValue = High ;        LLValue  = Low ;                Af = AfStep ;        ParOpen = oParClose + Af * ( HHValue - oParClose) ;        If (ParOpen > Low)        {          ParOpen = Low ;        }                If (ParOpen > Low[1])        {          ParOpen = Low[1];        }      }Else      {        TbPosition = TbPosition[1];        oParClose = ParOpen[1];                  If (LLValue < LLValue[1] And Af[1] < AfLimit )        {          If(Af[1]+AfStep > AfLimit)          {            Af = AfLimit ;          }Else          {            Af = Af[1]+AfStep;          }        }Else        {          Af = Af[1];        }        ParOpen = oParClose + Af * ( LLValue - oParClose ) ;          If (ParOpen < High)        {          ParOpen = High ;        }                If (ParOpen < High[1])        {          ParOpen = High[1] ;        }      }    }    }      oParOpen = ParOpen;  oTbPosition = TbPosition;  Return True;End//------------------------------------------------------------------------// 编译版块  GS2010.12.08// 版权总共  TradeBlazer Software 2003-2025// 更动声明  TradeBlazer Software保留对TradeBlazer平//      台每一版块的TradeBlazer公式修改和重写的权柄//------------------------------------------------------------------------

附源码:>>>往还(双均线,示例<触及三方笼罩性,阉割版>)

//------------------------------------------------------------------------// 简称: DualMA_B// 称呼: 双均线任性// 类别: 公式诳骗// 类型: 用户诳骗// 输出: Void//------------------------------------------------------------------------/* */ Params Numeric FastLength(5); // 短期指数平均线参数 Numeric SlowLength(20); // 长久指数平均线参数 Numeric RiskRatio(1); // % Risk Per N ( 0 - 100) Numeric ATRLength(14); // 平均波动周期 ATR Length Vars Series<Numeric> AvgValue1; Series<Numeric> AvgValue2; Numeric MinPoint; // 最小变动单元 Series<Numeric> AvgTR; // ATR Numeric N; // N 值 Numeric TotalEquity; // 按最新收盘价计较出的总财富 Numeric TurtleUnits; // 往还单元 Numeric myEntryPrice; // 开仓价钱 Numeric myExitPrice; // 平仓价钱 Numeric NthL; // Numeric NthS; // Events OnBar(ArrayRef<Integer> indexs) { AvgValue1 = AverageFC(Close,FastLength); AvgValue2 = AverageFC(Close,SlowLength); PlotNumeric('MA1',AvgValue1); PlotNumeric('MA2',AvgValue2); MinPoint = MinMove*PriceScale; AvgTR = XAverage(TrueRange,ATRLength); N = AvgTR[1]; TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin(); TurtleUnits = (TotalEquity*RiskRatio/100) /(N * ContractUnit()*BigPointValue()); TurtleUnits = IntPart(TurtleUnits); // 对极少取整 NthL = NthCon(CrossOver(AvgValue1[1], AvgValue2[1]), 1) + 1; NthS = NthCon(CrossUnder(AvgValue1[1], AvgValue2[1]), 1) + 1; //Commentary('Nth = ' + Text(Nth)); //Commentary('H[Nth] = ' + Text(H[Nth])); }//------------------------------------------------------------------------// 编译版块 2023/08/03 221932// 版权总共 yyyz_tb// 更动声明 TradeBlazer Software保留对TradeBlazer平台// 每一版块的TradeBlazer公式修改和重写的权柄//------------------------------------------------------------------------

附源码:>>>目的

//------------------------------------------------------------------------// 简称: SAR// 称呼: 抛物线转向// 类别: 公式诳骗// 类型: 内建诳骗//------------------------------------------------------------------------Params  Numeric AfStep( 0.02);  Numeric AfLimit( 0.2 ) ;Vars  Series<Numeric> V2oParCl( 0 );   Series<Numeric> V2oPosition( 0 );   Numeric oParCl( 0 );  Numeric oParOp( 0 );  Numeric oPosition( 0 );  Numeric oTransition( 0 );Events  OnBar(ArrayRef<Integer> indexs)  {    Range[0:DataSourceSize() - 1]    {      ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition ) ;      If(oPosition == 1)      {        PlotAuto( 'ParCl' , oParCl,0,Rgb(255,58,0),Enum_Dot) ;      }      Else      {        PlotAuto( 'ParCl' , oParCl,0,Rgb(65,150,0),Enum_Dot) ;      }          }        V2oParCl = oParCl;    V2oPosition = oPosition;        Commentary('oParCl = ' + Text(oParCl));    Commentary('oParOp = ' + Text(oParOp));    Commentary('oPosition = ' + Text(oPosition));    Commentary('oTransition = ' + Text(oTransition));       }//------------------------------------------------------------------------// 编译版块  GS2010.12.08// 版权总共  TradeBlazer Software 2003-2025// 更动声明  TradeBlazer Software保留对TradeBlazer平//      台每一版块的TradeBlazer公式修改和重写的权柄//------------------------------------------------------------------------

注:作用于往还斥地者tbq系列,可平直贴入并保存编译。仅动作学习参考,请勿未经授权用于营业用途!

本站仅提供存储处事,总共骨子均由用户发布,如发现存害或侵权骨子,请点击举报。

Powered by 33财富前沿 @2013-2022 RSS地图 HTML地图