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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 應用交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=32)
-- [求救]引用數據類型錯誤 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=23684)


由 chwqk 在 2023-06-19 14:20 發表:

[求救]引用數據類型錯誤

想運用"子標"方式引入數股票除權息前後一段區間,信號到一指標內。

起L:IF(端起N<0,FILTER(端距LD<=-端起N,-端起N),BARSLAST(端除)=端起N),LINETHICK0,COLORWHITE; 起L:=IF(BARPOS>=LBOUND(起L),起L,0); IF LBOUND(起L)=0 THEN 起L:=0; //向前無數據=0
迄L:IF(端迄N<0,FILTER(端距LD<=-端迄N,-端迄N),BARSLAST(端除)=端迄N),LINETHICK0,COLORWHITE; 迄L:=IF(BARPOS>=LBOUND(迄L),迄L,0); IF LBOUND(迄L)=0 THEN 迄L:=0; //向前無數據=0
端L:BARSLAST(起L)<BARSLAST(迄L),LINETHICK0,COLORWHITE; 端L:=IF(BARPOS>=LBOUND(端L),端L,0); IF LBOUND(端L)=0 THEN 端L:=0;
出現 引用數據類型錯誤
請問如何修正


由 chwqk 在 2023-06-19 14:20 發表:

子標如下


由 cgjj 在 2023-06-19 14:39 發表:

回覆: [求救]引用數據類型錯誤

引用:
最初由 chwqk 發表
想運用"子標"方式引入數股票除權息前後一段區間,信號到一指標內。

起L:IF(端起N<0,FILTER(端距LD<=-端起N AND 端距LD>=0,-端起N),BARSLAST(端除)=端起N),LINETHICK0,COLORWHITE; 起L:=IF(BARPOS>=LBOUND(起L),起L,0); IF LBOUND(起L)=0 THEN 起L:=0; //向前無數據=0
迄L:IF(端迄N<0,FILTER(端距LD<=-端迄N AND 端距LD>=0,-端迄N),BARSLAST(端除)=端迄N),LINETHICK0,COLORWHITE; 迄L:=IF(BARPOS>=LBOUND(迄L),迄L,0); IF LBOUND(迄L)=0 THEN 迄L:=0; //向前無數據=0
端L:BARSLAST(起L)<BARSLAST(迄L),LINETHICK0,COLORWHITE; 端L:=IF(BARPOS>=LBOUND(端L),端L,0); IF LBOUND(端L)=0 THEN 端L:=0;
出現 引用數據類型錯誤
請問如何修正



IF LBOUND(起L)=0 THEN 起L:=0; //向前無數據=0

當 LBOUND(起L)=0 經過 起L:=0; 處理後
起L 它就不是數列了!!!

起L不是數列您把它帶入下面這行,當然會出現引用數據類型錯誤!
端L:BARSLAST(起L)<BARSLAST(迄L)

您將
起L:=IF(BARPOS>=LBOUND(起L),起L,0);
IF LBOUND(起L)=0 THEN 起L:=0; //向前無數據=0

改為
起L:IF(BARPOS>=LBOUND(起L) and LBOUND(起L)>0,起L,0);

就能夠修正此問題了
迄L 亦是相同狀況,請自行修正!


由 chwqk 在 2023-06-19 17:38 發表:

不高興

不是很了解:
當 LBOUND(起L)=0 經過 起L:=0; 處理後
起L 它就不是數列了!!
以為給一值=0,就如同數列,只是值都是0。

線湊合使用。
感謝膽大解惑........


由 cgjj 在 2023-06-19 19:55 發表:

引用:
最初由 chwqk 發表
不是很了解:
當 LBOUND(起L)=0 經過 起L:=0; 處理後
起L 它就不是數列了!!
以為給一值=0,就如同數列,只是值都是0。

線湊合使用。
感謝膽大解惑........



Sorry 漏寫!

這段
當 LBOUND(起L)=0 經過 起L:=0; 處理後
起L 它就不是數列了!!!

要改為
當 LBOUND(起L)=0 成立執行 起L:=0; 處理後,"起L" 它就不再是數列了!!!

0 是一個數,不是數列

Close 是數列
把 Close*0 可得到一個零值數列
該數列起始區間,與K棒區間相等


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


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

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