請教提高預警速度的問題_第1頁
請教提高預警速度的問題_第2頁
請教提高預警速度的問題_第3頁
請教提高預警速度的問題_第4頁
請教提高預警速度的問題_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、請教提高預警速度的問題    問: QUOTE: op8k G I%b%u 7D3219393 請教提高預警速度的問題(如何設置快速計算) k&Ft K67e3219393建立技術指標kdjMACD博客#e/k4U R2input:n(9,1,100),m1(3,2,40),m2(3,2,40);T(B,S!n3Is6R,L!P3219393RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;h'ME9lUj3219393K:SMA(RSV,M1,1);%_.z4WA4?1p G'

2、Kk"O3219393D:SMA(K,M2,1);MACD博客 QV#JY&LG I0YdJ:3*K-2*D;E2O"q4A.m;LRb' P3219393a:cross(k,d);gF(bbE#h3219393再建立一個條件選股公式,想使用60分鐘周期:+d:x0a%+q(E3219393,_7o2o(A1tW-dS3219393STKINDI(STKLABEL,kdj.a',0,5);MACD博客 g L,i);DA.L Ka想進行快速計算,但不知道如何正確計算出最后一組輸出所需要的數據數量,MACD博客f&I j3lY請教高手指點迷津。

3、MACD博客vk.B$gD3A:x多謝了!南客老師答:MACD博客-Aml#NMF6!m,yMACD博客Elb0o$W"BB1、對于ma(x,n)函數,快速計算的周期數很容易確定,就取n剛好就夠了。MACD博客_.cc _2Ih-_ B2、對于使用了sma、dma、ema等函數的情況,從理論上來說,使用了所有的數據,就是說,所有的數據都參與了計算,才能得出最后的結果。但如果從另一個角度來分析,即從sma(x,m,n)函數的定義出發進行研究,可以發現并不需要所有數據。MACD博客 I+l&xFW'3iTsma()函數的定義:MACD博客V#A |io0L)kSMA(X,

4、N,M),求X的N日移動平均,M為權重。MACD博客0Lj _Y Xs*AW算法: 若Y=SMA(X,N,M) 則 Y=(M*X+(N-M)*Y')/N, 其中Y'表示上一周期Y值,N必須大于M,其中y的初值等于x的初值。MACD博客&tM98PyU'X!l0|1S整理上述定義式:MACD博客lvpp8Z?y=(m/n)*x+(n-m)/n)*y'MACD博客_4q.s#T4h?9jm4|從定義式容易看出,某個周期的y值,跟上一個周期的y值即y'有關,這樣類推,很顯然某個周期的y值跟前面所有周期的y值都有關。MACD博客5T,B a$.m6b結論

5、1:y=sma(x,n,m),所有的變量x都參與了計算。MACD博客4I_ bm/t其次,我們看看,上個周期的y值即y',對本周期的貢獻是(n-m)/n)*y',這里貢獻的比例系統是(n-m)/n),請注意(n-m)/n)<1,為了表述方便,設k=(n-m)/n)。MACD博客-_!CK3#h很明顯,對于某個周期的y值,上個周期的y貢獻是y*k,再上個周期的貢獻是y*k2(k2表示k的平方),前第3周期的貢獻是y*k3,前第n周期的貢獻是y*kn,由于k<1,因此當n比較大的時候,kn就非常小了,當n足夠大的時候,前面的y值對當前值的影響就可以忽略不計。(SN Xj

6、5Q1P9k6W |3219393以KDJ指標中的K線為例,我們設計一個公式來驗證一下: CODE:MACD博客#$?E0dBClm7u input:n(9,1,100),m1(3,2,40),ii(10,10,9999); /參數定義$k(E"QN9EbEaM3219393+oW)kA9C2W3219393RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;MACD博客1a ZL#sr*nK:SMA(RSV,M1,1); /這里的k,使用了所有的數據MACD博客Z8$xrE p;Qa*W E&v)S5r-u4Y/W32193

