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

註冊日期: Nov 2007
來  自:
文章數量: 1512

[問題]出現指標數組下標越界...的警語!

分鐘首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;
CKSP:=BARSLAST(DBCK)+1,LINETHICK;
CKMM8:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=8,CKSP,8),8),LINETHICK;
CKMM13:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=13,CKSP,13),13),LINETHICK;
CKMM25:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=25,CKSP,25),25),LINETHICK;
RG:=HHV(H,CKSP)-LLV(L,CKSP);
CKMM13RG:=MA(H-L,CKMM13),LINETHICK;
////////////////////////////////////////////////////
U0HH:=STKINDI('','X引用每日起算HEMA.YY(5)',0,-1);
U0LL:=STKINDI('','X引用每日起算LEMA.YY(5)',0,-1);
U0AH:=HHV(U0HH,CKMM25);
U0AL:=LLV(U0LL,CKMM25);
ARG:U0AH-U0AL,LINETHICK,NOAXIS;
U0小壓S:=STKINDI('','X引用每日起算HEMA.YY(13)',0,-1),COLORBLUE,LINETHICK1;
U0天:HHV(U0小壓S,CKMM13),COLORBLUE,LINETHICK;
U0上:U0小壓S,COLORBLUE,LINETHICK;
U0下:STKINDI('','X引用每日起算LEMA.YY(13)',0,-1),COLORRED,LINETHICK;
U0地:LLV(U0下,CKMM13),COLORRED,LINETHICK;

多進:=NOT(DBCK) AND RG>=30 AND REF(U0天>REF(U0天,1),1)=0 AND U0天>REF(U0天,1);
空進:=NOT(DBCK) AND RG>=30 AND REF(U0地<REF(U0地,1),1)=0 AND U0地<REF(U0地,1);
多出:=CROSS(U0地,C);
空出:=CROSS(C,U0天);
////////////////////////////////////////////////////
強出:=TIME=134000;
進出:C*0; CC:=C;
多空:=0; //1.多 -1.空 0.無
盈虧:c*0 linethick;
for i = 1 to datacount do begin
if 多空=0 and 強出[i]=0 then begin
多空:=多進[i]-空進[i]; 進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 強出[i] then begin
進出[i]:=多空*4; 多空:=0;
end else begin
if 多空=多出[i] or 多空=-空出[i] then begin
進出[i]:=多空*2; 多空:=0;
end else if 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空; 進價:=CC[i];
end;
end;
end;
end;
////////////////////////////////////////////////////
出現指標數組下標越界...的警語!請協助!謝謝!

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

註冊日期: Nov 2007
來  自:
文章數量: 1512

子公式源碼==
X引用每日起算HEMA-->
分鐘首K:=ISREGULARFBAR;
換日首K:=TRADEDATE<>REF(TRADEDATE,1);
歷史首K:=BARPOS=1;
DBCK:=IF(DATATYPE=1 OR DATATYPE=11 OR DATATYPE=2,分鐘首K OR 換日首K,歷史首K),LINETHICK;

XX:=H;
StNo:=lbound(XX);
YY:XX*0; YY[StNo]:=XX[StNo];
FK:=DBCK;
for i=StNo+1 to datacount do begin
if FK[i]=1 then begin
YY[i]:=XX[i];
end else begin
YY[i]:=(2*XX[i]+(N-1)*YY[i-1])/(N+1);
end;
end;
X引用每日起算LEMA-->省略

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

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

回覆: [問題]出現指標數組下標越界...的警語!

引用:
最初由 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;
CKSP:=BARSLAST(DBCK)+1,LINETHICK;
CKMM8:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=8,CKSP,8),8),LINETHICK;
CKMM13:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=13,CKSP,13),13),LINETHICK;
CKMM25:=IF(DATATYPE=12 OR DATATYPE=11 OR DATATYPE=1 OR DATATYPE=2,IF(CKSP<=25,CKSP,25),25),LINETHICK;
RG:=HHV(H,CKSP)-LLV(L,CKSP);
CKMM13RG:=MA(H-L,CKMM13),LINETHICK;
////////////////////////////////////////////////////
U0HH:=STKINDI('','X引用每日起算HEMA.YY(5)',0,-1);
U0LL:=STKINDI('','X引用每日起算LEMA.YY(5)',0,-1);
U0AH:=HHV(U0HH,CKMM25);
U0AL:=LLV(U0LL,CKMM25);
ARG:U0AH-U0AL,LINETHICK,NOAXIS;
U0小壓S:=STKINDI('','X引用每日起算HEMA.YY(13)',0,-1),COLORBLUE,LINETHICK1;
U0天:HHV(U0小壓S,CKMM13),COLORBLUE,LINETHICK;
U0上:U0小壓S,COLORBLUE,LINETHICK;
U0下:STKINDI('','X引用每日起算LEMA.YY(13)',0,-1),COLORRED,LINETHICK;
U0地:LLV(U0下,CKMM13),COLORRED,LINETHICK;

