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

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


由 ruhong0927 在 2008-08-01 15:57 發表:

指標公式一問

我使用某一指標,內容大致如下,這是過去版上某大大寫的

UseNum:=STKCOUNT(STK_Name);//'上市股票'
FOR SNO:=1 TO UseNum DO BEGIN
UseSTK:=STKFROMBLK(STK_Name,SNO);
TEMP:=STKINDI(UseSTK,'SUMSTKIO_SUB.B',0,0);
BVOL:=BVOL+TEMP;
TEMP:=STKINDI(UseSTK,'SUMSTKIO_SUB.S',0,0);
SVOL:=SVOL+TEMP;
END;

簡單的講它是去統計特定版塊中所有股票的資料

但我盤中會發現資料被清空,例如九點半發生時,之前算出來的就不見了,然後又會重九點半後繼續算,請問這是什麼原因,能解決嗎?


由 cgjj 在 2008-08-01 16:27 發表:

回覆: 指標公式一問

引用:
最初由 ruhong0927 發表
我使用某一指標,內容大致如下,這是過去版上某大大寫的

UseNum:=STKCOUNT(STK_Name);//'上市股票'
FOR SNO:=1 TO UseNum DO BEGIN
UseSTK:=STKFROMBLK(STK_Name,SNO);
TEMP:=STKINDI(UseSTK,'SUMSTKIO_SUB.B',0,0);
BVOL:=BVOL+TEMP;
TEMP:=STKINDI(UseSTK,'SUMSTKIO_SUB.S',0,0);
SVOL:=SVOL+TEMP;
END;

簡單的講它是去統計特定版塊中所有股票的資料

但我盤中會發現資料被清空,例如九點半發生時,之前算出來的就不見了,然後又會重九點半後繼續算,請問這是什麼原因,能解決嗎?



SUMSTKIO_SUB 跑的是分筆成交資料
盤中有初始化數據, 或斷訊或因故重開過
連線後請先做 [補分筆成交]
將所有股票的分筆資料補足
補足後再跑就不會有缺口了!


由 無風ㄉ雲 在 2010-01-08 12:21 發表:

回覆: 回覆: 指標公式一問

引用:
最初由 cgjj 發表
SUMSTKIO_SUB 跑的是分筆成交資料
盤中有初始化數據, 或斷訊或因故重開過
連線後請先做 [補分筆成交]
將所有股票的分筆資料補足
補足後再跑就不會有缺口了!


V1:=0;
V2:=0;
UseNum:=STKCOUNT('上市股票');
FOR SNO:=1 TO UseNum DO BEGIN
UseSTK:=STKFROMBLK('上市股票',SNO);
TMP:=STKINDI(UseSTK,'SUM001_SUB.B',0,0);
IF LBOUND(TMP)>0 THEN V1:=V1+TMP;
TMP:=STKINDI(UseSTK,'SUM001_SUB.S',0,0);
IF LBOUND(TMP)>0 THEN V2:=V2+TMP;
END;
B:=V1 LINETHICK0;
S:=V2 LINETHICK0;
V3:(B/S-1)*100;

子公式
B:BUYVOL*C;
S:SELLVOL*C;

會出現線形消失.可否幫忙修改公式.謝謝!


由 cgjj 在 2010-01-08 13:20 發表:

回覆: 回覆: 回覆: 指標公式一問

引用:
最初由 無風ㄉ雲 發表
V1:=0;
V2:=0;
UseNum:=STKCOUNT('上市股票');
FOR SNO:=1 TO UseNum DO BEGIN
UseSTK:=STKFROMBLK('上市股票',SNO);
TMP:=STKINDI(UseSTK,'SUM001_SUB.B',0,0);
IF LBOUND(TMP)>0 THEN V1:=V1+TMP;
TMP:=STKINDI(UseSTK,'SUM001_SUB.S',0,0);
IF LBOUND(TMP)>0 THEN V2:=V2+TMP;
END;
B:=V1 LINETHICK0;
S:=V2 LINETHICK0;
V3:(B/S-1)*100;

子公式
B:BUYVOL*C;
S:SELLVOL*C;

會出現線形消失.可否幫忙修改公式.謝謝!



這是因為每支股票數據有效長度不一所造成的
有些商品不是一開盤就有成交

先把無效地方歸零, 讓數據有效長度一致
再去加總, 就可解決這問題


由 cgjj 在 2010-01-08 19:00 發表:

處理方式如下(子公式不變)

原碼:

de
:=date;
V1:=barslast(de=de[datacount])*0;
V2:=V1;
UseNum:=STKCOUNT('上市股票');
FOR 
SNO:=1 TO UseNum DO BEGIN
  UseSTK
