![]() |
在這個頁面顯示本主題全部的 61 個文章 |
奇狐社區論壇 (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=19056)
請教劃水平線向右延長
S1:=C>ref(C,1) and C>refx(C,1);
S2:=C<ref(C,1) and C<refx(C,1);
DRAWSL(S1 ,C,0,10,3)colorred;//波峰劃水平線
DRAWSL(S2 ,C,0,10,3)colorgreen;//波谷劃水平線
需求說明:
1)主圖為價位線
2)當價位線比收盤價小時,該水平線即停止,否則繼續延伸.
3)當價位線比收盤價大時,該水平線即停止,否則繼續延伸.
以上麻煩版主協助,謝謝~
__________________
chiu
回覆: 請教劃水平線向右延長
引用:
最初由 a9681054 發表
S1:=C>ref(C,1) and C>refx(C,1);
S2:=C<ref(C,1) and C<refx(C,1);
DRAWSL(S1 ,C,0,10,3)colorred;//波峰劃水平線
DRAWSL(S2 ,C,0,10,3)colorgreen;//波谷劃水平線
需求說明:
1)主圖為價位線
2)當價位線比收盤價小時,該水平線即停止,否則繼續延伸.
3)當價位線比收盤價大時,該水平線即停止,否則繼續延伸.
以上麻煩版主協助,謝謝~
因近期剛開始在學習水平線指標寫作,補上需求圖片可能會比較清楚,有勞版主多費心指導~
__________________
chiu
對不起,上一張圖片有誤,以第二張為主
__________________
chiu
引用:
最初由 a9681054 發表
對不起,上一張圖片有誤,以第二張為主
原碼:
CC:=C;
S1:=C>ref(C,1) and C>refx(C,1);
S2:=C<ref(C,1) and C<refx(C,1);
SS:=S1-S2; DW:=C*0;
MaxKBar:=0; //僅畫近期N根K棒, 零則畫全部
StNo:=datacount-MaxKBar+1;
if StNo<lbound(SS) or MaxKBar=0 then StNo:=lbound(SS);
for i= StNo to datacount do begin
if SS[i] <> 0 then begin
for j=i+1 to datacount do begin
if SS[i]=1 and CC[j]>CC[i] or SS[i]=-1 and CC[j]<CC[i] then begin
DW[i]:=j-i; break;
end;
end;
end;
end;
DRAWSL(SS>0 and DW>0 ,C,0,DW,3) colorred pxdn2;//波峰劃水平線
DRAWSL(SS<0 and DW>0,C,0,DW,3) colorgreen pxdn2;//波谷劃水平線
版主你好,
感謝你的回覆,已有達到原初步的想法,其實我最終是想用k線並不是價位,我的主圖是moon這個指標,等我想好定義再跟版主繼續請教~
__________________
chiu
版主你好,
大致需求想法整理如下:
1)當k棒碰觸或上穿S1位置(粗線),原線維持不改變.
2)當符合S1條件時,水平線向右延伸,直至右方K棒碰觸或上穿延伸線時(細線),下一根K棒即停止劃線.
3)當k棒碰觸或下穿S2位置(粗線),原線維持不改變.
2)當符合S2條件時,水平線向右延伸,直至右方K棒碰觸或下穿延伸線時(細線),下一根K棒即停止劃線.
源碼:
//MOON 公式
Var4:=(LOW+HIGH+CLOSE)/3;
操作:= MA(Var4,5),colorGREEN,linethick2;
多頭關卡:HHV(操作,13),colorMAGENTA,linethick2;
空頭關卡:LLV(操作,13),colorcyan,linethick2;
//劃水平線
S1:=空頭關卡=REF(空頭關卡,1);
S2:=多頭關卡=REF(多頭關卡,1);
DRAWSL(S1 ,空頭關卡,0,10,3)colorblue pxdn3 ;//劃水平線,3表示劃線向右
DRAWSL(S2 ,多頭關卡,0,10,3)colorred pxdn3 ;//劃水平線,3表示劃線向右
註:
需求如圖片中的下半部
以上煩請版主再次協助,謝謝~
__________________
chiu
更正一下內容:
1)當符合S1條件時,水平線向右延伸出(細線)
2)當k棒碰觸或上穿S1位置(粗線),原粗線維持不改變,水平線繼續向右延伸(細線)
3)直至右方K棒碰觸或上穿延伸線時(細線),下一根K棒即停止劃線.
4)當符合S2條件時,水平線向右延伸出(細線)
5)當k棒碰觸或下穿S1位置(粗線),原粗線維持不改變,水平線繼續向右延伸(細線)
6)直至右方K棒碰觸或下穿延伸線時(細線),下一根K棒即停止劃線.
__________________
chiu
對不起,字打錯再更正一下內容:
1)當符合S1條件時,水平線向右延伸出(細線)
2)當k棒碰觸或上穿S1位置(粗線),原粗線維持不改變,水平線繼續向右延伸出(細線)
3)直至右方K棒碰觸或上穿延伸線時(細線),下一根K棒即停止劃線.
4)當符合S2條件時,水平線向右延伸出(細線)
5)當k棒碰觸或下穿S2位置(粗線),原粗線維持不改變,水平線繼續向右延伸出(細線)
6)直至右方K棒碰觸或下穿延伸線時(細線),下一根K棒即停止劃線.
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
大致需求想法整理如下:
1)當k棒碰觸或上穿S1位置(粗線),原線維持不改變.
2)當符合S1條件時,水平線向右延伸,直至右方K棒碰觸或上穿延伸線時(細線),下一根K棒即停止劃線.
3)當k棒碰觸或下穿S2位置(粗線),原線維持不改變.
2)當符合S2條件時,水平線向右延伸,直至右方K棒碰觸或下穿延伸線時(細線),下一根K棒即停止劃線.
源碼:
//MOON 公式
Var4:=(LOW+HIGH+CLOSE)/3;
操作:= MA(Var4,5),colorGREEN,linethick2;
多頭關卡:HHV(操作,13),colorMAGENTA,linethick2;
空頭關卡:LLV(操作,13),colorcyan,linethick2;
//劃水平線
S1:=空頭關卡=REF(空頭關卡,1);
S2:=多頭關卡=REF(多頭關卡,1);
DRAWSL(S1 ,空頭關卡,0,10,3)colorblue pxdn3 ;//劃水平線,3表示劃線向右
DRAWSL(S2 ,多頭關卡,0,10,3)colorred pxdn3 ;//劃水平線,3表示劃線向右
註:
需求如圖片中的下半部
以上煩請版主再次協助,謝謝~
引用:
最初由 a9681054 發表
對不起,字打錯再更正一下內容:
1)當符合S1條件時,水平線向右延伸出(細線)
2)當k棒碰觸或上穿S1位置(粗線),原粗線維持不改變,水平線繼續向右延伸出(細線)
3)直至右方K棒碰觸或上穿延伸線時(細線),下一根K棒即停止劃線.
4)當符合S2條件時,水平線向右延伸出(細線)
5)當k棒碰觸或下穿S2位置(粗線),原粗線維持不改變,水平線繼續向右延伸出(細線)
6)直至右方K棒碰觸或下穿延伸線時(細線),下一根K棒即停止劃線.
版主你好,
這樣的情況,就比照第3及6定義,當延伸(細線)被直接跳空向上或向下穿越,下一根k棒即停止劃線.
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
這樣的情況,就比照第3及6定義,當延伸(細線)被直接跳空向上或向下穿越,下一根k棒即停止劃線.
版主你好,
你說的沒有錯,會有連續好幾根符合S1及S2條件情況,那就以第2及5來處理.
至於S1=S2情況,也是有可能發生,依我的了解前波或更早的波會與當下重疊,但本波應該較無此問題存在,不過這是我個人見解,程式方面實在不知如何表達,還望版主協助,謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
你說的沒有錯,會有連續好幾根符合S1及S2條件情況,那就以第2及5來處理.
至於S1=S2情況,也是有可能發生,依我的了解前波或更早的波會與當下重疊,但本波應該較無此問題存在,不過這是我個人見解,程式方面實在不知如何表達,還望版主協助,謝謝~
版主你好,
當開始符合S1及S2時,那劃線就從條件成立時的前一根(即空頭關卡及多頭關卡走平時前一根)開始劃線,是否可解決你說的問題?
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
當開始符合S1及S2時,那劃線就從條件成立時的前一根(即空頭關卡及多頭關卡走平時前一根)開始劃線,是否可解決你說的問題?
版主你好,
可能是我對需求表達不是很好,我加上圖片,你看這樣是否OK?
__________________
chiu
補上圖片
__________________
chiu
引用:
最初由 a9681054 發表
補上圖片
版主你好,
有套用過是產生垂直線,並不是我想要的,
對於需求我自己再手劃,還是很感謝你的回覆~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
有套用過是產生垂直線,並不是我想要的,
對於需求我自己再手劃,還是很感謝你的回覆~
版主你好,
想法就是當多頭及空頭關卡(重點走平時),向右劃延伸水平線,未來走勢再依條件繼續劃或停止.
我的源碼輸出若將drawsl裡的長度設為10,只輸出固定週期10的直線,設為0為無限延伸,但這都不是我想要的.
所以想設一些條件讓它自動繼續劃或停止,只是不曉得程式該如何表達,論壇也找過水平線的討論,初學階段尚請版主協助,版主是否有何方法可以協助,謝謝~
__________________
chiu
版主,
抱歉,剛再檢查一下的圖形,我原需求應該有誤
~
重新定義如下:
1)當多頭關卡開始下彎時,水平線才接續向右延伸出(細線)
2)當k棒碰觸或上穿或跳空向上S1位置(粗線),原粗線維持不改變,水平線繼續向右延伸出(細線)
3)直至右方K棒碰觸或上穿或跳空向上延伸線時(細線),下一根K棒即停止劃線.
4)當空頭關卡開始上升時,水平線才接續向右延伸出(細線)
5)當k棒碰觸或下穿或跳空向下S2位置(粗線),原粗線維持不改變,水平線繼續向右延伸出(細線)
6)直至右方K棒碰觸或下穿或跳空延伸線時(細線),下一根K棒即停止劃線.
新的源碼:
//MOON 公式
Var4:=(LOW+HIGH+CLOSE)/3;
操作:= MA(Var4,5),colorGREEN,linethick2;
多頭關卡:HHV(操作,21),colorMAGENTA,linethick2;
空頭關卡:LLV(操作,10),colorcyan,linethick2;
//劃水平線
S1:=空頭關卡=REF(空頭關卡,1);
S2:=多頭關卡=REF(多頭關卡,1);
DRAWSL(S1 ,空頭關卡,0,10,3)colorblue pxdn3 ;//劃水平線,3表示劃線向右
DRAWSL(S2 ,多頭關卡,0,10,3)colorred pxdn3 ;//劃水平線,3表示劃線向右
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
想法就是當多頭及空頭關卡(重點走平時),向右劃延伸水平線,未來走勢再依條件繼續劃或停止.
我的源碼輸出若將drawsl裡的長度設為10,只輸出固定週期10的直線,設為0為無限延伸,但這都不是我想要的.
所以想設一些條件讓它自動繼續劃或停止,只是不曉得程式該如何表達,論壇也找過水平線的討論,初學階段尚請版主協助,版主是否有何方法可以協助,謝謝~
版主你好,
你說到重點了,就是從連續走平的最末根來畫即可,麻煩你了~
__________________
chiu
引用:
最初由 a9681054 發表 2015-01-20 12:38
補上圖片
版主你好,
我已修正了源碼、圖片及規則,劃線起點就從多頭及空頭關卡最末根開始劃,有勞版主了,謝謝~
//MOON
Var4:=(LOW+HIGH+CLOSE)/3;
操作:= MA(Var4,5),colorGREEN,linethick2;
多頭關卡:HHV(操作,21)COLORBLACK,linethick2;
空頭關卡:LLV(操作,10)COLORBLACK,linethick2;
//劃水平線
S1:=空頭關卡=REF(空頭關卡,1);
S2:=多頭關卡=REF(多頭關卡,1);
PARTLINE(S1,空頭關卡)COLORCYAN, LINETHICK2;
PARTLINE(S2,多頭關卡)COLORRED, LINETHICK2;
__________________
chiu
版主你好,
補上新的規則如下:
1)當多頭關卡開始下彎時,水平線才接續向右延伸出(細線)
2)當k棒碰觸或上穿或跳空向上S2位置(粗線),原粗線維持不改變
3)直至右方K棒碰觸或上穿或跳空向上延伸線時(細線),下一根K棒即停止劃線.
4)當空頭關卡開始上升時,水平線才接續向右延伸出(細線)
5)當k棒碰觸或下穿或跳空向下S1位置(粗線),原粗線維持不改變
6)直至右方K棒碰觸或下穿或跳空延伸線時(細線),下一根K棒即停止劃線.
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
補上新的規則如下:
1)當多頭關卡開始下彎時,水平線才接續向右延伸出(細線)
2)當k棒碰觸或上穿或跳空向上S2位置(粗線),原粗線維持不改變
3)直至右方K棒碰觸或上穿或跳空向上延伸線時(細線),下一根K棒即停止劃線.
4)當空頭關卡開始上升時,水平線才接續向右延伸出(細線)
5)當k棒碰觸或下穿或跳空向下S1位置(粗線),原粗線維持不改變
6)直至右方K棒碰觸或下穿或跳空延伸線時(細線),下一根K棒即停止劃線.
原碼:
CC:=C; HH:=H; LL:=L; //MOON Var4:=(LOW+HIGH+CLOSE)/3; 操作:= MA(Var4,5),colorGREEN,linethick2; 多頭關卡:HHV(操作,21) COLORBLACK,linethick2; 空頭關卡:LLV(操作,10) COLORBLACK,linethick2; //劃水平線 S1:=空頭關卡=REF(空頭關卡,1); S2:=多頭關卡=REF(多頭關卡,1); PARTLINE(S1,空頭關卡) COLORCYAN, LINETHICK2; PARTLINE(S2,多頭關卡) COLORRED, LINETHICK2; R1:=S1 and refx(S1,1)=0; R2:=S2 and refx(S2,1)=0; MaxKBar:=0; //僅畫最近n根K棒, 零則畫全部 DW1:=C*0; DW2:=C*0; StNo:=datacount-MaxKBar+1; if StNo<lbound(R1) or MaxKBar=0 then StNo:=lbound(R1); for i= StNo to datacount do begin if R1[i] <> 0 then begin for j=i+1 to datacount do begin if R1[i]=1 and HH[j]>多頭關卡[i] then begin DW1[i]:=j-i; break; end; end; end; end; StNo:=datacount-MaxKBar+1; if StNo<lbound(R2) or MaxKBar=0 then StNo:=lbound(R2); for i= StNo to datacount do begin if R2[i] <> 0 then begin for j=i+1 to datacount do begin if R2[i]=1 and LL[j]<空頭關卡[i] then begin DW2[i]:=j-i; break; end; end; end; end; DRAWSL(DW1,多頭關卡,0,DW1,3) COLORRED pxdn2; DRAWSL(DW2 ,空頭關卡,0,DW2,3) COLORCYAN pxdn2;
版主你好,
首先感謝版主辛苦的幫忙~
套用後,發現有幾個小狀況:
1)有延伸位置不對
2)不該延伸位置產生出延伸線
3)該延伸位置有些沒有產生出延伸線
詳細部份,如附件照片指示箭頭說明
圖片下半部是正常的,供版主比對參考!
以上問題,再次麻煩版主協助~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
首先感謝版主辛苦的幫忙~
套用後,發現有幾個小狀況:
1)有延伸位置不對
2)不該延伸位置產生出延伸線
3)該延伸位置有些沒有產生出延伸線
詳細部份,如附件照片指示箭頭說明
圖片下半部是正常的,供版主比對參考!
以上問題,再次麻煩版主協助~
版主你好,
剛先檢查一下,發現是R1及R2置入迴圈相反,版主寫迴圈的部份我也沒動,我更改劃水平線條件後已正常.
新修正源碼如下:
//劃水平線
S1:=多頭關卡=REF(多頭關卡,1);
S2:=空頭關卡=REF(空頭關卡,1);
PARTLINE(S1,多頭關卡) COLORred, LINETHICK2;
PARTLINE(S2,空頭關卡) COLORcyan, LINETHICK2;
不過還有一個問題,希望版主繼續協助,就是圖片圈圈處(多頭關卡及空頭關卡一樣走平),想請教為何沒有拉出伸水平線,感覺是否因右邊尚未碰到K棒而沒產生.
我的需求像這種情況,希望它一樣能產生延伸線出來給未來用,目前已大致符合我原先的需求,圈圈處再請版主程式予協助,謝謝~
__________________
chiu
補上商品名稱及週期圖片~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
首先感謝版主辛苦的幫忙~
套用後,發現有幾個小狀況:
1)有延伸位置不對
2)不該延伸位置產生出延伸線
3)該延伸位置有些沒有產生出延伸線
詳細部份,如附件照片指示箭頭說明
圖片下半部是正常的,供版主比對參考!
以上問題,再次麻煩版主協助~
原碼:
CC:=C; HH:=H; LL:=L; //MOON Var4:=(LOW+HIGH+CLOSE)/3; 操作:= MA(Var4,5),colorGREEN,linethick2; 多頭關卡:HHV(操作,21) COLORBLACK,linethick2; 空頭關卡:LLV(操作,10) COLORBLACK,linethick2; //劃水平線 S1:=多頭關卡=REF(多頭關卡,1); S2:=空頭關卡=REF(空頭關卡,1); PARTLINE(S1,多頭關卡) COLORred, LINETHICK2; PARTLINE(S2,空頭關卡) COLORcyan, LINETHICK2; R1:=S1 and refx(S1,1)=0; R2:=S2 and refx(S2,1)=0; MaxKBar:=0; //僅畫最近n根K棒, 零則畫全部 DW1:=C*0; DW2:=C*0; StNo:=datacount-MaxKBar+1; if StNo<lbound(R1) or MaxKBar=0 then StNo:=lbound(R1); for i= StNo to datacount do begin if R1[i] <> 0 then begin for j=i+1 to datacount do begin if R1[i]=1 and HH[j]>多頭關卡[i] then begin DW1[i]:=j-i; break; end; end; if j>datacount then DW1[i]:=j-i-1; end; end; StNo:=datacount-MaxKBar+1; if StNo<lbound(R2) or MaxKBar=0 then StNo:=lbound(R2); for i= StNo to datacount do begin if R2[i] <> 0 then begin for j=i+1 to datacount do begin if R2[i]=1 and LL[j]<空頭關卡[i] then begin DW2[i]:=j-i; break; end; end; if j>datacount then DW2[i]:=j-i-1; end; end; DRAWSL(DW1,多頭關卡,0,DW1,3) COLORRED pxdn2; DRAWSL(DW2 ,空頭關卡,0,DW2,3) COLORCYAN pxdn2;
版主你好,
你的迴圈寫作真是太棒了,一直想不出的問題,藉由你的幫忙終於把它完成,在此向你說聲非常感謝~
請教你,因為初學不曉得要研讀何種書籍?才可以學到像這樣棒的迴圈寫作.
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
你的迴圈寫作真是太棒了,一直想不出的問題,藉由你的幫忙終於把它完成,在此向你說聲非常感謝~
請教你,因為初學不曉得要研讀何種書籍?才可以學到像這樣棒的迴圈寫作.
版主你好,
ok,我再去買書開始來研讀,謝謝了~
__________________
chiu
版主你好,
有一個小要求,你可以幫忙在你寫的迴圈部份,每一行後面做一下註釋,予便於了解其程式意思,可以? 謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
有一個小要求,你可以幫忙在你寫的迴圈部份,每一行後面做一下註釋,予便於了解其程式意思,可以? 謝謝~
原碼:
CC:=C; HH:=H; LL:=L; //MOON Var4:=(LOW+HIGH+CLOSE)/3; 操作:= MA(Var4,5),colorGREEN,linethick2; 多頭關卡:HHV(操作,21) COLORBLACK,linethick2; 空頭關卡:LLV(操作,10) COLORBLACK,linethick2; //劃水平線 S1:=多頭關卡=REF(多頭關卡,1); S2:=空頭關卡=REF(空頭關卡,1); PARTLINE(S1,多頭關卡) COLORred, LINETHICK2; PARTLINE(S2,空頭關卡) COLORcyan, LINETHICK2; R1:=S1 and refx(S1,1)=0; R2:=S2 and refx(S2,1)=0; MaxKBar:=0; //僅畫最近n根K棒, 零則畫全部 DW1:=C*0; DW2:=C*0; StNo:=datacount-MaxKBar+1; if StNo<lbound(R1) or MaxKBar=0 then StNo:=lbound(R1); for i= StNo to datacount do begin if R1[i] then begin for j=i+1 to datacount do begin if HH[j]>多頭關卡[i] then begin DW1[i]:=j-i; break; end; end; if j>datacount then DW1[i]:=j-i-1; end; end; StNo:=datacount-MaxKBar+1; if StNo<lbound(R2) or MaxKBar=0 then StNo:=lbound(R2); for i= StNo to datacount do begin if R2[i] then begin for j=i+1 to datacount do begin if LL[j]<空頭關卡[i] then begin DW2[i]:=j-i; break; end; end; if j>datacount then DW2[i]:=j-i-1; end; end; DRAWSL(DW1,多頭關卡,0,DW1,3) COLORRED pxdn2; DRAWSL(DW2 ,空頭關卡,0,DW2,3) COLORCYAN pxdn2;
迴圈說明:
原碼:
for i= StNo to datacount do begin //依序跑每一根K棒 if R1[i] then begin //若該根K棒 R1 條件成立 for j=i+1 to datacount do begin //則開始向後依序搜尋 if HH[j]>多頭關卡[i] then begin //若H價有過成立位置之多頭關卡價 DW1[i]:=j-i; break; //取與成立位置相差距離存入DW1,並跳離迴圈 end; end; //若搜尋到最終K棒仍無符合之處,取與成立位置相差距離存入DW1 if j>datacount then DW1[i]:=j-i-1; end; end;
版主你好,
感恩~
__________________
chiu
版主你好,
在即時盤中,想在最後一根k棒,讓未碰觸到的多頭關卡及空頭關卡走平的水平線,自動多往右一根延伸顯示,麻煩版主協助,謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
在即時盤中,想在最後一根k棒,讓未碰觸到的多頭關卡及空頭關卡走平的水平線,自動多往右一根延伸顯示,麻煩版主協助,謝謝~
版主你好,
可以了,非常感謝你的幫忙~
__________________
chiu
版主你好,
即時盤中,想在最後一根k棒,讓未碰觸到多頭關卡及空頭關卡走平的水平線,自動多往右一根延伸顯示.
上次回覆版主套用是可以,但發現還有二個小問題,想請版主再次協助.
1)當下的最後一組,未碰觸到多頭關卡及空頭關卡走平的水平線,也能在最後一根k棒,自動多往右一根延伸顯示.
2))當下的最後一組,未碰觸到多頭關卡及空頭關卡走平的水平線,除第1點外,如符合延伸顯示條件時,也能即時向右延伸,以便於當下做真假突破或跌破判斷.
以上
__________________
chiu
版主你好,
補上需求圖片做比較,圖下半部是我的需求,請版主協助,謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
補上需求圖片做比較,圖下半部是我的需求,請版主協助,謝謝~
版主你好,
可以了,感謝你的幫忙~
__________________
chiu
請問如何求:
尚未碰觸之'最低多頭關卡' 及 '最高空頭關卡'?
感謝!
引用:
最初由 Markchu7 發表
請問如何求:
尚未碰觸之'最低多頭關卡' 及 '最高空頭關卡'?
感謝!
感謝!
請問:出現'指標數組下限越界.......',該如何處理?
謝謝!
引用:
最初由 Markchu7 發表
請問:出現'指標數組下限越界.......',該如何處理?
謝謝!
跑FITX1!修改如下:
MaxKBar:=IF(DATATYPE=1,1500,IF(DATATYPE=2,1200,600)); //僅畫最近n根K棒, 零則畫全部
請指導!謝謝!
引用:
最初由 Markchu7 發表
跑FITX1!修改如下:
MaxKBar:=IF(DATATYPE=1,1500,IF(DATATYPE=2,1200,600)); //僅畫最近n根K棒, 零則畫全部
請指導!謝謝!
原碼:
CC:=C; HH:=H; LL:=L; //MOON Var4:=(LOW+HIGH+CLOSE)/3; 操作:= MA(Var4,5),colorGREEN,linethick2; 多頭關卡:HHV(操作,21) COLORBLACK,linethick2; 空頭關卡:LLV(操作,10) COLORBLACK,linethick2; //劃水平線 S1:=多頭關卡=REF(多頭關卡,1); S2:=空頭關卡=REF(空頭關卡,1); PARTLINE(S1,多頭關卡) COLORred, LINETHICK2; PARTLINE(S2,空頭關卡) COLORcyan, LINETHICK2; R1:=S1 and refx(S1,1)=0; R2:=S2 and refx(S2,1)=0; MaxKBar:=0; //僅畫最近n根K棒, 零則畫全部 DW1:=C*0; DW2:=C*0; StNo:=datacount-MaxKBar+1; if StNo<lbound(R1) or MaxKBar=0 then StNo:=lbound(R1); for i= StNo to datacount do begin if R1[i] then begin for j=i+1 to datacount do begin if HH[j]>多頭關卡[i] then begin DW1[i]:=j-i; break; end; end; if j>datacount then DW1[i]:=j-i; end; end; StNo:=datacount-MaxKBar+1; if StNo<lbound(R2) or MaxKBar=0 then StNo:=lbound(R2); for i= StNo to datacount do begin if R2[i] then begin for j=i+1 to datacount do begin if LL[j]<空頭關卡[i] then begin DW2[i]:=j-i; break; end; end; if j>datacount then DW2[i]:=j-i; end; end; DRAWSL(DW1,多頭關卡,0,DW1,3) COLORRED pxdn2; DRAWSL(DW2 ,空頭關卡,0,DW2,3) COLORCYAN pxdn2; UM:=barslast(barpos+DW1=datacount+1); if lbound(UM)>0 then begin UM:多頭關卡[datacount-UM[datacount]]; end; DM:=barslast(barpos+DW2=datacount+1); if lbound(DM)>0 then begin DM:空頭關卡[datacount-DM[datacount]]; end;
感謝協助!再去試試!
當無碰觸現象發生時,UM,DM是像貼圖中一樣是空值嗎?
引用:
最初由 Markchu7 發表
當無碰觸現象發生時,UM,DM是像貼圖中一樣是空值嗎?
程式未更動,載入K棒數量為3100!
引用:
最初由 Markchu7 發表
程式未更動,載入K棒數量為3100!
了解!謝謝!
全部時間均為台灣時間, 現在時間為02:18 | 在這個頁面顯示本主題全部的 61 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.