网站大量收购独家精品文档,联系QQ:2885784924

TB公式程序化实例.doc

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TB公式程序化实例

八、技术指标编写 8-1、技术指标技术指标是最常用的一类公式,它通过计算一系列的数学公式,在每个Bar都返回值,这些值在图表模块中输出为线条、柱状图、点等表现形式,通过分析图形特点、走势和曲线帮助客户分析行情走势,得出合理的交易判断。 当技术指标应用在图表中时,您可以设置技术指标各输出值的表现形式,以及颜色、粗细等,如下图的点,线,柱状图所示: 示例,技术指标RSI,脚本如下: Params Numeric Length(14); Numeric OverSold(20); Numeric OverBought (80); Vars Numeric RSIValue(0); Numeric RSIColor(-1); Begin RSIValue = RSI(Close,Length); If (RSIValue OverBought) { RSIColor = RED; }Else If (RSIValue OverSold) { RSIColor = CYAN; } PlotNumeric(RSI1, RSIValue, RSIColor); PlotNumeric(超卖, OverSold); PlotNumeric(超买, OverBought); If CrossOver(RSIValue,OverSold) { Alert(Indicator exiting oversold zone); } If CrossUnder(RSIValue, OverBought) { Alert(Indicator exiting overbought zone); } End 公式应用RSI调用RSI内建用户函数计算出结果,然后判断其返回值和超买,超卖的关系,设置显示颜色,并产生报警信息。 公式应用在输出数据时,我们是通过输出值的名称来进行识别,名称相同则认为是一个数据,如下的代码,后面语句的输出数据将会覆盖前面语句的输出数据。 PlotNumeric(Test,10); PlotNumeric(Test,20); 最后Test输出的数据为20,而不是10。 常用的技术指标类函数有PlotNumeric、PlotString、PlotBool、UnPlot、Alert。 8-2、常用的技术指标myRSI用户函数 Params Numeric Length(14) ; Vars NumericSeries NetChgAvg( 0 ); NumericSeries TotChgAvg( 0 ); Numeric SF( 0 ); Numeric Change( 0 ); Numeric ChgRatio( 0 ) ; Numeric RSIValue; Begin If(CurrentBar = Length - 1) { NetChgAvg = ( Close - Close[Length] ) / Length ; TotChgAvg = Average( Abs( Close - Close[1] ), Length ) ; }Else { SF = 1/Length; Change = Close - Close[1] ; NetChgAvg = NetChgAvg[1] + SF * ( Change - NetChgAvg[1] ) ; TotChgAvg = TotChgAvg[1] + SF * ( Abs( Change ) - TotChgAvg[1] ) ; } If( TotChgAvg 0 ) { ChgRatio = NetChgAvg / TotChgAvg; }else { ChgRatio = 0 ; } RSIValue = 50 * ( ChgRatio + 1 ); Return RSIValue; 例2:RSI指标交易系统 Params Numeric Length(14) ; Numeric Lots(1); Vars NumericSeries RSIValue; Begin RSIValue = myRSI(Length); PlotNumeric(RSI,RSIValue); if (Marketposition 1 and RSIValue[1] 50) { Buy(lots,open); } if (Marketposition -1 and RSIValue[1]

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档