
图片
基本想路:
>>>抛物线由本事目的专家威尔斯·怀尔德发明, 是对价钱/时刻关系的计划, 亦然一个非时时用的本事目的。 抛物线的最大特色是, 当价钱不论何时达到新高或新低时, 目的齐会不绝地加快并调紧止损, 这贬责了价钱滞后性的问题。 因此, 使用抛物线不错很好地退守赚钱回吐。 >>>参考 作家:本事投契客 融会: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系列,可径直贴入并保存编译。仅四肢学习参考,请勿未经授权用于生意用途!
本站仅提供存储工作,整个履行均由用户发布,如发现存害或侵权履行,请点击举报。