 |
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;
////////////////////////////////////////////////////
出現指標數組下標越界...的警語!請協助!謝謝!
|
|
向版主報告此篇 |  |
|
2023-01-20 10:36 |
|
|
|  |
 |
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-->省略
|
|
向版主報告此篇 |  |
|
2023-01-20 11:19 |
|
|
|  |
 |
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;
|
|
向版主報告此篇 |  |
|
2023-01-21 23:06 |
|
|
|  |
 |
Markchu7
資深會員
註冊日期: Nov 2007
來 自:
文章數量: 1512 |
1.請問這個迴圈公式是否排除了DBCK(當天第一根K棒)產生的訊號?(不了解迴圈寫作,請見諒)
2.若是如此,請問可以修改成也納入嗎?
3.我的例子!空進的其中一種狀況為
DBCK AND CROSS(C-50.5,L) 以1/30的開盤是符合條件的!
請解惑與指導!謝謝!
|
|
向版主報告此篇 |  |
|
2023-02-04 18:31 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|