7、93/以下的K指標線,僅計算ii組數據'Q%y.BhM&K6Mk6?,M3219393fc:=c; fh:=h; fl:=l;MACD博客,a(xu3X!iaa:=setlbound(fc,datacount-ii-1); /fc僅取最后ii組數據L?"cW4vrfX3219393fRSV:=(CLOSE-LLV(fl,N)/(HHV(fh,N)-LLV(fl,N)*100;MACD博客 lM4D pnuB4vQfK:SMA(fRSV,M1,1);  /這里的fK,僅計算了最后ii組數據上述公式代碼,通過改變參數ii,可以調整參與計算的數據量,當參

8、數逐步增大的時候,我們來觀察最后的K與最后fK的差異,當其它參數取默認參數,而ii增大到50,可以發現,K與fK已經看不出差別了。MACD博客m iGFH*B$SY$m3219393請看以下貼圖,描述了當計算的數據數量ii逐步增大時,最后結果的差異S Ioc3219393下面的圖1,當ii10即取10組數據來計算fK的時候,fK與K的差異比較明顯。A&mc-C$H(X3219393xo!jq$B*m3219393南客 附上了此圖片:MACD博客*L"N._Ok.p6kMACD博客%fo qD8Y-ny;fI5I#Ge H'T? U32193931.gif q'

9、a YgH qq f)%I3219393'&a*$Q e,X7z!8/r3219393下面的圖2,當ii=20時,差異就很小了mM!gW"P3219393)2f3Jl%K83219393南客 附上了此圖片:MACD博客 b3M4Zd&L-ISMACD博客f!M2v9Uc g:noMACD博客Nu/I6Bt6f2.gifMACD博客4i(_5MyXUo2Rhvw8'9WfX4o4P a3219393圖3,ii=30,在圖中能夠看到的小數范圍,已經看不到差異了。MACD博客OE Lb:_3c/g:_&S0uv3219393南客 附上了此圖片:MAC

