奇狐社區論壇 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 16 個文章

奇狐社區論壇 (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=20086)


由 ericpai 在 2016-06-21 23:59 發表:

請問版主 特定時間點間收盤價的比較 這怎麼寫

版主大大您好

我想在分鐘線圖上,針對特定時間點(比方13:25)的收盤價作圖 : 若N個(比方說10個)13:25的收盤價間若相減值<10,就在兩收盤價間畫一條線,請問大大這要怎麼寫? 我完全沒有概念

勞請協助 萬分感謝


由 cgjj 在 2016-06-22 09:00 發表:

回覆: 請問版主 特定時間點間收盤價的比較 這怎麼寫

引用:
最初由 ericpai 發表
版主大大您好

我想在分鐘線圖上,針對特定時間點(比方13:25)的收盤價作圖 : 若N個(比方說10個)13:25的收盤價間若相減值<10,就在兩收盤價間畫一條線,請問大大這要怎麼寫? 我完全沒有概念

勞請協助 萬分感謝



10個 vs 兩收盤價
誰減誰? 怎樣減? 麻煩請說清楚
建議舉實例說明, 謝謝


由 ericpai 在 2016-06-22 09:32 發表:

差值的絕對值 , 即 兩者任一相減小於10 就可以了

抱歉 沒有 寫清楚 造成困擾ㄌ SORRY


由 ericpai 在 2016-06-22 09:34 發表:

進一步說明

10 個值中 任兩個值相減的絕對值若低於10 就在兩者之間劃一條線

這樣不知道有沒有比較清楚 謝謝您


由 ericpai 在 2016-06-22 09:51 發表:

或者這樣說

將13:25的收盤價(C10) 與 過去9次13:25的收盤價比較(C0~C9),若ABS(C10-C9)或ABS(C10-C8)或......ABS(C10-C0)中,只要有值介於0~10就畫一條線

大概是這樣子的 感激感激


由 cgjj 在 2016-06-22 10:20 發表:

引用:
最初由 ericpai 發表
或者這樣說

將13:25的收盤價(C10) 與 過去9次13:25的收盤價比較(C0~C9),若ABS(C10-C9)或ABS(C10-C8)或......ABS(C10-C0)中,只要有值介於0~10就畫一條線

大概是這樣子的 感激感激



如此,一根K棒被畫的連接線可能不只一條唷
確定要如此畫?


由 ericpai 在 2016-06-22 10:22 發表:

是的 可能會不只一條
是要這樣話沒錯
謝謝您


由 cgjj 在 2016-06-22 11:33 發表:

引用:
最初由 ericpai 發表
是的 可能會不只一條
是要這樣話沒錯
謝謝您



原碼:
CC:=C; Ck:=time=132500; CkSP:=barslast(CK); SS:=SUMBARS(Ck,10); StKNo:=datacount-SS[datacount]+1; x:=SETLBOUND(CK,StKNo); VERTLINE(CK) color777777 linedot; D1:=CK*0; D2:=D1; D3:=D1; D4:=D1; D5:=D1; D6:=D1; D7:=D1; D8:=D1; D9:=D1; VARIABLE:S[10]=0; for i=datacount downto StKNo do begin i:=i-CkSP[i]; P:=0; for j=i-1 downto StKNo do begin j:=j-CkSP[j]; P:=P+1; k:=i-j; if ABS(CC[i]-CC[j])<10 then begin if P=1 then D1[i]:=k; if P=2 then D2[i]:=k; if P=3 then D3[i]:=k; if P=4 then D4[i]:=k; if P=5 then D5[i]:=k; if P=6 then D6[i]:=k; if P=7 then D7[i]:=k; if P=8 then D8[i]:=k; if P=9 then D9[i]:=k; end; end; end; DRAWSL(D1,C,(c-ref(C,D1))/D1,-D1,1) pxdn2; DRAWSL(D2,C,(c-ref(C,D2))/D2,-D2,1) pxdn2; DRAWSL(D3,C,(c-ref(C,D3))/D3,-D3,1) pxdn2; DRAWSL(D4,C,(c-ref(C,D4))/D4,-D4,1) pxdn2; DRAWSL(D5,C,(c-ref(C,D5))/D5,-D5,1) pxdn2; DRAWSL(D6,C,(c-ref(C,D6))/D6,-D6,1) pxdn2; DRAWSL(D7,C,(c-ref(C,D7))/D7,-D7,1) pxdn2; DRAWSL(D8,C,(c-ref(C,D8))/D8,-D8,1) pxdn2; DRAWSL(D9,C,(c-ref(C,D9))/D9,-D9,1) pxdn2;


