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

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


由 Markchu7 在 2014-11-23 23:09 發表:

[問題]江波數據排序求值

IF DATATYPE<6 THEN CK:=DATE<>REF(DATE,1);
SP:=BARSLAST(CK)+1;
MM60:=IF(SP>60,60,SP);
總委買張數:=BuyShares,Color5050FF,Linethick0;
總委賣張數:=SellShares,Color66CC00,Linethick0;
總成交張數:=TradeShares,ColorBBBBBB,Linethick0;

PW:總委買張數-總委賣張數,Color000000;
PWUP:HHV(PW,MM60),COLORRED;
PWDN:LLV(PW,MM60),COLORBLUE;

U1:=IF(SP=1,REF(PWUP,BARSLAST(SP=1)),0),COLORRED,LINETHICK;
U2:=IF(SP=2,REF(PWUP,BARSLAST(SP=2)),0),COLORRED,LINETHICK;
U3:=IF(SP=3,REF(PWUP,BARSLAST(SP=3)),0),COLORRED,LINETHICK;
U4:=IF(SP=4,REF(PWUP,BARSLAST(SP=4)),0),COLORRED,LINETHICK;
U5:=IF(SP=5,REF(PWUP,BARSLAST(SP=5)),0),COLORRED,LINETHICK;

D1:=IF(SP=1,REF(PWDN,BARSLAST(SP=1)),0),COLORBLUE,LINETHICK;
D2:=IF(SP=2,REF(PWDN,BARSLAST(SP=2)),0),COLORBLUE,LINETHICK;
D3:=IF(SP=3,REF(PWDN,BARSLAST(SP=3)),0),COLORBLUE,LINETHICK;
D4:=IF(SP=4,REF(PWDN,BARSLAST(SP=4)),0),COLORBLUE,LINETHICK;
D5:=IF(SP=5,REF(PWDN,BARSLAST(SP=5)),0),COLORBLUE,LINETHICK;

U1S:=U1;
x:=SORT(U1S,1,1,datacount);
U1TOP:U1S[10],COLORRED,LINETHICK;
D1S:=D1;
x:=SORT(D1S,0,1,datacount);
D1LAST:D1S[10],COLORRED,LINETHICK;

U2S:=U2;
x:=SORT(U2S,1,1,datacount);
U2TOP:U2S[10],COLORRED,LINETHICK;
D2S:=D2;
x:=SORT(D2S,0,1,datacount);
D2LAST:D2S[10],COLORRED,LINETHICK;

U3S:=U3;
x:=SORT(U3S,1,1,datacount);
U3TOP:U3S[10],COLORRED,LINETHICK;
D3S:=D3;
x:=SORT(D3S,0,1,datacount);
D3LAST:D3S[10],COLORRED,LINETHICK;

U4S:=U4;
x:=SORT(U4S,1,1,datacount);
U4TOP:U4S[10],COLORRED,LINETHICK;
D4S:=D4;
x:=SORT(D4S,0,1,datacount);
D4LAST:D4S[10],COLORRED,LINETHICK;

U5S:=U5;
x:=SORT(U5S,1,1,datacount);
U5TOP:U5S[10],COLORRED,LINETHICK;
D5S:=D5;
x:=SORT(D5S,0,1,datacount);
D5LAST:D5S[10],COLORRED,LINETHICK;
以上源碼是我所能想到的笨方法!60分鐘週期&30分鐘週期還OK!
但15分鐘週期5分鐘週期甚至1分鐘週期就沒辦法了!
請求協助==將每天同一時間K棒的PWUP與PWDN依大小排序後,取最大的10天與最小10天的值!請協助!感謝!


由 cgjj 在 2014-11-24 09:04 發表:

回覆: [問題]江波數據排序求值

引用:
最初由 Markchu7 發表
IF DATATYPE<6 THEN CK:=DATE<>REF(DATE,1);
SP:=BARSLAST(CK)+1;
MM60:=IF(SP>60,60,SP);
總委買張數:=BuyShares,Color5050FF,Linethick0;
總委賣張數:=SellShares,Color66CC00,Linethick0;
總成交張數:=TradeShares,ColorBBBBBB,Linethick0;

PW:總委買張數-總委賣張數,Color000000;
PWUP:HHV(PW,MM60),COLORRED;
PWDN:LLV(PW,MM60),COLORBLUE;

