![]() |
在這個頁面顯示本主題全部的 3 個文章 |
奇狐社區論壇 (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=6321)
[問題]
AC:=C;
AH:=WMA(H,3);
AL:=WMA(L,4);
FOR I=30+1 TO DATACOUNT DO BEGIN
IF AC[I]>AH[I-1] THEN B[I]:=1 ELSE
IF AC[I]<AL[I-1] THEN B[I]:=-1 ELSE
B[I]:=B[I-1];
END;
E:=IF(B=-1,MA(H,5),MA(L,3));
A:E,PRECISION2,LINETHICK2,COLORyellow;
Wm1:=(B=1 AND REF(B,1)=1) or (B=1 AND REF(B,1)=-1);//升
Wm2:=(B=-1 AND REF(B,1)=-1) or (B=-1 AND REF(B,1)=1);//降
MAV:=EMA((2*C+H+L)/4,3);
MAS:=SMA(MAV,12,7);
MAL:=SMA(MAV,26,7);
DIFF :=(MAS - MAL)/MAL*100,COLORGREEN;
DEA :=SMA(EMA(DIFF,5),3,1),COLORGREEN;
B :MAL*(1-5*(DIFF-DEA)/100),COLORgreen,LINETHICK2;
以上是原碼
為什麼在V4.0.60208中可使用,但在最新版中無法使用,甚至當機呢,可否請版大釋疑,謝謝
您 B 變數尚未定義
就直接用定址方式存取
這就是問題所在
這樣寫法會有很多相容性問題
換成下面程式就可以了
原碼:
AC:=C;
AH:=WMA(H,3);
AL:=WMA(L,4);
B:=C*0;
FOR I=30+1 TO DATACOUNT DO BEGIN
IF AC[I]>AH[I-1] THEN B[I]:=1 ELSE
IF AC[I]<AL[I-1] THEN B[I]:=-1 ELSE
B[I]:=B[I-1];
END;
E:=IF(B=-1,MA(H,5),MA(L,3));
A:E,PRECISION2,LINETHICK2,COLORyellow;
Wm1:=(B=1 AND REF(B,1)=1) or (B=1 AND REF(B,1)=-1);//升
Wm2:=(B=-1 AND REF(B,1)=-1) or (B=-1 AND REF(B,1)=1);//降
MAV:=EMA((2*C+H+L)/4,3);
MAS:=SMA(MAV,12,7);
MAL:=SMA(MAV,26,7);
DIFF :=(MAS - MAL)/MAL*100,COLORGREEN;
DEA :=SMA(EMA(DIFF,5),3,1),COLORGREEN;
B :MAL*(1-5*(DIFF-DEA)/100),COLORgreen,LINETHICK2;
如題
感謝版大的釋疑
| 全部時間均為台灣時間, 現在時間為02:13 | 在這個頁面顯示本主題全部的 3 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.