由 ericpai 在 2016-06-22 11:39 發表:

謝謝版主

我試試看 萬分感謝


由 ericpai 在 2016-06-22 12:47 發表:

感謝版主 大致上就是我所需要的

不過
似乎只能畫出線圖中最後一次"13:25收盤價"往前比較10個"13:25收盤價", 如果要線圖中所有歷史資料的"13:25收盤價"都能向前作相同的比較 不知道可行嗎?

抱歉 問題很多 辛苦您了

我想要的結果 可能會比較類似下圖

下圖的寫法是往前每一根去作比較, 但我需要的卻是針對我要的特定時間的K線去作比較。不知道是否有辦法解決

下圖程式寫法:

KN:=Y;
{//設定僅算近期N根K棒(若為0則算全部)}

CC:=C;
OO:=o;
PL:=C*0;

StNo:=datacount-KN+1;
if StNo<1 or StNo>datacount then StNo:=1;
for i=StNo to datacount do begin
for j=i-1 downto i-K do begin
if j<1 then break;
if ABS(CC[i]-OO[j])<= E then begin
PL[i]:=i-j; break;
end;
end;
end;
DRAWSL(PL>0,CC,0,-PL,1) pxdn2 linedot;


由 cgjj 在 2016-06-22 13:23 發表:

引用:
最初由 ericpai 發表
感謝版主 大致上就是我所需要的

不過
似乎只能畫出線圖中最後一次"13:25收盤價"往前比較10個"13:25收盤價", 如果要線圖中所有歷史資料的"13:25收盤價"都能向前作相同的比較 不知道可行嗎?

抱歉 問題很多 辛苦您了

我想要的結果 可能會比較類似下圖

下圖的寫法是往前每一根去作比較, 但我需要的卻是針對我要的特定時間的K線去作比較。不知道是否有辦法解決

下圖程式寫法:

KN:=Y;
{//設定僅算近期N根K棒(若為0則算全部)}

CC:=C;
OO:=o;
PL:=C*0;

StNo:=datacount-KN+1;
if StNo<1 or StNo>datacount then StNo:=1;
for i=StNo to datacount do begin
for j=i-1 downto i-K do begin
if j<1 then break;
if ABS(CC[i]-OO[j])<= E then begin
PL[i]:=i-j; break;
end;
end;
end;
DRAWSL(PL>0,CC,0,-PL,1) pxdn2 linedot;



不客氣

它並非只畫最後一次唷
按您前面所說 "若N個(比方說10個)13:25的收盤價間...."
我是以近期的10個13:25,做區間內的比較

處理上,先以近期第1根13:25為基準
用它分別與前面另外9根13:25做比較
若該根收盤價與近期第1根13:25收盤價,相差值在10之內
就會去畫這兩根的收盤價連線。
(也就是說,這根K棒,最多可能會有9條線)

接續再以近期第2根13:25為基準
用它分別與前面另外8根13:25做比較
做相同的判斷與處理

剩餘8根 .... 依此類推

故僅有當近期這10根13:25K棒,有符合時才會被畫連接線
並非僅有畫歷史最未根13:25

您所附的圖,與前面講的規則,完全是兩個不相同的東西


由 ericpai 在 2016-06-22 13:41 發表:

了解了

謝謝版主大大 萬分感激


由 cgjj 在 2016-06-22 13:44 發表:

引用:
最初由 ericpai 發表
了解了

謝謝版主大大 萬分感激



不客氣 ^^


由 ericpai 在 2016-06-22 16:51 發表:

請問 變數一定要用 I 和 J 嗎? 換其他的英文字母 例如M 和 U 好像就不行了

請教~~~~~ 謝謝


由 cgjj 在 2016-06-22 17:14 發表:

引用:
最初由 ericpai 發表
請問 變數一定要用 I 和 J 嗎? 換其他的英文字母 例如M 和 U 好像就不行了

請教~~~~~ 謝謝



只要不是保留字,都可以使用

除非您參數的名稱,也有取名為 M 或 U
否則,M 和 U 皆是可以使用的


全部時間均為台灣時間, 現在時間為10:53 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 16 個文章


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

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