U1:=IF(SP=1,REF(PWUP,BARSLAST(SP=1)),0),COLORRED,LINETHICK;
U2:=IF(SP=2,REF(PWUP,BARSLAST(SP=2)),0),COLORRED,LINETHICK;
U3:=IF(SP=3,REF(PWUP,BARSLAST(SP=3)),0),COLORRED,LINETHICK;
U4:=IF(SP=4,REF(PWUP,BARSLAST(SP=4)),0),COLORRED,LINETHICK;
U5:=IF(SP=5,REF(PWUP,BARSLAST(SP=5)),0),COLORRED,LINETHICK;

D1:=IF(SP=1,REF(PWDN,BARSLAST(SP=1)),0),COLORBLUE,LINETHICK;
D2:=IF(SP=2,REF(PWDN,BARSLAST(SP=2)),0),COLORBLUE,LINETHICK;
D3:=IF(SP=3,REF(PWDN,BARSLAST(SP=3)),0),COLORBLUE,LINETHICK;
D4:=IF(SP=4,REF(PWDN,BARSLAST(SP=4)),0),COLORBLUE,LINETHICK;
D5:=IF(SP=5,REF(PWDN,BARSLAST(SP=5)),0),COLORBLUE,LINETHICK;

U1S:=U1;
x:=SORT(U1S,1,1,datacount);
U1TOP:U1S[10],COLORRED,LINETHICK;
D1S:=D1;
x:=SORT(D1S,0,1,datacount);
D1LAST:D1S[10],COLORRED,LINETHICK;

U2S:=U2;
x:=SORT(U2S,1,1,datacount);
U2TOP:U2S[10],COLORRED,LINETHICK;
D2S:=D2;
x:=SORT(D2S,0,1,datacount);
D2LAST:D2S[10],COLORRED,LINETHICK;

U3S:=U3;
x:=SORT(U3S,1,1,datacount);
U3TOP:U3S[10],COLORRED,LINETHICK;
D3S:=D3;
x:=SORT(D3S,0,1,datacount);
D3LAST:D3S[10],COLORRED,LINETHICK;

U4S:=U4;
x:=SORT(U4S,1,1,datacount);
U4TOP:U4S[10],COLORRED,LINETHICK;
D4S:=D4;
x:=SORT(D4S,0,1,datacount);
D4LAST:D4S[10],COLORRED,LINETHICK;

U5S:=U5;
x:=SORT(U5S,1,1,datacount);
U5TOP:U5S[10],COLORRED,LINETHICK;
D5S:=D5;
x:=SORT(D5S,0,1,datacount);
D5LAST:D5S[10],COLORRED,LINETHICK;
以上源碼是我所能想到的笨方法!60分鐘週期&30分鐘週期還OK!
但15分鐘週期5分鐘週期甚至1分鐘週期就沒辦法了!
請求協助==將每天同一時間K棒的PWUP與PWDN依大小排序後,取最大的10天與最小10天的值!請協助!感謝!



CK:=DATE<>REF(DATE,1);
SP:=BARSLAST(CK)+1;
MM60:=IF(SP>60,60,SP);
總委買張數:=BuyShares,Color5050FF,Linethick0;
總委賣張數:=SellShares,Color66CC00,Linethick0;
PW:=總委買張數-總委賣張數,Color000000;
PWUP:=HHV(PW,MM60),COLORRED;
PWDN:=LLV(PW,MM60),COLORBLUE;
SS:=SUMBARS(SP=1,10);
U1:HHV(PWUP*(SP=1),SS);
D1:LLV(PWDN*(SP=1),SS);
SS:=SUMBARS(SP=2,10);
U2:HHV(PWUP*(SP=2),SS);
D2:LLV(PWDN*(SP=2),SS);
其餘依此類推...


由 Markchu7 在 2014-11-24 12:24 發表:

感謝指導!
U1,D1的部分獲得解決!
U1TOP,D1LAST的部分是否有簡化的寫法?


由 Markchu7 在 2014-11-24 12:35 發表:

再看仔細後,請問==
SS:=SUMBARS(SP=1,10);此處参數10是30分鐘週期10根K棒?還是針對U1TOP:U1S[10],COLORRED,LINETHICK;此處排序参數10做處理?


由 cgjj 在 2014-11-24 12:46 發表:

