![]() |
在這個頁面顯示本主題全部的 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)
指標公式一問
我使用某一指標,內容大致如下,這是過去版上某大大寫的
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;
簡單的講它是去統計特定版塊中所有股票的資料
但我盤中會發現資料被清空,例如九點半發生時,之前算出來的就不見了,然後又會重九點半後繼續算,請問這是什麼原因,能解決嗎?
回覆: 指標公式一問
引用:
最初由 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;
簡單的講它是去統計特定版塊中所有股票的資料
但我盤中會發現資料被清空,例如九點半發生時,之前算出來的就不見了,然後又會重九點半後繼續算,請問這是什麼原因,能解決嗎?
回覆: 回覆: 指標公式一問
引用:
最初由 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;
會出現線形消失.可否幫忙修改公式.謝謝!
處理方式如下(子公式不變)
原碼:
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;
引用:
最初由 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 發表
子公式 SUM001_SUB 的內容為
B:BUYVOL*C;
S:SELLVOL*C;
其已經乘上收盤價, 不是原本的量
當然差很多囉
引用:
最初由 無風ㄉ雲 發表
或許是我表達錯誤~
1.所有上市股票(主動性買單*C的和)
2.所有上市股票(主動性賣單*C的和)
1+2應該等於大盤現貨的成交金額(不是成交張數)
另一問~
此程式所跑ㄉ是所有上市股票.
理應與目前所在ㄉ商品畫面沒有直接ㄉ關係.
而我將畫面切換至台當月後.
數值卻變ㄉ不一樣.
全部時間均為台灣時間, 現在時間為18:14 | 在這個頁面顯示本主題全部的 9 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.