![]() |
在這個頁面顯示本主題全部的 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=15233)
[問題] 寫法問題請教
MA55:MA(C,55);
MAXHNO:=UBOUND(BARPOS);
MA55_54:=((MA(C,55)*55)-REF(C,54)+C)/55;
MA55_53:=((MA(C,55)*55)-REF(C,54)-REF(C,53)+(2*C))/55;
MA55_52:=((MA(C,55)*55)-REF(C,54)-REF(C,53)-REF(C,52)+(3*C))/55;
MA55_51:=((MA(C,55)*55)-REF(C,54)-REF(C,53)-REF(C,52)-REF(C,51)+(4*C))/55;
.......
.......
.......
這方式寫到 MA55_30:=((MA(C,55)*55)-REF(C,54)-REF(C,53)-REF(C,52)-REF(C,51)-.....-REF(C,30)+(25*C))/55;
MMF55:=MA55;
MMF55[MAXHNO-25]:=MA55[MAXHNO];
MMF55[MAXHNO-24]:=MA55_54[MAXHNO];
MMF55[MAXHNO-23]:=MA55_53[MAXHNO];
MMF55[MAXHNO-22]:=MA55_52[MAXHNO];
MMF55[MAXHNO-21]:=MA55_51[MAXHNO];
.......
.......
.......
這方式寫到MMF55[MAXHNO-0]:=MA55_30[MAXHNO];
MM551:=BACKSET(ISLASTBAR,26);
POLYLINE(MM551,MMF55),SHIFT25,COLORBLUE;
想請問,以上面的方法寫完後會出現幾各問題,
1.當K線數過少會出現"指標數組下標越界或超出有效範圍"
2.當K線數少於55個, 則延生出來的線( POLYLINE(MM551,MMF55),SHIFT25,COLORBLUE; ) 會往上往下拉的很長很長...
3.請問還有什麼寫法可以縮短
THANKS!!!!
回覆: [問題] 寫法問題請教
引用:
最初由 77888877 發表
MA55:MA(C,55);
MAXHNO:=UBOUND(BARPOS);
MA55_54:=((MA(C,55)*55)-REF(C,54)+C)/55;
MA55_53:=((MA(C,55)*55)-REF(C,54)-REF(C,53)+(2*C))/55;
MA55_52:=((MA(C,55)*55)-REF(C,54)-REF(C,53)-REF(C,52)+(3*C))/55;
MA55_51:=((MA(C,55)*55)-REF(C,54)-REF(C,53)-REF(C,52)-REF(C,51)+(4*C))/55;
.......
.......
.......
這方式寫到 MA55_30:=((MA(C,55)*55)-REF(C,54)-REF(C,53)-REF(C,52)-REF(C,51)-.....-REF(C,30)+(25*C))/55;
MMF55:=MA55;
MMF55[MAXHNO-25]:=MA55[MAXHNO];
MMF55[MAXHNO-24]:=MA55_54[MAXHNO];
MMF55[MAXHNO-23]:=MA55_53[MAXHNO];
MMF55[MAXHNO-22]:=MA55_52[MAXHNO];
MMF55[MAXHNO-21]:=MA55_51[MAXHNO];
.......
.......
.......
這方式寫到MMF55[MAXHNO-0]:=MA55_30[MAXHNO];
MM551:=BACKSET(ISLASTBAR,26);
POLYLINE(MM551,MMF55),SHIFT25,COLORBLUE;
想請問,以上面的方法寫完後會出現幾各問題,
1.當K線數過少會出現"指標數組下標越界或超出有效範圍"
2.當K線數少於55個, 則延生出來的線( POLYLINE(MM551,MMF55),SHIFT25,COLORBLUE; ) 會往上往下拉的很長很長...
3.請問還有什麼寫法可以縮短
THANKS!!!!
原碼:
MA55:MA(C,55); if datacount<55+25 then exit; CC:=C; StNo:=datacount-26+1; SS:=SUM(CC,55); SS:=SS[datacount]; EndC:=CC[datacount]; MMF55:C*0 linethick; StP:=datacount-55; for i= StNo to datacount do begin j:=i-StNo; MMF55[i]:=(SS+EndC*j)/55; SS:=SS-CC[StP+j]; end; POLYLINE(barpos>=StNo,MMF55) shift25;
板主真得好強,THANKS
全部時間均為台灣時間, 現在時間為04:18 | 在這個頁面顯示本主題全部的 3 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.