股票动态如何获取 源码共享:TBQ_SAR 抛物线目的(深圳往还斥地者TBQuant 加快因子抛物线转向 Stop and Reverse)
投资技巧
发布日期:2025-01-02 07:33 点击次数:191
图片
基本念念路:
>>>抛物线由时间目的大家威尔斯·怀尔德发明, 是对价钱/时刻关系的参议, 亦然一个特地常用的时间目的。 抛物线的最大特质是, 当价钱岂论何时达到新高或新低时, 目的王人会束缚地加快并调紧止损, 这惩办了价钱滞后性的问题。 因此, 使用抛物线不错很好地防患赚钱回吐。 >>>参考 作家:时间投契客 辘集: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系列,可平直贴入并保存编译。仅动作学习参考,请勿未经授权用于营业用途!
本站仅提供存储处事,总共骨子均由用户发布,如发现存害或侵权骨子,请点击举报。