奇狐社區論壇
在這個頁面顯示本主題全部的 5 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 請教 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=21606)


由 a9681054 在 2018-10-17 11:41 發表:

請教

//MACD//
OO:=OPEN; LL2:=LLV(LOW,2); HH2:=HHV(HIGH,2);
CC:=CLOSE ;
DIFF:=EMA( CC , S ) - EMA( CC , G ),PRECISION2 ;
DEA:=EMA( DIFF , M ),PRECISION2,COLORWHITE ;
MACD:=2 * ( DIFF - DEA ) ,PRECISION2,LINETHICK1,COLORMAGENTA;
AA:H>REF(H,1)AND MACD>0 linethick;
BB:L<REF(L,1)AND MACD<0 linethick;

NowMM:=0; 停損線:=CLOSE*0;
停損線[1]:=OO[1];
for i=2 to DATACOUNT do begin
IF AA[i] and LL2[i]>NowMM then begin
NowMM:=LL2[i];
end else IF BB[i] and HH2[i]<NowMM then begin
NowMM:=HH2[i];
end;
停損線[i]:=NowMM;
end;


//SAR//
OO:=OPEN; LL2:=LLV(LOW,2); HH2:=HHV(HIGH,2);
SARN:=SAR(N,STEP,MAXP),CIRCLEDOT;
CH:=CROSS(SARN,L);
CL:=-CROSS(H,SARN);
TF:=IF(CH,CH,IF(CROSS(H,SARN),CL,0));
UD:=REF(TF,BARSLAST(TF));
AA:H>REF(H,1) AND L>=SARN,linethick ;
BB:L<REF(L,1) AND H<=SARN,linethick;//

NowMM:=0; 停損線:=CLOSE*0;
停損線[1]:=OO[1];
for i=2 to DATACOUNT do begin
IF AA[i] and LL2[i]>NowMM then begin
NowMM:=LL2[i];
end else IF BB[i] and HH2[i]<NowMM then begin
NowMM:=HH2[i];
end;
停損線[i]:=NowMM;
end;


版主你好
上面程式配合迴圈,MACD可以通過測試顯示,但SAR卻出現下標越界,弄了好久不曉得問題出在哪裡?想請版主撥空幫忙,謝謝~

__________________
chiu


由 cgjj 在 2018-10-17 12:03 發表:

回覆: 請教

引用:
最初由 a9681054 發表
//MACD//
OO:=OPEN; LL2:=LLV(LOW,2);
......................................

//SAR//
OO:=OPEN; LL2:=LLV(LOW,2); HH2:=HHV(HIGH,2);
SARN:=SAR(N,STEP,MAXP),CIRCLEDOT;
CH:=CROSS(SARN,L);
CL:=-CROSS(H,SARN);
TF:=IF(CH,CH,IF(CROSS(H,SARN),CL,0));
UD:=REF(TF,BARSLAST(TF));
AA:H>REF(H,1) AND L>=SARN,linethick ;
BB:L<REF(L,1) AND H<=SARN,linethick;//

NowMM:=0; 停損線:=CLOSE*0;
停損線[1]:=OO[1];
for i=2 to DATACOUNT do begin
IF AA[i] and LL2[i]>NowMM then begin
NowMM:=LL2[i];
end else IF BB[i] and HH2[i]<NowMM then begin
NowMM:=HH2[i];
end;
停損線[i]:=NowMM;
end;


版主你好
上面程式配合迴圈,MACD可以通過測試顯示,但SAR卻出現下標越界,弄了好久不曉得問題出在哪裡?想請版主撥空幫忙,謝謝~



當然會出錯囉~~
SARN 數列,第一個有效數據,並非自第一根開始
故 AA 與 BB 也隨之狀況相同(算式中有用到)

您將
AA:H>REF(H,1) AND L>=SARN,linethick;
BB:L<REF(L,1) AND H<=SARN,linethick;

改為
AA:H>REF(H,1) AND L>=SARN or barpos=0,linethick;
BB:L<REF(L,1) AND H<=SARN or barpos=0,linethick;

就可以解決


由 cgjj 在 2018-10-17 12:12 發表:

or BARPOS=0 是一種取巧的寫法, 詳見這邊的解說:
http://www.chiefox.com.tw/bbs/showt...60805#post60805


由 a9681054 在 2018-10-17 12:19 發表:

版主你好
可以顯示了,謝謝您~

__________________
chiu


由 cgjj 在 2018-10-17 12:27 發表:

引用:
最初由 a9681054 發表
版主你好
可以顯示了,謝謝您~



不客氣^^


全部時間均為台灣時間, 現在時間為21:38
在這個頁面顯示本主題全部的 5 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.