奇狐社區論壇
在這個頁面顯示本主題全部的 2 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- IF指令轉成FOR DO 判斷式 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=15925)


由 sunnyjboy1960 在 2011-08-06 15:40 發表:

IF指令轉成FOR DO 判斷式

以前曾詢問過有關FOR DO之寫法但是用了二天的時間參照舊法
結果仍然是-- 指標數組下標越界或超出有效數據區間
可否請協助指導將下列指令

高3:=HHV(H,3);低3:=LLV(L,3);SH:H>ref(高3,1);SL:L<ref(低3,1);

支壓線:IF(長K紅判, IF(下跌關K,
IF (K高-K低>30,K2,K低+KL4),長K紅),
IF(長K黑判, IF(上漲關K,
IF(K高-K低>30,K2,K高-KL4),長K黑),
IF(中K紅判,IF(SH,K2,K低),
IF(中K黑判,IF(SL,K2,K高),
IF(SH,K低,IF(SL,K高,ref(k2,1)))))));
//最後一行之K2在 for i=xx to datacount do begin 中用前一個值(MM[i-1])取代;

改用FOR DO之寫法寫成支壓線,以便後續使用更細之控制項目來調整其內容


由 cgjj 在 2011-08-08 09:30 發表:

回覆: IF指令轉成FOR DO 判斷式

引用:
最初由 sunnyjboy1960 發表
以前曾詢問過有關FOR DO之寫法但是用了二天的時間參照舊法
結果仍然是-- 指標數組下標越界或超出有效數據區間
可否請協助指導將下列指令

高3:=HHV(H,3);低3:=LLV(L,3);SH:H>ref(高3,1);SL:L<ref(低3,1);

支壓線:IF(長K紅判, IF(下跌關K,
IF (K高-K低>30,K2,K低+KL4),長K紅),
IF(長K黑判, IF(上漲關K,
IF(K高-K低>30,K2,K高-KL4),長K黑),
IF(中K紅判,IF(SH,K2,K低),
IF(中K黑判,IF(SL,K2,K高),
IF(SH,K低,IF(SL,K高,ref(k2,1)))))));
//最後一行之K2在 for i=xx to datacount do begin 中用前一個值(MM[i-1])取代;

改用FOR DO之寫法寫成支壓線,以便後續使用更細之控制項目來調整其內容



舉例來說:

MM:MA(C,15);
MM 的起始有效位置是 15

若用這樣去存取就會下標越界
for i=1 to datacount do begin
X:=MM[i];
end

改用這樣去存取就不會下標越界
for i=15 to datacount do begin
X:=MM[i];
end


若該數列是儲存條件成立與否(只有零和壹)
那裡可用 or barpos=0 的取巧方法來處理數列起始位置
例如:
CK:MA(C,15)>MA(C,25); //CK有效起始位置為 25
可改為
CK:MA(C,15)>MA(C,25) or barpos=0; //CK有效起始位置為1
註:若數列不是儲存條件成立與否, 不可用此取巧法處理


全部時間均為台灣時間, 現在時間為23:21
在這個頁面顯示本主題全部的 2 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.