![]() |
在這個頁面顯示本主題全部的 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=14608)
老师: 请教一个函数问题
老师: 请教一个函数问题
for i=3+1 to datacount do begin
if fc[i]>mhn[i-1] then
hld[i]:=1
else if fc[i]<mln[i-1] then
hld[i]:=-1
else
hld[i]:=hld[i-1];
end; 这个函数总是出现这个问题;
k线指标组下标超界或超出有效数据区间:
这是什么问题 有解决的方法吗?
感谢
回覆: 老师: 请教一个函数问题
引用:
最初由 a666666 發表
老师: 请教一个函数问题
for i=3+1 to datacount do begin
if fc[i]>mhn[i-1] then
hld[i]:=1
else if fc[i]<mln[i-1] then
hld[i]:=-1
else
hld[i]:=hld[i-1];
end; 这个函数总是出现这个问题;
k线指标组下标超界或超出有效数据区间:
这是什么问题 有解决的方法吗?
感谢
太难了 没用过这函数 不知函数"LBOUND()"怎样用 用在何处改在什么地方 自己实在无法办到
for i=3+1 to datacount do begin
if fc[i]>mhn[i-1] then
hld[i]:=1
else if fc[i]<mln[i-1] then
hld[i]:=-1
else
hld[i]:=hld[i-1];
end;
希望 老师能把上面这个用"LBOUND()"函数或其它函数改下 感谢
引用:
最初由 a666666 發表
太难了 没用过这函数 不知函数"LBOUND()"怎样用 用在何处改在什么地方 自己实在无法办到
for i=3+1 to datacount do begin
if fc[i]>mhn[i-1] then
hld[i]:=1
else if fc[i]<mln[i-1] then
hld[i]:=-1
else
hld[i]:=hld[i-1];
end;
希望 老师能把上面这个用"LBOUND()"函数或其它函数改下 感谢
老师 以下这就是完整公式:
fc:=close;
mhn:=ma(high,n1);
mln:=ma(low,n1);
hld:=if(close>ref(MA(H,N1),1),1,if(close<ref(MA(L,N1),1),-1,ref(hld,1)));
for i=n1+1 to datacount do begin
if fc[i]>mhn[i-1] then
hld[i]:=1
else if fc[i]<mln[i-1] then
hld[i]:=-1
else
hld[i]:=hld[i-1];
end;
hilo:if(hld=-1,ma(h,n1),ma(l,N1))LINETHICK2;
感谢
引用:
最初由 a666666 發表
老师 以下这就是完整公式:
fc:=close;
mhn:=ma(high,n1);
mln:=ma(low,n1);
hld:=if(close>ref(MA(H,N1),1),1,if(close<ref(MA(L,N1),1),-1,ref(hld,1)));
for i=n1+1 to datacount do begin
if fc[i]>mhn[i-1] then
hld[i]:=1
else if fc[i]<mln[i-1] then
hld[i]:=-1
else
hld[i]:=hld[i-1];
end;
hilo:if(hld=-1,ma(h,n1),ma(l,N1))LINETHICK2;
感谢
老师: 这个公式我在用 不是不能用 就是夸周期用时出现以下问题
k线指标组下标超界或超出有效数据区间:
引用:
最初由 a666666 發表
老师: 这个公式我在用 不是不能用 就是夸周期用时出现以下问题
k线指标组下标超界或超出有效数据区间:
老师:
是奇狐公式 用了很长时间 可能有未来意义在里面 用的好 是好东西 用的不好...... 没办法 做股期总要相信一总技术分析公式指标 谢谢老师改改
fc:=close;
mhn:=ma(high,n1);
mln:=ma(low,n1);
hld:if(close>ref(MA(H,N1),1),1,if(close<ref(MA(L,N1),1),-1,-999999));
VERTLINE(hld=-999999) colorred linedot;
先單獨跑上面這段公式(縮小K棒, 輪換商品跑)
找到商品有發現被標紅色垂直線的地方(就是有錯的地方)
找到後您再將公式換成跑下面這段(僅跑這四行)
fc:=close;
mhn:=ma(high,n1);
mln:=ma(low,n1);
hld:if(close>ref(MA(H,N1),1),1,if(close<ref(MA(L,N1),1),-1,ref(hld,1)));
您就會發覺 hld 此時沒有輸出(無效數列)
也就是說後續的迴圈, 會有機會存取到無效的數列位置
結果輕則數據錯亂, 重則造成軟體錯誤當掉(記憶體溢位)
但實際受傷害比較重的, 往往會是輕的結果
錯的讓您渾然不知 ......
| 全部時間均為台灣時間, 現在時間為18:09 | 在這個頁面顯示本主題全部的 10 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.