![]() |
在這個頁面顯示本主題全部的 10 個文章 |
奇狐社區論壇 (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=15024)
[求救]"指標數組下標越界或超出有效數據區間"
原交易範例
多進:=A>B or barpos=0;
空進:=A<B or barpos=0;
進出:C*0;
多空:=0; //1.多 -1.空 0.無
控利:=50; 進價:=0; CC:=C;
進向:=多進-空進;
盈虧:c*0 linethick;
for i= 1 to datacount do begin
if 多空=0 then begin
多空:=進向[i]; 進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 多空<>進向[i] and 進向[i]<>0 then begin
進出[i]:=-多空*3; 多空:=-多空; 進價:=CC[i];
end else if 盈虧[i]>=控利 then begin
進出[i]:=多空*2; 多空:=0;
end;
end;
end;
自行加入下列條件
VAR1:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));
成交:=VOL,ColorCD52FF,linethick0;
主買盤:=IF(CLOSE>OPEN,VAR1*(HIGH-LOW),IF(CLOSE<OPEN,VAR1*((HIGH-OPEN)+(CLOSE-LOW)),VOL/2)),Color0000FF;
主賣盤:=IF(CLOSE>OPEN,VAR1*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,VAR1*(HIGH-LOW),VOL/2)),Color00E521;
正比:主買盤/主賣盤,linethick0;
買進1:=A>B or barpos=0;
買進2:= ref(正比,1)>2 or barpos=0;
多進:=買進1 or 買進2;
會出現"指標數組下標越界或超出有效數據區間"
請問哪裡出錯,應如何修正 謝謝!
回覆: [求救]"指標數組下標越界或超出有效數據區間"
引用:
最初由 hamson 發表
原交易範例
多進:=A>B or barpos=0;
空進:=A<B or barpos=0;
進出:C*0;
多空:=0; //1.多 -1.空 0.無
控利:=50; 進價:=0; CC:=C;
進向:=多進-空進;
盈虧:c*0 linethick;
for i= 1 to datacount do begin
if 多空=0 then begin
多空:=進向[i]; 進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 多空<>進向[i] and 進向[i]<>0 then begin
進出[i]:=-多空*3; 多空:=-多空; 進價:=CC[i];
end else if 盈虧[i]>=控利 then begin
進出[i]:=多空*2; 多空:=0;
end;
end;
end;
自行加入下列條件
VAR1:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));
成交:=VOL,ColorCD52FF,linethick0;
主買盤:=IF(CLOSE>OPEN,VAR1*(HIGH-LOW),IF(CLOSE<OPEN,VAR1*((HIGH-OPEN)+(CLOSE-LOW)),VOL/2)),Color0000FF;
主賣盤:=IF(CLOSE>OPEN,VAR1*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,VAR1*(HIGH-LOW),VOL/2)),Color00E521;
正比:主買盤/主賣盤,linethick0;
買進1:=A>B or barpos=0;
買進2:= ref(正比,1)>2 or barpos=0;
多進:=買進1 or 買進2;
會出現"指標數組下標越界或超出有效數據區間"
請問哪裡出錯,應如何修正 謝謝!
回覆: 回覆: [求救]"指標數組下標越界或超出有效數據區間"
引用:
最初由 cgjj 發表
將
買進1:=A>B or barpos=0;
買進2:= ref(正比,1)>2 or barpos=0;
多進:=買進1 or 買進2
改為
買進1:=A>B;
買進2:= ref(正比,1)>2;
多進:=買進1 or 買進2 or barpos=0;
註:若有其他地方有相同狀況也要改
回覆: 回覆: 回覆: [求救]"指標數組下標越界或超出有效數據區間"
引用:
最初由 hamson 發表
依照版主改法仍然出現指標數組下標越界或超出有效數據區間
我只要不加此條件程式是正常的,加入後就不行,因此我懷疑
VAR1:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));
成交:=VOL,ColorCD52FF,linethick0;
主買盤:=IF(CLOSE>OPEN,VAR1*(HIGH-LOW),IF(CLOSE<OPEN,VAR1*((HIGH-OPEN)+(CLOSE-LOW)),VOL/2)),Color0000FF;
主賣盤:=IF(CLOSE>OPEN,VAR1*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,VAR1*(HIGH-LOW),VOL/2)),Color00E521;
正比:主買盤/主賣盤,linethick0;這段有問題,但又不知哪裡有問題
回覆: 回覆: 回覆: 回覆: [求救]"指標數組下標越界或超出有效數據區間"
引用:
最初由 cgjj 發表
麻煩把完整的程式貼出來, 這樣比較容易協助您
其實我在寫指標公式時也常出現這樣的訊息,請問老師,有沒有什麼比較好的除錯工具可以用,尤其我現在出現的問題是在大部份的股票可以正常出現我要的數值,但是某一些特定的股票,就會出現這樣的訊息
引用:
最初由 kuolung 發表
其實我在寫指標公式時也常出現這樣的訊息,請問老師,有沒有什麼比較好的除錯工具可以用,尤其我現在出現的問題是在大部份的股票可以正常出現我要的數值,但是某一些特定的股票,就會出現這樣的訊息
我想我的問題就是第2項 :
2.迴圈的起始點是否有可能超過變數下界
修改一下,起始點就可以了,
如果有 step by step 的除錯工具,我想應更能了解問題點,找出更好修正公式的方法
引用:
最初由 kuolung 發表
我想我的問題就是第2項 :
2.迴圈的起始點是否有可能超過變數下界
修改一下,起始點就可以了,
如果有 step by step 的除錯工具,我想應更能了解問題點,找出更好修正公式的方法
我目前的想法是把程式移轉到 visual c++ 環境中,再把奇狐的資料轉進去,就可以用 step by step 的方式 debug 了
| 全部時間均為台灣時間, 現在時間為18:03 | 在這個頁面顯示本主題全部的 10 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.