本软件春节前最重要的一次更新,已经上传。 本次更新主要是在语法层支持向量运算,也就是指标运算。 考虑到指标算法的标准性,这次所有公式类指标全部来自 开源ta-lib-0.4.0-msvc指标库。 AD Chaikin A/D Line ADOSC Chaikin A/D Oscillator ADX Average Directional Movement Index ADXR Average Directional Movement Index Rating APO Absolute Price Oscillator AROON Aroon AROONOSC Aroon Oscillator ATR Average True Range AVGPRICE Average Price BBANDS Bollinger Bands BETA Beta BOP Balance Of Power CCI Commodity Channel Index CDL2CROWS Two Crows CDL3BLACKCROWS Three Black Crows CDL3INSIDE Three Inside Up/Down CDL3LINESTRIKE Three-Line Strike CDL3OUTSIDE Three Outside Up/Down CDL3STARSINSOUTH Three Stars In The South CDL3WHITESOLDIERS Three Advancing White Soldiers CDLABANDONEDBABY Abandoned Baby CDLADVANCEBLOCK Advance Block CDLBELTHOLD Belt-hold CDLBREAKAWAY Breakaway CDLCLOSINGMARUBOZU Closing Marubozu CDLCONCEALBABYSWALL Concealing Baby Swallow CDLCOUNTERATTACK Counterattack CDLDARKCLOUDCOVER Dark Cloud Cover CDLDOJI Doji CDLDOJISTAR Doji Star CDLDRAGONFLYDOJI Dragonfly Doji CDLENGULFING Engulfing Pattern CDLEVENINGDOJISTAR Evening Doji Star CDLEVENINGSTAR Evening Star CDLGAPSIDESIDEWHITE Up/Down-gap side-by-side white lines CDLGRAVESTONEDOJI Gravestone Doji CDLHAMMER Hammer CDLHANGINGMAN Hanging Man CDLHARAMI Harami Pattern CDLHARAMICROSS Harami Cross Pattern CDLHIGHWAVE High-Wave Candle CDLHIKKAKE Hikkake Pattern CDLHIKKAKEMOD Modified Hikkake Pattern CDLHOMINGPIGEON Homing Pigeon CDLIDENTICAL3CROWS Identical Three Crows CDLINNECK In-Neck Pattern CDLINVERTEDHAMMER Inverted Hammer CDLKICKING Kicking CDLKICKINGBYLENGTH Kicking - bull/bear determined by the longer marubozu CDLLADDERBOTTOM Ladder Bottom CDLLONGLEGGEDDOJI Long Legged Doji CDLLONGLINE Long Line Candle CDLMARUBOZU Marubozu CDLMATCHINGLOW Matching Low CDLMATHOLD Mat Hold CDLMORNINGDOJISTAR Morning Doji Star CDLMORNINGSTAR Morning Star CDLONNECK On-Neck Pattern CDLPIERCING Piercing Pattern CDLRICKSHAWMAN Rickshaw Man CDLRISEFALL3METHODS Rising/Falling Three Methods CDLSEPARATINGLINES Separating Lines CDLSHOOTINGSTAR Shooting Star CDLSHORTLINE Short Line Candle CDLSPINNINGTOP Spinning Top CDLSTALLEDPATTERN Stalled Pattern CDLSTICKSANDWICH Stick Sandwich CDLTAKURI Takuri (Dragonfly Doji with very long lower shadow) CDLTASUKIGAP Tasuki Gap CDLTHRUSTING Thrusting Pattern CDLTRISTAR Tristar Pattern CDLUNIQUE3RIVER Unique 3 River CDLUPSIDEGAP2CROWS Upside Gap Two Crows CDLXSIDEGAP3METHODS Upside/Downside Gap Three Methods CMO Chande Momentum Oscillator CORREL Pearson's Correlation Coefficient (r) DEMA Double Exponential Moving Average DX Directional Movement Index EMA Exponential Moving Average HT_DCPERIOD Hilbert Transform - Dominant Cycle Period HT_DCPHASE Hilbert Transform - Dominant Cycle Phase HT_PHASOR Hilbert Transform - Phasor Components HT_SINE Hilbert Transform - SineWave HT_TRENDLINE Hilbert Transform - Instantaneous Trendline HT_TRENDMODE Hilbert Transform - Trend vs Cycle Mode KAMA Kaufman Adaptive Moving Average LINEARREG Linear Regression LINEARREG_ANGLE Linear Regression Angle LINEARREG_INTERCEPT Linear Regression Intercept LINEARREG_SLOPE Linear Regression Slope MA All Moving Average MACD Moving Average Convergence/Divergence MACDEXT MACD with controllable MA type MACDFIX Moving Average Convergence/Divergence Fix 12/26 MAMA MESA Adaptive Moving Average TA_MAVP Moving average with variable period MAX Highest value over a specified period MAXINDEX Index of highest value over a specified period MEDPRICE Median Price MFI Money Flow Index MIDPOINT MidPoint over period MIDPRICE Midpoint Price over period MIN Lowest value over a specified period MININDEX Index of lowest value over a specified period MINMAX Lowest and highest values over a specified period MINMAXINDEX Indexes of lowest and highest values over a specified period MINUS_DI Minus Directional Indicator MINUS_DM Minus Directional Movement MOM Momentum NATR Normalized Average True Range OBV On Balance Volume PLUS_DI Plus Directional Indicator PLUS_DM Plus Directional Movement PPO Percentage Price Oscillator ROC Rate of change : ((price/prevPrice)-1)*100 ROCP Rate of change Percentage: (price-prevPrice)/prevPrice ROCR Rate of change ratio: (price/prevPrice) ROCR100 Rate of change ratio 100 scale: (price/prevPrice)*100 RSI Relative Strength Index SAR Parabolic SAR SAREXT Parabolic SAR - Extended SMA Simple Moving Average STDDEV Standard Deviation STOCH Stochastic STOCHF Stochastic Fast STOCHRSI Stochastic Relative Strength Index SUM Summation T3 Triple Exponential Moving Average (T3) TEMA Triple Exponential Moving Average TRANGE True Range TRIMA Triangular Moving Average TRIX 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA TSF Time Series Forecast TYPPRICE Typical Price ULTOSC Ultimate Oscillator VAR Variance WCLPRICE Weighted Close Price WILLR Williams' %R WMA Weighted Moving Average
共计139个指标函数 对应在本软中是: TA_AD(&High,&Low,&Close,&Volume,&AD); TA_ADOSC(&High,&Low,&Close,&Volume,fast_points,slow_points,&ADOSC); TA_ADX(&High,&Low,&Close,points,&OUT); TA_ADXR(&High,&Low,&Close,points,&OUT); TA_APO(&IN,fast_points,slow_points,ma_type,&OUT); TA_AROON(&High,&Low,points,&DOWN,&UP); TA_AROONOSC(&High,&Low,points,&OUT); TA_ATR(&High,&Low,&Close,points,&OUT); TA_AVGPRICE(&Open,&High,&Low,&Close,&OUT); TA_BBANDS(&IN,points,up,down,ma_type,&OUT1,&OUT2,&OUT3); TA_BETA(&High,&Low,points,&OUT); TA_BOP(&Open,&High,&Low,&Close,&OUT); TA_CCI(&High,&Low,&Close,points,&OUT); TA_CDL2CROWS(&Open,&High,&Low,&Close,&OUT); TA_CDL3BLACKCROWS(&Open,&High,&Low,&Close,&OUT); TA_CDL3INSIDE(&Open,&High,&Low,&Close,&OUT); TA_CDL3LINESTRIKE(&Open,&High,&Low,&Close,&OUT); TA_CDL3OUTSIDE(&Open,&High,&Low,&Close,&OUT); TA_CDL3STARSINSOUTH(&Open,&High,&Low,&Close,&OUT); TA_CDL3WHITESOLDIERS(&Open,&High,&Low,&Close,&OUT); TA_CDLABANDONEDBABY(&Open,&High,&Low,&Close,para,&OUT); TA_CDLADVANCEBLOCK(&Open,&High,&Low,&Close,&OUT); TA_CDLBELTHOLD(&Open,&High,&Low,&Close,&OUT); TA_CDLBREAKAWAY(&Open,&High,&Low,&Close,&OUT); TA_CDLCLOSINGMARUBOZU(&Open,&High,&Low,&Close,&OUT); TA_CDLCONCEALBABYSWALL(&Open,&High,&Low,&Close,&OUT); TA_CDLCOUNTERATTACK(&Open,&High,&Low,&Close,&OUT); TA_CDLDARKCLOUDCOVER(&Open,&High,&Low,&Close,para,&OUT); TA_CDLDOJI(&Open,&High,&Low,&Close,&OUT); TA_CDLDOJISTAR(&Open,&High,&Low,&Close,&OUT); TA_CDLDRAGONFLYDOJI(&Open,&High,&Low,&Close,&OUT); TA_CDLENGULFING(&Open,&High,&Low,&Close,&OUT); TA_CDLEVENINGDOJISTAR(&Open,&High,&Low,&Close,para,&OUT); TA_CDLEVENINGSTAR(&Open,&High,&Low,&Close,para,&OUT); TA_CDLGAPSIDESIDEWHITE(&Open,&High,&Low,&Close,&OUT); TA_CDLGRAVESTONEDOJI(&Open,&High,&Low,&Close,&OUT); TA_CDLHAMMER(&Open,&High,&Low,&Close,&OUT); TA_CDLHANGINGMAN(&Open,&High,&Low,&Close,&OUT); TA_CDLHARAMI(&Open,&High,&Low,&Close,&OUT); TA_CDLHARAMICROSS(&Open,&High,&Low,&Close,&OUT); TA_CDLHIGHWAVE(&Open,&High,&Low,&Close,&OUT); TA_CDLHIKKAKEMOD(&Open,&High,&Low,&Close,&OUT); TA_CDLHIKKAKE(&Open,&High,&Low,&Close,&OUT); TA_CDLHOMINGPIGEON(&Open,&High,&Low,&Close,&OUT); TA_CDLIDENTICAL3CROWS(&Open,&High,&Low,&Close,&OUT); TA_CDLINNECK(&Open,&High,&Low,&Close,&OUT); TA_CDLINVERTEDHAMMER(&Open,&High,&Low,&Close,&OUT); TA_CDLKICKING(&Open,&High,&Low,&Close,&OUT); TA_CDLKICKINGBYLENGTH(&Open,&High,&Low,&Close,&OUT); TA_CDLLADDERBOTTOM(&Open,&High,&Low,&Close,&OUT); TA_CDLLONGLEGGEDDOJI(&Open,&High,&Low,&Close,&OUT); TA_CDLLONGLINE(&Open,&High,&Low,&Close,&OUT); TA_CDLMARUBOZU(&Open,&High,&Low,&Close,&OUT); TA_CDLMATCHINGLOW(&Open,&High,&Low,&Close,&OUT); TA_CDLMATHOLD(&Open,&High,&Low,&Close,para,&OUT); TA_CDLMORNINGDOJISTAR(&Open,&High,&Low,&Close,para,&OUT); TA_CDLMORNINGSTAR(&Open,&High,&Low,&Close,para,&OUT); TA_CDLONNECK(&Open,&High,&Low,&Close,&OUT); TA_CDLPIERCING(&Open,&High,&Low,&Close,&OUT); TA_CDLRICKSHAWMAN(&Open,&High,&Low,&Close,&OUT); TA_CDLRISEFALL3METHODS(&Open,&High,&Low,&Close,&OUT); TA_CDLSEPARATINGLINES(&Open,&High,&Low,&Close,&OUT); TA_CDLSHOOTINGSTAR(&Open,&High,&Low,&Close,&OUT); TA_CDLSHORTLINE(&Open,&High,&Low,&Close,&OUT); TA_CDLSPINNINGTOP(&Open,&High,&Low,&Close,&OUT); TA_CDLSTALLEDPATTERN(&Open,&High,&Low,&Close,&OUT); TA_CDLSTICKSANDWICH(&Open,&High,&Low,&Close,&OUT); TA_CDLTAKURI(&Open,&High,&Low,&Close,&OUT); TA_CDLTASUKIGAP(&Open,&High,&Low,&Close,&OUT); TA_CDLTHRUSTING(&Open,&High,&Low,&Close,&OUT); TA_CDLTRISTAR(&Open,&High,&Low,&Close,&OUT); TA_CDLUNIQUE3RIVER(&Open,&High,&Low,&Close,&OUT); TA_CDLUPSIDEGAP2CROWS(&Open,&High,&Low,&Close,&OUT); TA_CDLXSIDEGAP3METHODS(&Open,&High,&Low,&Close,&OUT); TA_CMO(&IN,points,&OUT); TA_CORREL(&High,&Low,points,&OUT); TA_DEMA(&IN,points,&OUT); TA_DX(&High,&Low,&Close,points,&OUT); TA_EMA(&IN,points,&OUT); TA_HT_DCPERIOD(&IN,&OUT); TA_HT_DCPHASE(&IN,&OUT); TA_HT_PHASOR(&IN,&OUT,&OUT1); TA_HT_SINE(&IN,&OUT,&OUT1); TA_HT_TRENDLINE(&IN,&OUT); TA_HT_TRENDMODE(&IN,&OUT); TA_KAMA(&IN,points,&OUT); TA_LINEARREG(&IN,points,&OUT); TA_LINEARREG_ANGLE(&IN,points,&OUT); TA_LINEARREG_INTERCEPT(&IN,points,&OUT); TA_LINEARREG_SLOPE(&IN,points,&OUT); TA_MA(&IN,points,ma_type,&OUT); TA_MACD(&IN,fast_points,slow_points,in_points,&OUT1,&OUT2,&OUT3); TA_MACDEXT(&IN,fast_points,fast_ma_type,slow_points,slow_ma_type,in_points,in_ma_type,&OUT1,&OUT2,&OUT3); TA_MACDFIX(&IN,in_points,&OUT1,&OUT2,&OUT3); TA_MAMA(&IN,fast_xs,slow_xs,&OUT,&OUT1); TA_MAVP(&IN,&IN1,fast_points,slow_points,ma_type,&OUT); TA_MAX(&IN,points,&OUT); TA_MAXINDEX(&IN,points,&OUT); TA_MEDPRICE(&High,&Low,&OUT); TA_MFI(&High,&Low,&Close,&volume,points,&OUT); TA_MIDPOINT(&IN,points,&OUT); TA_MIDPRICE(&High,&Low,points,&OUT); TA_MIN(&IN,points,&OUT); TA_MININDEX(&IN,points,&OUT); TA_MINMAX(&IN,points,&OUT,&OUT1); TA_MINMAXINDEX(&IN,points,&OUT,&OUT1); TA_MINUS_DI(&High,&Low,&Close,points,&OUT); TA_MINUS_DM(&High,&Low,points,&OUT); TA_MOM(&IN,points,&OUT); TA_NATR(&High,&Low,&Close,points,&OUT); TA_OBV(&Close,&Volume,&OUT); TA_PLUS_DI(&High,&Low,&Close,points,&OUT); TA_PLUS_DM(&High,&Low,points,&OUT); TA_PPO(&IN,fast_points,slow_points,ma_type,&OUT); TA_ROC(&IN,points,&OUT); TA_ROCP(&IN,points,&OUT); TA_ROCR(&IN,points,&OUT); TA_ROCR100(&IN,points,&OUT); TA_RSI(&IN,points,&OUT); TA_SAR(&High,&Low,xs,max_xs,&OUT); TA_SAREXT(&High,&Low,m_Start,m_Offset,m_InitLong,m_Long,m_MaxLong,m_InitShort,m_Short,m_MaxShort,&OUT); TA_SMA(&IN,points,&OUT); TA_STDDEV(&IN,points,nb,&OUT); TA_STOCH(&High,&Low,&Close,FastK,SlowK,SlowK_type,SlowD,SlowD_type,&OUT,&OUT1); TA_STOCHF(&High,&Low,&Close,FastK,FastD,FastD_type,&OUT,&OUT1); TA_STOCHRSI(&IN,points,FastK,FastD,FastD_type,&OUT,&OUT1); TA_SUM(&IN,points,&OUT); TA_T3(&IN,points,xs,&OUT); TA_TEMA(&IN,points,&OUT); TA_TRANGE(&High,&Low,&Close,&OUT); TA_TRIMA(&IN,points,&OUT); TA_TRIX(&IN,points,&OUT); TA_TSF(&IN,points,&OUT); TA_TYPPRICE(&High,&Low,&Close,&OUT); TA_ULTOSC(&High,&Low,&Close,points1,points2,points3,&OUT); TA_VAR(&IN,points,xs,&OUT); TA_WCLPRICE(&High,&Low,&Close,&OUT); TA_WILLR(&High,&Low,&Close,points,&OUT); TA_WMA(&IN,points,&OUT); 函数名和参数顺序都和ta-lib-0.4.0-msvc一样。
测试用代码: OpenLsLib("SR1305",64,1,850); var open,high,low,close,volume,out,out1,out2; TA_OPEN(&open); TA_HIGH(&high); TA_LOW(&low); TA_CLOSE(&close); TA_VOLUME(&volume); var c=TA_HT_PHASOR(&high,&out,&out1); var m_max=out.GetHigh(); var m_min=out.GetLow(); TA_DrawLine(&out,12,0,3,0,0x1FF00FF,"PHASOR",m_max,m_min); //注意:TA_前导也可改用hi_前导
>>语言编辑和调试时,可以双击对话框右下角变量中的指标变量,可以查看指标的所有数据。双击其他变量会切回源码显示。 >>公式函数在编程时比较简单,但他有启动慢的特点,所以二次编程要注意这个特点,可以通过确当的编程,比如调用参数是变量引用的函数,变量方法函数,来消除他的影响。 >>大家应当注意到,公式函数的输入参数大部分用的是向量引用,减少了向量拷贝,可以有效地节省运算时间。 向量运算的标准化,可以使向量作为非标准指标的载体,使指标编程更有效率。 >>获取指标的具体数据,可以用[0],[1]..来访问,也可以用负的索引从向量的屁股后面访问比如close[-1],就表示收盘价close的最后一个数据,close[-2]就是倒数第二。。。 >>向量的[]和向量数组的[]有机的结合一起。 比如定义一个一维的指标数组。 var m_zb00[10], 那么可以用m_zb[j]来访问具体指标的数据 本次修改,在语法层增加了变量方法函数,这也是为了更好的处理字符串变量和指标变量。 var str=" asdfgh"; str.TrimLeft(); .TrimLeft() 就是变量方法函数,熟悉Vc的就会感到很亲切 变量方法函数不建议初学者使用。