 |
kuolung
中級會員
註冊日期: May 2005
來 自:
文章數量: 47 |
|
[問題]在指標運算中,引用指標自己的值
請教我要計算指標時,要引用前一週期來計算這一週期的指標的方式
例如我的指標為 updwon
hight:=ref(high,1);
lowt:=ref(low,1);
for i = 2 to (datacount-3) do begin
if updown[i-1]>0 then begin
if hight[i] < hight[1+1] then begin
if hight[i+1] > hight[i+2] then begin
if lowt[i] < lowt[i+1] then begin
if lowt[i+1] > lowt[i+2] then begin
yest= -1;
end;
end;
end;
end;
end else begin
if hight[i] > hight[1+1] then begin
if hight[i+1] < hight[i+2] then begin
if lowt[i] > lowt[i+1] then begin
if lowt[i+1] < lowt[i+2] then begin
yest= 1;
end;
end;
end;
end;
end;
updwon[i]:=yest;
end;
這樣編譯不過
但我的問題不能用 ref( updown , 1 ) 來取得前一週期的結果,因為
updown 的值和前一週期結果有關
|
|
向版主報告此篇 |  |
|
2010-12-29 13:26 |
|
|
|  |
 |
kuolung
中級會員
註冊日期: May 2005
來 自:
文章數量: 47 |
|
我的想法是,我要找出股票的轉折點,但是,又不用每一支K線都去計算,
所以,先訂在上升趨勢,只檢查向下反轉,
下降趨勢,只檢查向上反轉,
我的 updonw 指標,就是上升下降的指標,
中間的條件,就是其中一個上升下降的反轉的基本條件,當然如果程式可以正常時,我會再增加其他的反轉條件進去,讓它更趨進我的需求
|
|
向版主報告此篇 |  |
|
2010-12-31 12:12 |
|
|
|  |
 |
kuolung
中級會員
註冊日期: May 2005
來 自:
文章數量: 47 |
|
程式可以改寫成這樣子,就比較容易看懂了
// updown = 1 為上升趨勢
// updown = -1 為下降趨勢
XX:=updown;
StNo=lbound(XX);
hight:=ref(high,1);
lowt:=ref(low,1);
for i = Stno+1 to (datacount-3) do begin
if (( updown[i-1] > 0 ) then begin
if (( hight[i] < hight[1+1] ) && ( hight[i+1] > hight[i+2] ) && ( lowt[i] < lowt[i+1] ) && ( lowt[i+1] > lowt[i+2] )) then begin
// 這是第一個簡易的反轉向下的條件
yest = -1 ;
end;
end else begin
if (( hight[i] > hight[1+1] ) && ( hight[i+1] < hight[i+2] ) && ( lowt[i] > lowt[i+1] ) && ( lowt[i+1] < lowt[i+2] )) then begin
// 這是第一個簡易的反轉向上的條件
yest= 1;
end;
end;
updwon[i]:=yest;
end;;
|
| 最後由 kuolung 在 2010-12-31 12:37 編輯 |
向版主報告此篇 |  |
|
2010-12-31 12:20 |
|
|
|  |
 |
kuolung
中級會員
註冊日期: May 2005
來 自:
文章數量: 47 |
|
// updown = 1 為上升趨勢
// updown = -1 為下降趨勢
VARIABLE: i = 0 , yest = 0 ;
XX:=C;
YY:XX*0;
StNo:=lbound(XX);
hight:=ref(high,1);
lowt:=ref(low,1);
for i = StNo+5 to datacount do begin
if ( YY[i-1] > 0 ) then begin
// if (( hight[i] < hight[i-1] ) && ( hight[i-1] > hight[i-2] ) && ( lowt[i] < lowt[i-1] ) && ( lowt[i-1] > lowt[i-2] )) then begin
// 這是第一個簡易的反轉向下的條件
yest = -1 ;
// end else if (( hight[i] < hight[i-1] ) && ( hight[i-1] == hight[i-2] ) && ( hight[i-2] > hight[i-3] ) && ) then begin
// yest = -1 ;
// end else if ( ) then begin
// end else begin
// yest = 1 ;
// end;
end else begin
// if (( hight[i] > hight[i-1] ) && ( hight[i-1] < hight[i-2] ) && ( lowt[i] > lowt[i-1] ) && ( lowt[i-1] < lowt[i-2] )) then begin
// 這是第一個簡易的反轉向上的條件
// yest = i * -1 ;
// end else begin
// yest = -1 ;
// end;
yest = 1 ;
end;
YY[i]:=yest;
end;
updown:YY;
|
|
向版主報告此篇 |  |
|
2010-12-31 14:17 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|