引用:
最初由 Markchu7 發表
感謝指導!
U1,D1的部分獲得解決!
U1TOP,D1LAST的部分是否有簡化的寫法?

再看仔細後,請問==
SS:=SUMBARS(SP=1,10);此處参數10是30分鐘週期10根K棒?還是針對U1TOP:U1S[10],COLORRED,LINETHICK;此處排序参數10做處理?



10 是10 天
不用再算U1TOP,D1LAST了
Un 即是對應最大 Dn 即是對應最小


由 Markchu7 在 2014-11-24 13:20 發表:

對不起!再確認!
因為我的江波數據大概是29天左右,U1TOP:U1S[10],COLORRED,LINETHICK;取10的用意是要求得過去29天中,較強勢或較弱勢的10天其PW的值大約是多少以協助自己判斷盤勢!
U1:HHV(PWUP*(SP=1),SS);
D1:LLV(PWDN*(SP=1),SS);
//這個部分是否已包含對29天數據排序並取前10?
最大值與最小值我將它認定為極端值,拿來當門檻似乎較不適合!請釋疑!


由 cgjj 在 2014-11-24 13:36 發表:

引用:
最初由 Markchu7 發表
對不起!再確認!
因為我的江波數據大概是29天左右,U1TOP:U1S[10],COLORRED,LINETHICK;取10的用意是要求得過去29天中,較強勢或較弱勢的10天其PW的值大約是多少以協助自己判斷盤勢!
總版主指導的源碼是否已包含對29天數據排序並取前10這個部分?
最大值與最小值(U1:HHV(PWUP*(SP=1),SS);
D1:LLV(PWDN*(SP=1),SS);//這個部分是否已包含對29天數據排序並取前10?)
我將它認定為極端值,拿來當門檻似乎較不適合!請釋疑!



跟10天沒有關聯吧@@

您是要取所有江波數據,每天同等位置排序後,取名次第10名的數值嗎? (最大或最小值)


由 Markchu7 在 2014-11-24 13:41 發表:

是的!請協助!


由 cgjj 在 2014-11-24 14:07 發表:

引用:
最初由 Markchu7 發表
是的!請協助!


CK:=DATE<>REF(DATE,1);
SP:=BARSLAST(CK)+1;
MM60:=IF(SP>60,60,SP);
總委買張數:=BuyShares,Color5050FF,Linethick0;
總委賣張數:=SellShares,Color66CC00,Linethick0;
PW:=總委買張數-總委賣張數,Color000000;
PWUP:=HHV(PW,MM60),COLORRED;
PWDN:=LLV(PW,MM60),COLORBLUE;
StNo:=lbound(PW); PNo:=datacount-10+1;

U1:if(SP=1,PWUP,-999999);
D1:=if(SP=1,PWDN,999999);
x:=SORT(U1,0,StNo,datacount);
x:=SORT(D1,1,StNo,datacount);
U1TOP:U1[PNo];
U1LAST:D1[PNo];

U2:if(SP=2,PWUP,-999999);
D2:=if(SP=2,PWDN,999999);
x:=SORT(U2,0,StNo,datacount);
x:=SORT(D2,1,StNo,datacount);
U2TOP:U2[PNo];
U2LAST:D2[PNo];

其餘依此類推...


由 Markchu7 在 2014-11-24 14:44 發表:

感謝指導!


由 Markchu7 在 2014-11-24 15:19 發表:

加碼請問:
若要排序的數據為RG:PWUP-PWDN;要如何寫呢?嘗試套用,發現並不適用?其中癥結何在?
煩請再次指導,感謝!


由 cgjj 在 2014-11-24 15:22 發表:

引用:
最初由 Markchu7 發表
加碼請問:
若要排序的數據為RG:PWUP-PWDN;要如何寫呢?嘗試套用,發現並不適用?其中癥結何在?
煩請再次指導,感謝!



排序後您要取最大還是取最小?


由 cgjj 在 2014-11-24 15:31 發表:

參考範例:
RG:=PWUP-PWDN;
U1:if(SP=1,RG,-999999);
D1:=if(SP=1,RG,999999);
x:=SORT(U1,0,StNo,datacount);
x:=SORT(D1,1,StNo,datacount);
U1TOP:U1[PNo];
U1LAST:D1[PNo];


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


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

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