 |
am1200
資深會員
註冊日期: Jan 2004
來 自:
文章數量: 107 |
[問題]barslast速度一問
INPUT:N(9,1,100), M1(3,2,40), M2(3,2,40);
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100,COLORCYAN;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
CK:=CROSS(K,D);
CC:=C;
for i = ubound(ck) downto lbound(ck) do begin
if CK[i]=1 then break;
end;
KDC:CC[i];
用上面的寫法,與用內建函數barslast都可以求出最近一次KD交叉點,請問barslast為內建函數,速度是否比較快?
|
|
向版主報告此篇 |  |
|
2009-12-02 16:59 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
回覆: [問題]barslast速度一問
引用: 最初由 am1200 發表
INPUT:N(9,1,100), M1(3,2,40), M2(3,2,40);
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100,COLORCYAN;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
CK:=CROSS(K,D);
CC:=C;
for i = ubound(ck) downto lbound(ck) do begin
if CK[i]=1 then break;
end;
KDC:CC[i];
用上面的寫法,與用內建函數barslast都可以求出最近一次KD交叉點,請問barslast為內建函數,速度是否比較快?
以此例來說 barslast 會比較慢
因為 barslast 是每一根K棒都會向前找, 距當根最近一次KD交叉的點
每根K棒都有其自己的值
而您這迴圈, 是只有算最後一根
於最後一根向前找, 距最後一根最近一次KD交叉的點
僅有最末根算出的單一值
與 barslast 作用不盡相同
以計算量來說, 只算最後一根, 負擔會非常輕
|
|
向版主報告此篇 |  |
|
2009-12-03 13:07 |
|
|
|  |
 |
am1200
資深會員
註冊日期: Jan 2004
來 自:
文章數量: 107 |
那內建函數barslast為什麼不加上exit的作法呢?都已經找到最後一個成立點,卻還算完全部的值,可以改進嗎?
|
|
向版主報告此篇 |  |
|
2009-12-03 16:03 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|