奇狐社區論壇
在這個頁面顯示本主題全部的 14 個文章

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


由 victor0726 在 2016-03-28 08:00 發表:

往後取最高最低價

總板主您好:

一個寫法想請教您,若條件成立時,取條件成立至今天為止的最高價和最低價,要怎麼寫呢? 例如1/3、2/8、3/25、9/15,為條件成立的位置,一直至今天假設是12/1,要取得1/3至12/1之間最高最低價,2/8至12/1之間的最高最低價,以此類推。 將取得的最高最低價,放在條件成立的當天位置。謝謝~


由 cgjj 在 2016-03-28 08:36 發表:

回覆: 往後取最高最低價

引用:
最初由 victor0726 發表
總板主您好:

一個寫法想請教您,若條件成立時,取條件成立至今天為止的最高價和最低價,要怎麼寫呢? 例如1/3、2/8、3/25、9/15,為條件成立的位置,一直至今天假設是12/1,要取得1/3至12/1之間最高最低價,2/8至12/1之間的最高最低價,以此類推。 將取得的最高最低價,放在條件成立的當天位置。謝謝~



這樣描述與標題寫的 "往後取" 沒有關聯(應該是往前取)
若描述無誤,寫法為:

SP:=barslast(條件)+1;
MH:HHV(H,SP+1);
ML:LLV(L,SP+1);


由 victor0726 在 2016-03-29 11:28 發表:

`

總板主您好:

沒把問題描述好,真不好意思。
我想要的是假設 1/5、3/8、4/20、6/18、8/25是條件成立的位置。

假設今天的日期是9/1,我要取的是8/25~9/1之間的最高最低價。6/18~9/1之間的最高最低價。4/20~9/1的最高最低值。3/8~9/1的最高最低價。

總板主給我的程式,是各個條件成立之間的最高最低價。我要的是取每個條件成立日至今天的最高最低價。

我有用for迴圈寫過太慢了,所以想請問總板主用函數能不能寫出來。感謝~


由 cgjj 在 2016-03-29 11:40 發表:

回覆: `

引用:
最初由 victor0726 發表
總板主您好:

沒把問題描述好,真不好意思。
我想要的是假設 1/5、3/8、4/20、6/18、8/25是條件成立的位置。

假設今天的日期是9/1,我要取的是8/25~9/1之間的最高最低價。6/18~9/1之間的最高最低價。4/20~9/1的最高最低值。3/8~9/1的最高最低價。

總板主給我的程式,是各個條件成立之間的最高最低價。我要的是取每個條件成立日至今天的最高最低價。

我有用for迴圈寫過太慢了,所以想請問總板主用函數能不能寫出來。感謝~



假設 1/5、3/8、4/20、6/18、8/25是條件成立的位置
這幾個位置是相同一個條件嗎?

也就是
近一次 8/25
近二次 6/18
近三次 4/20
近四次 3/8
近五次 1/5

若是,處裡範例如下:
SP1:=sumbars(條件,1); //近1次
SP2:=sumbars(條件,2); //近2次
SP3:=sumbars(條件,3); //近3次
MH1:HHV(H,SP1);//近1次
ML1:LLV(L,SP1);//近1次
MH2:HHV(H,SP2);//近2次
ML2:LLV(L,SP2);//近2次
MH3:HHV(H,SP3);//近3次
ML3:LLV(L,SP3);//近3次
其他次依此類推...


由 victor0726 在 2016-03-29 14:46 發表:

總版主您好:

條件就是只要是母子成立都是,要想計算出每一個母子成立到今天,這之間的最高最低價,而不是只是單純5個成立條件。
這用函數來做做的到嗎? 謝謝!


由 cgjj 在 2016-03-29 14:52 發表:

引用:
最初由 victor0726 發表
總版主您好:

條件就是只要是母子成立都是,要想計算出每一個母子成立到今天,這之間的最高最低價,而不是只是單純5個成立條件。
這用函數來做做的到嗎? 謝謝!



sumbars 中的就是同一條件
並非五個條件

若歷史有 100 個母子成立
難不成您要在畫面上同時看這100條線?
需要 100組 MH 和 ML
實際上您應該不是如此用吧...

