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

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


由 Markchu7 在 2023-10-24 09:10 發表:

[問題]指標自行添加數據

源碼==
分鐘首K:=ISREGULARFBAR;
換日首K:=TRADEDATE<>REF(TRADEDATE,1);
歷史首K:=BARPOS=1;
當沖週期:=DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2;
DBCK:=IF(當沖週期,分鐘首K OR 換日首K,歷史首K),LINETHICK;
外盤:=STKINDI('','新盤差引用.外盤(0)',0,0),COLORRED,LINETHICK0;
內盤:=STKINDI('','新盤差引用.內盤(1)',0,0),COLORBLUE,LINETHICK0;
首筆POWER:=STKINDI('','X引用首筆POWER.VV',0,0),COLOR000000,LINETHICK;
POWER:(外盤-內盤),COLOR000000,LINETHICK2;//原始盤差
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
子公式==
外盤:STKINDI('','新盤差引用.外盤(0)',0,0),COLORRED,LINETHICK0;
內盤:STKINDI('','新盤差引用.內盤(1)',0,0),COLORBLUE,LINETHICK0;
原始盤差:=外盤-內盤,COLORRED,LINETHICK0;
vS:原始盤差;
vv:vS[1];

原因-->
因為是動態資料的緣故,DBCK之前一根K棒POWER理論上是沒有數據的!
需求-->
想將DBCK之前一根K棒的POWER數據設為'首筆POWER',請問要如何實現?
我了解:必須開盤後才有數據,等於是回到過去畫線的意思,我只是要指標線有畫出來就可以了,感謝!


由 cgjj 在 2023-10-24 09:41 發表:

回覆: [問題]指標自行添加數據

引用:
最初由 Markchu7 發表
源碼==
分鐘首K:=ISREGULARFBAR;
換日首K:=TRADEDATE<>REF(TRADEDATE,1);
歷史首K:=BARPOS=1;
當沖週期:=DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2;
DBCK:=IF(當沖週期,分鐘首K OR 換日首K,歷史首K),LINETHICK;
外盤:=STKINDI('','新盤差引用.外盤(0)',0,0),COLORRED,LINETHICK0;
內盤:=STKINDI('','新盤差引用.內盤(1)',0,0),COLORBLUE,LINETHICK0;
首筆POWER:=STKINDI('','X引用首筆POWER.VV',0,0),COLOR000000,LINETHICK;
POWER:(外盤-內盤),COLOR000000,LINETHICK2;//原始盤差
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
子公式==
外盤:STKINDI('','新盤差引用.外盤(0)',0,0),COLORRED,LINETHICK0;
內盤:STKINDI('','新盤差引用.內盤(1)',0,0),COLORBLUE,LINETHICK0;
原始盤差:=外盤-內盤,COLORRED,LINETHICK0;
vS:原始盤差;
vv:vS[1];

原因-->
因為是動態資料的緣故,DBCK之前一根K棒POWER理論上是沒有數據的!
需求-->
想將DBCK之前一根K棒的POWER數據設為'首筆POWER',請問要如何實現?
我了解:必須開盤後才有數據,等於是回到過去畫線的意思,我只是要指標線有畫出來就可以了,感謝!


'X引用首筆POWER.VV'
這個子公式源碼為何?


由 Markchu7 在 2023-10-24 10:13 發表:

對不起!PO文不夠仔細!
'X引用首筆POWER.VV'子公式==
外盤:STKINDI('','新盤差引用.外盤(0)',0,0),COLORRED,LINETHICK0;
內盤:STKINDI('','新盤差引用.內盤(1)',0,0),COLORBLUE,LINETHICK0;
原始盤差:=外盤-內盤,COLORRED,LINETHICK0;
vS:原始盤差;
vv:vS[1];

就是這個!謝謝!


由 cgjj 在 2023-10-24 10:34 發表:

引用:
最初由 Markchu7 發表
對不起!PO文不夠仔細!
'X引用首筆POWER.VV'子公式==
外盤:STKINDI('','新盤差引用.外盤(0)',0,0),COLORRED,LINETHICK0;
內盤:STKINDI('','新盤差引用.內盤(1)',0,0),COLORBLUE,LINETHICK0;
原始盤差:=外盤-內盤,COLORRED,LINETHICK0;
vS:原始盤差;
vv:vS[1];

就是這個!謝謝!



這個也是要開盤了才有數據
把它畫在過去是很奇怪的事
且不一定有過去的位置可以畫(例:新上市)


由 cgjj 在 2023-10-24 12:25 發表:

硬要處理的話,方法為:

原碼:
LB:=lbound(POWER); if LB>1 then begin x:=SETLBOUND(POWER,LB-1); POWER[LB-1]:=首筆POWER[1]; end;


由 Markchu7 在 2023-10-24 14:08 發表:

感謝指導!謝謝!


由 Markchu7 在 2023-10-30 09:20 發表:

請問總版主:
用於商品:FITX1+,週期:1分鐘K,
出現下標越界,應如何處理?


由 cgjj 在 2023-10-30 09:26 發表:

引用:
最初由 Markchu7 發表
請問總版主:
用於商品:FITX1+,週期:1分鐘K,
出現下標越界,應如何處理?




改這樣試試
LB:=lbound(POWER);
if LB>1 then begin
x:=SETLBOUND(POWER,LB-1);
POWER[LB-1]:=首筆POWER[datacount];
end;


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


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

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