:=STKFROMBLK('上市股票',SNO);
  
TMP:=STKINDI(UseSTK,'SUM001_SUB.B',0,0);
  IF 
LBOUND(TMP)>0 THEN BEGIN
    V1
:=V1+if(barpos>=LBOUND(TMP),TMP,0);
  
END;
  
TMP:=STKINDI(UseSTK,'SUM001_SUB.S',0,0);
  IF 
LBOUND(TMP)>0 THEN BEGIN
    V2
:=V2+if(barpos>=LBOUND(TMP),TMP,0);
  
END;
END;
B:=V1 LINETHICK0;
S:=V2 LINETHICK0;
V3:(B/S-1)*100;


由 無風ㄉ雲 在 2010-01-11 01:25 發表:

引用:
最初由 cgjj 發表
處理方式如下(子公式不變)

原碼:

de
:=date;
V1:=barslast(de=de[datacount])*0;
V2:=V1;
UseNum:=STKCOUNT('上市股票');
FOR 
SNO:=1 TO UseNum DO BEGIN
  UseSTK
:=STKFROMBLK('上市股票',SNO);
  
TMP:=STKINDI(UseSTK,'SUM001_SUB.B',0,0);
  IF 
LBOUND(TMP)>0 THEN BEGIN
    V1
:=V1+if(barpos>=LBOUND(TMP),TMP,0);
  
END;
  
TMP:=STKINDI(UseSTK,'SUM001_SUB.S',0,0);
  IF 
LBOUND(TMP)>0 THEN BEGIN
    V2
:=V2+if(barpos>=LBOUND(TMP),TMP,0);
  
END;
END;
B:=V1 LINETHICK0;
S:=V2 LINETHICK0;
V3<img src="images/smilies/frown.gif" border="0" alt="">B/S-1)*100;



感謝版大ㄉ回覆~
線形已經可以完全呈現~
但~
另一問題.又浮出台面.
所有上市股票ㄉ主動性買單 + 主動性賣單.
應該等於成交量.
我於程式尾加上
V4:B+S;
結果卻與成交量相差甚遠
我又該如何驗證這些數據的正確性呢?


由 cgjj 在 2010-01-11 09:27 發表:

引用:
最初由 無風ㄉ雲 發表
感謝版大ㄉ回覆~
線形已經可以完全呈現~
但~
另一問題.又浮出台面.
所有上市股票ㄉ主動性買單 + 主動性賣單.
應該等於成交量.
我於程式尾加上
V4:B+S;
結果卻與成交量相差甚遠
我又該如何驗證這些數據的正確性呢?




子公式 SUM001_SUB 的內容為
B:BUYVOL*C;
S:SELLVOL*C;

其已經乘上收盤價, 不是原本的量
當然差很多囉


由 無風ㄉ雲 在 2010-01-11 09:59 發表:

引用:
最初由 cgjj 發表
子公式 SUM001_SUB 的內容為
B:BUYVOL*C;
S:SELLVOL*C;

其已經乘上收盤價, 不是原本的量
當然差很多囉


或許是我表達錯誤~
1.所有上市股票(主動性買單*C的和)
2.所有上市股票(主動性賣單*C的和)
1+2應該等於大盤現貨的成交金額(不是成交張數)

另一問~
此程式所跑ㄉ是所有上市股票.
理應與目前所在ㄉ商品畫面沒有直接ㄉ關係.
而我將畫面切換至台當月後.
數值卻變ㄉ不一樣.


由 cgjj 在 2010-01-11 11:52 發表:

引用:
最初由 無風ㄉ雲 發表
或許是我表達錯誤~
1.所有上市股票(主動性買單*C的和)
2.所有上市股票(主動性賣單*C的和)
1+2應該等於大盤現貨的成交金額(不是成交張數)

另一問~
此程式所跑ㄉ是所有上市股票.
理應與目前所在ㄉ商品畫面沒有直接ㄉ關係.
而我將畫面切換至台當月後.
數值卻變ㄉ不一樣.



Re: 把畫面切換至台當月後, 數值卻變ㄉ不一樣
因為市場的開收盤時間不同
當然不能在台當月中使用

Re:1+2應該等於大盤現貨的成交金額 ?
這公式是不能拿來這樣總計的
將分筆成交 BUYVOL 和 SELLVOL 資料, 引用到1分鐘數據中
若有商品中間有些時段沒交易, 其會延續前一次交易的值
故統計會有落差, 不能僅僅如此處理, 非常費事


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


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

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