多進:=NOT(DBCK) AND RG>=30 AND REF(U0天>REF(U0天,1),1)=0 AND U0天>REF(U0天,1);
空進:=NOT(DBCK) AND RG>=30 AND REF(U0地<REF(U0地,1),1)=0 AND U0地<REF(U0地,1);
多出:=CROSS(U0地,C);
空出:=CROSS(C,U0天);
////////////////////////////////////////////////////
強出:=TIME=134000;
進出:C*0; CC:=C;
多空:=0; //1.多 -1.空 0.無
盈虧:c*0 linethick;
for i = 1 to datacount do begin
if 多空=0 and 強出[i]=0 then begin
多空:=多進[i]-空進[i]; 進出[i]:=多空;
if 多空<>0 then 進價:=CC[i];
end else if 多空<>0 then begin
盈虧[i]:=(CC[i]-進價)*多空;
if 強出[i] then begin
進出[i]:=多空*4; 多空:=0;
end else begin
if 多空=多出[i] or 多空=-空出[i] then begin
進出[i]:=多空*2; 多空:=0;
end else if 多空=空進[i] or 多空=-多進[i] then begin
進出[i]:=多空*3; 多空:=-多空; 進價:=CC[i];
end;
end;
end;
end;
////////////////////////////////////////////////////
出現指標數組下標越界...的警語!請協助!謝謝!




多進:=NOT(DBCK) AND RG>=30 AND REF(U0天>REF(U0天,1),1)=0 AND U0天>REF(U0天,1);
空進:=NOT(DBCK) AND RG>=30 AND REF(U0地<REF(U0地,1),1)=0 AND U0地<REF(U0地,1);
多出:=CROSS(U0地,C);
空出:=CROSS(C,U0天);

改為
多進:=NOT(DBCK) AND RG>=30 AND REF(U0天>REF(U0天,1),1)=0 AND U0天>REF(U0天,1) or barpos=0;
空進:=NOT(DBCK) AND RG>=30 AND REF(U0地<REF(U0地,1),1)=0 AND U0地<REF(U0地,1) or barpos=0;
多出:=CROSS(U0地,C) or barpos=0;
空出:=CROSS(C,U0天) or barpos=0;

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

註冊日期: Nov 2007
來  自:
文章數量: 1512

謝謝指導!

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

註冊日期: Nov 2007
來  自:
文章數量: 1512

1.請問這個迴圈公式是否排除了DBCK(當天第一根K棒)產生的訊號?(不了解迴圈寫作,請見諒)
2.若是如此,請問可以修改成也納入嗎?
3.我的例子!空進的其中一種狀況為
DBCK AND CROSS(C-50.5,L) 以1/30的開盤是符合條件的!
請解惑與指導!謝謝!

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

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

引用:
最初由 Markchu7 發表
1.請問這個迴圈公式是否排除了DBCK(當天第一根K棒)產生的訊號?(不了解迴圈寫作,請見諒)
2.若是如此,請問可以修改成也納入嗎?
3.我的例子!空進的其中一種狀況為
DBCK AND CROSS(C-50.5,L) 以1/30的開盤是符合條件的!
請解惑與指導!謝謝!



跟迴圈無關係!!!
您自己寫的進場條件,自己要清楚呀~~
您進場條件,本身就將 NOT(DBCK) 加入了

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

註冊日期: Nov 2007
來  自:
文章數量: 1512

引起誤會!補充說明一下:
我是單純用這個架構來試著測試每個進場訊號的優劣,條件會隨每次的測試不同而更改!
以此例而言,就單純 空進BCK AND CROSS(C-50.5,L); 如此而已!
所以有此疑問!

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

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

引用:
最初由 Markchu7 發表
引起誤會!補充說明一下:
我是單純用這個架構來試著測試每個進場訊號的優劣,條件會隨每次的測試不同而更改!
以此例而言,就單純 空進:DBCK AND CROSS(C-50.5,L); 如此而已!
所以有此疑問!



前面已說跟迴圈無關係!

請確認該位置 空進 是否有成立(空進=1)

若 空進 成立同時 多進 也成立,兩者會互相抵消
你的條件應該避免此種情況發生

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

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
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.  聯絡我們