到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 下標越界問題請教
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
Rosetta
資深會員

註冊日期: Sep 2014
來  自:
文章數量: 117

下標越界問題請教

根據以前帖子,修改的個股預估量,發現一個問題,在15分跑時,有時少部份股票會出現「指標組下標越界或超出有效數據區間」的訊息,據觀察好像是K棒數量不足,例如6919、6982等等,有沒有辦法調整K棒數量,讓程式順利顯示出來,謝謝


源碼如下:

VARIABLE:MN[18]=0; //定義15分鐘K棒對應乘數
MN[01]:=8; MN[07]:=2; MN[13]:=1.38;
MN[02]:=5; MN[08]:=1.8; MN[14]:=1.32;
MN[03]:=4; MN[09]:=1.7; MN[15]:=1.25;
MN[04]:=3; MN[10]:=1.6; MN[16]:=1.18;
MN[05]:=2.5; MN[11]:=1.5; MN[17]:=1.11;
MN[06]:=2.2; MN[12]:=1.45; MN[18]:=1;

成交:=VOL;

DEKN:=barslast(date<>ref(date,1))+1;
預估:C*0; VV:=成交;
for i=lbound(DEKN) to datacount do begin
if DEKN[i]=1 then SV:=0;
SV:=SV+VV[i];
預估[i]:=SV*MN[DEKN[i]];
end;
預估;

向版主報告此篇 | 查IP位址
Old Post 2024-12-25 08:39
Rosetta 現在離線 點選這裡查看 Rosetta 的個人資料 點選這裡給 Rosetta 傳送一條短訊 查找更多關於 Rosetta 的文章 增加 Rosetta 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18116

回覆: 下標越界問題請教

引用:
最初由 Rosetta 發表
根據以前帖子,修改的個股預估量,發現一個問題,在15分跑時,有時少部份股票會出現「指標組下標越界或超出有效數據區間」的訊息,據觀察好像是K棒數量不足,例如6919、6982等等,有沒有辦法調整K棒數量,讓程式順利顯示出來,謝謝


源碼如下:

VARIABLE:MN[18]=0; //定義15分鐘K棒對應乘數
MN[01]:=8; MN[07]:=2; MN[13]:=1.38;
MN[02]:=5; MN[08]:=1.8; MN[14]:=1.32;
MN[03]:=4; MN[09]:=1.7; MN[15]:=1.25;
MN[04]:=3; MN[10]:=1.6; MN[16]:=1.18;
MN[05]:=2.5; MN[11]:=1.5; MN[17]:=1.11;
MN[06]:=2.2; MN[12]:=1.45; MN[18]:=1;

成交:=VOL;

DEKN:=barslast(date<>ref(date,1))+1;
預估:C*0; VV:=成交;
for i=lbound(DEKN) to datacount do begin
if DEKN[i]=1 then SV:=0;
SV:=SV+VV[i];
預估[i]:=SV*MN[DEKN[i]];
end;
預估;



測試過在6919、6982正常唷
甚至拿它來選股(所有上市上櫃股票),也是正常的!

此公式為股票專用!
您若不小心去跑到期貨商品,出現錯誤是必然的(期貨交易時間長,不只18根)
公式應該要去限定,僅有股票才能跑,範例如下:(加在程式最前頭)
CkMT:=MARKETLABEL='TW' or MARKETLABEL='TO';
if CkMT=0 then exit;

向版主報告此篇 | 查IP位址
Old Post 2024-12-25 08:49
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18116

若該商品K棒不足一日,則會出錯!
要預防很簡單!


DEKN:=barslast(date<>ref(date,1))+1;

改為
DEKN:=barslast(date<>ref(date,1))+1;
if lbound(DEKN)=0 then exit;

向版主報告此篇 | 查IP位址
Old Post 2024-12-25 08:54
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
Rosetta
資深會員

註冊日期: Sep 2014
來  自:
文章數量: 117

引用:
最初由 cgjj 發表
若該商品K棒不足一日,則會出錯!
要預防很簡單!


DEKN:=barslast(date<>ref(date,1))+1;

改為
DEKN:=barslast(date<>ref(date,1))+1;
if lbound(DEKN)=0 then exit;



我知道原因了,因為我將上面程式命名為「預估量」的子公式,然後新建公式去引用,目的是切換任何周其實都可以固定數值,然後就出現上述問題,請問該如何解決?

A01:=STKINDI('','預估量.預估',0,3);//15MIN預估量
EXPLAINEX (1, '15MIN預估量=',A01,2,0);

註:「預估量.預估」中間這個點,不知如何一貼文就變成句號

最後由 Rosetta 在 2024-12-26 07:29 編輯 向版主報告此篇 | 查IP位址
Old Post 2024-12-26 07:25
Rosetta 現在離線 點選這裡查看 Rosetta 的個人資料 點選這裡給 Rosetta 傳送一條短訊 查找更多關於 Rosetta 的文章 增加 Rosetta 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18116

引用:
最初由 Rosetta 發表
我知道原因了,因為我將上面程式命名為「預估量」的子公式,然後新建公式去引用,目的是切換任何周其實都可以固定數值,然後就出現上述問題,請問該如何解決?

A01:=STKINDI('','預估量.預估',0,3);//15MIN預估量
EXPLAINEX (1, '15MIN預估量=',A01,2,0);

註:「預估量.預估」中間這個點,不知如何一貼文就變成句號



A01:=STKINDI('','預估量.預估',0,3);//15MIN預估量
EXPLAINEX (1, '15MIN預估量=',A01,2,0);

這兩行不會有機會在 6919、6982 引發下標越界的!

只要是確定是引用15分鐘周期,且對象是股票,基本上它是不會出現越界的!
除非該商品剛上市,且分鐘K棒累積尚未超過一個交易日,才會出現越界的

若以上因素皆排除,仍會見到!
則可能是您其他未貼出的程式碼所引起的

向版主報告此篇 | 查IP位址
Old Post 2024-12-26 08:58
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18116

如果您有機會跑到剛上市的商品!

請將
DEKN:=barslast(date<>ref(date,1))+1;
預估:C*0; VV:=成交;

改為這樣(這邊的先後次序,請勿變動)
DEKN:=barslast(date<>ref(date,1))+1;
預估:C*0; VV:=成交;
if lbound(DEKN)=0 then exit;

這樣就不會因為剛上市,無法計算而出現越界(預估值會得到0)

向版主報告此篇 | 查IP位址
Old Post 2024-12-26 09:05
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為23:53 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

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

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們