 |
a666666
中級會員
註冊日期: Nov 2007
來 自:
文章數量: 53 |
|
老师: 请教一个函数问题
老师: 请教一个函数问题
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 在 2010-11-12 17:15 編輯 |
向版主報告此篇 |  |
|
2010-11-12 16:23 |
|
|
|  |
 |
a666666
中級會員
註冊日期: Nov 2007
來 自:
文章數量: 53 |
|
太难了 没用过这函数 不知函数"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()"函数或其它函数改下 感谢
|
|
向版主報告此篇 |  |
|
2010-11-12 19:24 |
|
|
|  |
 |
a666666
中級會員
註冊日期: Nov 2007
來 自:
文章數量: 53 |
|
老师 以下这就是完整公式:
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;
感谢
|
|
向版主報告此篇 |  |
|
2010-11-15 16:50 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18289 |
|
引用: 最初由 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;
感谢
這個公式是錯的
因為 hld 變數尚未被定義, 就被帶入拿來計算
或者
它不是奇狐也不是飛狐的公式
|
|
向版主報告此篇 |  |
|
2010-11-15 17:45 |
|
|
|  |
 |
a666666
中級會員
註冊日期: Nov 2007
來 自:
文章數量: 53 |
|
老师: 这个公式我在用 不是不能用 就是夸周期用时出现以下问题
k线指标组下标超界或超出有效数据区间:
|
|
向版主報告此篇 |  |
|
2010-11-15 17:59 |
|
|
|  |
 |
a666666
中級會員
註冊日期: Nov 2007
來 自:
文章數量: 53 |
|
老师:
是奇狐公式 用了很长时间 可能有未来意义在里面 用的好 是好东西 用的不好...... 没办法 做股期总要相信一总技术分析公式指标 谢谢老师改改
|
| 最後由 a666666 在 2010-11-15 19:02 編輯 |
向版主報告此篇 |  |
|
2010-11-15 18:49 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18289 |
|
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 此時沒有輸出(無效數列)
也就是說後續的迴圈, 會有機會存取到無效的數列位置
結果輕則數據錯亂, 重則造成軟體錯誤當掉(記憶體溢位)
但實際受傷害比較重的, 往往會是輕的結果
錯的讓您渾然不知 ......
|
|
向版主報告此篇 |  |
|
2010-11-15 19:20 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|