10、D博客H*Ht1oHn,p;(VvC5S3219393MACD博客/k(f?%m+U8j Ji&r P3.giff#AoR)L'xv-_!O3219393o Q:Fb3219393上面是當參數m1取默認值3的情況所貼的圖,當改變參數m1時,結果會有變化,比如,我把m1參數調整為13,ii仍然等于30,再看下面的貼圖。MACD博客*e7onXB圖4中,fK與K的差異,無論從最后的數值,還是2條指標線的對比,最后若干周期的差異都很明顯,這是因為,參數M1等于3時,上一周期的貢獻比例為2/3,而參數M1等于13時,上一周期的貢獻比例為12/13,貢獻比例增大了不少。MACD博客6&a

11、mp;z7A'C;Yl7_&GMACD博客RX-TO%dBK南客 附上了此圖片:VJ.k$R/m3219393MACD博客mmm%k keMACD博客;j/No7I0'j; O4.gif-r's0i.i8(3219393l r: g3219393此時,我們把參數ii調整到M1的10倍,即ii=130,再看貼圖,可以看出,最后若干的差異幾乎看不出來了。MACD博客g3z(M!J g結論:對于類似KDJ指標,使用了函數sma(x,n,m),快速計算的數值,可取參數n的10倍。z|35W%U;B DZ-U3219393&D2x/K;A3N-FA"32

12、19393南客 附上了此圖片:MACD博客.Z8N"$U e*D!z" b.V1QAR ks3219393*XzA,nD X32193935.gifMACD博客xqt$3ov.Z'rMACD博客_RdG5c說了半天,遇到具體問題時,有些初學的狐友,可能還是不會判斷,下面以KDJ指標為例進行綜合判斷,參見下圖。MACD博客6xsXN L%mMKDJ指標中,共有4行代碼,對每一行都進行分析,找出每一行代碼進行快速計算時,需要的數據量,然后取這里得到的若干數值中的最大的一個。具體分析如下:j(aW b8s5J32193931、KDJ原始指標的公式代碼如下:MACD博客fI

13、Gz0f+'YRSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;/0e5?8c9huL3219393K:SMA(RSV,M1,1);MACD博客/a2z?J%DoD:SMA(K,M2,1);MACD博客1Y)YG W&?rJ:3*K-2*DMACD博客"!JmnG)ecTMACD博客'tNL*Q b2、對每行代碼進行分析:MACD博客VW!E6XRSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;MACD博客b/f-(b%Xp"O這行代碼,涉及到HH

14、V、LLV函數,求出N個周期中的最大或最小值,顯然只需要N組數值就夠了。-快速計算的數據量為NMACD博客!E*"wO bpqMACD博客%AV03GMs/l/MACD博客b2k5w t$f H;TK:SMA(RSV,M1,1);MACD博客A3M18a+XU avU這行代碼,使用了前面討論的SMA()函數,根據前面的結論,快速計算需要的數據為10*M1MACD博客F'i jNW;JMACD博客!lyWIRfew4gV0C9yL6F3219393D:SMA(K,M2,1);$i% lT;XqM#Hp'|3219393這行代碼,同上面K指標線分析,需要的數據量為10*M

15、2MACD博客*U(Xh5R.HAMACD博客T?zJ/U% HMACD博客 Q ZMljmJ:3*K-2*D9R0gh3M(E ? o1R3219393這行代碼,只使用了四則運算,所需要的數據量取決于K、D,這里無需分析需要的數據量。-T B t6:v3219393MACD博客%EcpF%j3、總結前面的分析,KDJ指標快速計算所需要的數據量分別是:N、10*M1、10*M2,到底取哪個呢?應取這3個數值中的最大。具體需要多大,就跟實際應用的時候所取的參數有關了。MACD博客F*P9_2g&m;S"E比如,我在預警中,使用了KDJ指標,參數(N,M1,M2)分別取(18,6

16、,3),那么,由KDJ指標分析,快速計算所需要的數據量分別是18,60,30,取其中的最大值60,即最后取60就可以了。3_6h*kf/HG-I8V32193932e,hh'V i9r4KB!a3219393南客 附上了此圖片:|;H P x/Pr ?/i3219393P a-vZF8)s|3219393MACD博客4l% W%Ni6.gifMACD博客O,dz nO EfGMACD博客 zSS *?)Q:J有了前面的分析,再來簡要說明一下ema()、dma()函數,還是從定義式出發:9J&u&Bz i7Q/YX9W!m3219393*y8N6zOL,U32193931

17、、EMA(X,N),求X的N日指數平滑移動平均。MACD博客8Z(M.M|O g9wz-mW算法: )my'C' dX(y:S3219393若Y=EMA(X,N) 則Y=2*X+(N-1)*Y'/(N+1), 其中Y'表示上一周期Y值。MACD博客Vb_x3GYP EMACD博客sZx6lt-如果仔細研究了上面關于sma(x,n,m)的討論,容易知道,ema(x,n)快速計算所需要的數據量,大致也是10*nMACD博客o2QY.tz5jI'MACD博客4B.R;hY D'w2、DMA(X,A),求X的動態移動平均。MACD博客_ e"V

18、ela算法: /CH-T(Gn*3219393若Y=DMA(X,A) 則 Y=A*X+(1-A)*Y', 其中Y'表示上一周期Y值,A必須小于1。l MS7qOnO3219393MACD博客k'u/a)d2Yk3 k/L關鍵是看上一周期的貢獻比例,這里顯然是(1-A),大致取10/(1-A)就夠了,其實還可以取小一點,不必那么大,分析起來比較復雜,這里就不展開了。n+F-me'.3219393_#I C)s6IT%Dr3219393最后要說明的是,根據sma(x,n,m)的定義,很顯然MACD博客J"zXbe+T_sma(x,n,m)=sma(x,2*n,2*m)=.6D6_B|22K0QX3219393因此,如果看到這樣的代碼MACD博客x5c0kca(U!Z RjU-2msma(c,10,5),應該先進行簡化后再分析,即簡化sma(c,2,1),快速計算的數據量等于2*1020,而不是10*10100。/s k&s m%HZ;ST'32193938V:h*bt:k32193

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論