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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [問題]IF 條件 錯誤 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=19524)


由 abcg5 在 2015-10-16 18:23 發表:

[問題]IF 條件 錯誤

我想了解今天開盤跟昨天收盤的關係,code如下

//取得昨日OHLC
KN1:=BARSLAST(DATE<>REF(DATE,1))+1;
今開:=REF(OPEN,KN1-1);//今開
今高:=HHV(HIGH,KN1);//今高
今低:=LLV(LOW,KN1);//今低
昨開:=REF(今開,KN1);//昨開
昨高:=REF(今高,KN1);//昨高
昨低:=REF(今低,KN1);//昨低
昨收:=REF(CLOSE,KN1);//昨收


IF BETWEEN(今開, 昨收-N2, 昨收+N2)=1 THEN 跳空類型:=0; ELSE 跳空類型:=1;

本來以為是between的問題,
但後來發現是放在if才會出錯.

有看到if cond只能放單一數值的判斷,
between的結果不就是1或0的單一數值嗎?
求解法. 感謝


由 cgjj 在 2015-10-16 18:28 發表:

回覆: [問題]IF 條件 錯誤

引用:
最初由 abcg5 發表
我想了解今天開盤跟昨天收盤的關係,code如下

//取得昨日OHLC
KN1:=BARSLAST(DATE<>REF(DATE,1))+1;
今開:=REF(OPEN,KN1-1);//今開
今高:=HHV(HIGH,KN1);//今高
今低:=LLV(LOW,KN1);//今低
昨開:=REF(今開,KN1);//昨開
昨高:=REF(今高,KN1);//昨高
昨低:=REF(今低,KN1);//昨低
昨收:=REF(CLOSE,KN1);//昨收


IF BETWEEN(今開, 昨收-N2, 昨收+N2)=1 THEN 跳空類型:=0; ELSE 跳空類型:=1;

本來以為是between的問題,
但後來發現是放在if才會出錯.

有看到if cond只能放單一數值的判斷,
between的結果不就是1或0的單一數值嗎?
求解法. 感謝



問題不在 between
開高低收,本身都是數列唷
故不能直接帶入 if ...then 的 條件式中

您的需求這樣處理就可:
跳空類型:=BETWEEN(今開, 昨收-N2, 昨收+N2)=0;


由 abcg5 在 2015-10-16 20:34 發表:

回覆: 回覆: [問題]IF 條件 錯誤

引用:
最初由 cgjj 發表
問題不在 between
開高低收,本身都是數列唷
故不能直接帶入 if ...then 的 條件式中

您的需求這樣處理就可:
跳空類型:=BETWEEN(今開, 昨收-N2, 昨收+N2)=0;



太感謝了,反而更精簡


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


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

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