重點是,您後面要如何應用它
知道要做如何應用
才能對該數據進行較佳的方式存放,以利於應用


由 victor0726 在 2016-03-29 15:26 發表:

總版主您好:
謝謝您的回覆,之前有請教您過問題,程式如下:
母:=H>ref(H,1) and L<ref(L,1);
SS:母*0; HH:=H; LL:=L;
for i=lbound(母) to datacount do begin
if 母[i]=1 then begin
MH:=HH[i]+(HH[i]-LL[i])*2;
for j=i+1 to datacount do begin
if HH[j]>MH then begin
SS[i]:=1; break;
end;
end;
end;
end;

因為在日線圖上的效能不好,是因為2個for迴圈的關係,我想將裡面那個判斷子母2倍價是否成位的迴圈改成用函式的方式,所以才會想在條件成立時是否就可得知之條件成立至今天的最高最低,而不用1根1根k線去比較。讓效能好一點。 感謝~


由 cgjj 在 2016-03-29 15:48 發表:

引用:
最初由 victor0726 發表
總版主您好:
謝謝您的回覆,之前有請教您過問題,程式如下:
母:=H>ref(H,1) and L<ref(L,1);
SS:母*0; HH:=H; LL:=L;
for i=lbound(母) to datacount do begin
if 母[i]=1 then begin
MH:=HH[i]+(HH[i]-LL[i])*2;
for j=i+1 to datacount do begin
if HH[j]>MH then begin
SS[i]:=1; break;
end;
end;
end;
end;

因為在日線圖上的效能不好,是因為2個for迴圈的關係,我想將裡面那個判斷子母2倍價是否成位的迴圈改成用函式的方式,所以才會想在條件成立時是否就可得知之條件成立至今天的最高最低,而不用1根1根k線去比較。讓效能好一點。 感謝~



for 多不代表效能就會差...(沒有絕對關係)
會感到慢是因為該原則所需的計算量,本來就極大
因為它是往後找高點,不限之後多久!!!
每一個母子都要向後追
母子數量多,K線多,負擔必定重!!!

盤中有沒必要這麼多的母子都向後追
還是只需處理近期的N根K棒中的母子
N值,決定速度快慢


由 victor0726 在 2016-03-29 15:54 發表:

總版主您好:
切到日線時,因為k線數量大,所以計算就會很慢,若改成日線只計算近3個月的,要怎麼做呢? 感謝~


由 cgjj 在 2016-03-29 15:58 發表:

引用:
最初由 victor0726 發表
總版主您好:
切到日線時,因為k線數量大,所以計算就會很慢,若改成日線只計算近3個月的,要怎麼做呢? 感謝~



即使全算,實際我這邊測,並不慢呀~~
先問一下,您是怎樣跑,還有其他程式碼嗎? 硬體規格? CPU型號?


由 victor0726 在 2016-03-29 16:24 發表:

總板主您好:
我還有在加上向下滿足2倍目標的條件進去,在加權指數日k線周期時會等很久,我的cpu是pem雙核3.2G,8g記憶體。win7 64bit。


由 cgjj 在 2016-03-29 16:48 發表:

引用:
最初由 victor0726 發表
總板主您好:
我還有在加上向下滿足2倍目標的條件進去,在加權指數日k線周期時會等很久,我的cpu是pem雙核3.2G,8g記憶體。win7 64bit。



3.2g 並不慢
應該是 "向下滿足2倍目標" 造成的問題
您可能把整個數列帶入迴圈中計算了(重複算整個數列)
而非在迴圈中計算數列中的單一元素
在迴圈中存取數列,大都應該是 變數[i] 這樣的形式

請把程式碼貼出來,以便於協助修改


由 victor0726 在 2016-03-29 16:52 發表:

謝謝版主的回應,我回家再看看程式是否如您說的。感謝~


由 cgjj 在 2016-03-29 16:53 發表:

引用:
最初由 victor0726 發表
謝謝版主的回應,我回家再看看程式是否如您說的。感謝~


不客氣 ^^


全部時間均為台灣時間, 現在時間為14:27
在這個頁面顯示本主題全部的 14 個文章


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

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