 |
APSHEU
初級會員

註冊日期: Mar 2005
來 自:
文章數量: 28 |
|
[問題]
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中可使用,但在最新版中無法使用,甚至當機呢,可否請版大釋疑,謝謝
|
|
向版主報告此篇 |  |
|
2006-10-27 07:58 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18257 |
|
您 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;
|
|
向版主報告此篇 |  |
|
2006-10-27 08:38 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|