到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 請問有關 IF 條件語句
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
dich38
中級會員

註冊日期: Sep 2005
來  自:
文章數量: 36

請問有關 IF 條件語句

請問版主:

IF cond THEN expr1 ELSE expr2
此指令僅能用於單一數值的判斷不能應用於整個數列的判斷
 像下面的這兩行運算式是不能跑的:
IF close>open THEN kk:1000;
IF close>0 THEN kk:1000;

如果今天我需要判別的條件比較多,且大都是整個數列,
例 :

IF MA10 < REF(MA10,1) or MAV5 < MAV21 then
IF V > REF(V,1) and V>REF(V,2) AND V > REF(V,3) then
IF ( C > O ) or ( C = O AND C > REF(C,1)) then
buy= 1
end IF
end IF
else
IF MA10 > REF(MA10,1) OR MAV5 > MAV21 then
IF ( V > REF(V,1) and C > O ) or (( V <REF(V,1) and C > REF(C,1) ) then
buy = 1
end IF
end IF
end

我該如何運用 IF 條件語句去表達上述之程式碼,(可否不要改用IF函數(IF(X,A,B)若X不為0則返回A,否則返回B)來表示,或有其他語法可用來判別多層條件的嗎?

PS:
1:MA10表10均線,MAV5表5日均量。
2: 寫IF語句時,我有適當的內縮,但發表時卻全部往左靠齊。

向版主報告此篇 | 查IP位址
Old Post 2005-11-29 07:49
dich38 現在離線 點選這裡查看 dich38 的個人資料 點選這裡給 dich38 傳送一條短訊 查找更多關於 dich38 的文章 增加 dich38 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18126

可以的, 請把 [指標公式]\[進階教學] 耐心的看完
下列連結中的 【範例5】求指定年份的最低價
即有相關用法

http://www.chiefox.com.tw/bbs/showt...=&threadid=2649

向版主報告此篇 | 查IP位址
Old Post 2005-11-29 08:47
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
dich38
中級會員

註冊日期: Sep 2005
來  自:
文章數量: 36

引用:
最初由 cgjj 發表
可以的, 請把 [指標公式]\[進階教學] 耐心的看完
下列連結中的 【範例5】求指定年份的最低價
即有相關用法

http://www.chiefox.com.tw/bbs/showt...=&threadid=2649



請問版主
以下的程式跑出來的結果是
「指標數組下標越界或超出有效數據區間」
不知錯在何處?我要如何修改?

原碼:

UseH
:=H;
UseL:=L;
UseO:=O;
UseC:=C;

StartNo:= Lbound(UseC);
EndNo:= Ubound(UseC);

FOR 
StartNo to EndNo Do Begin
  
IF HD[I] = 1 Then Begin          
    
IF UseC[I] > UseO[I]  Then Begin      
       
IF (UseH[I] - UseC[I]) / (UseC[I] - UseO[I]) >= 3  Then Begin  
        
IF  (UseH[I] - UseC[I]) >= 15  Then Begin      
           SELL_P
:=UseL[I];       
           IF  
UseC[I] < SELL_P   Then Begin 
            SELL
:= ;
           
END;
        
END;
       
END;
     
END;
   
END;
END;

向版主報告此篇 | 查IP位址
Old Post 2005-12-16 00:31
dich38 現在離線 點選這裡查看 dich38 的個人資料 點選這裡給 dich38 傳送一條短訊 查找更多關於 dich38 的文章 增加 dich38 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18126

程式中有不存在的數列 HD
IF HD[I] = 1 Then Begin

向版主報告此篇 | 查IP位址
Old Post 2005-12-16 02:37
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
dich38
中級會員

註冊日期: Sep 2005
來  自:
文章數量: 36

引用:
最初由 cgjj 發表
程式中有不存在的數列 HD
IF HD[I] = 1 Then Begin




對不起版主,我忘了把HD交待清楚!
HD:=HHV(H,7)=H;

另外可否請問版主,若在發表時要如何作,
才可將IF 一層一層的往內縮?
而不是全部靠左排列!

向版主報告此篇 | 查IP位址
Old Post 2005-12-16 23:35
dich38 現在離線 點選這裡查看 dich38 的個人資料 點選這裡給 dich38 傳送一條短訊 查找更多關於 dich38 的文章 增加 dich38 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18126

用PHP語法即可
〔PHP〕................〔/PHP〕

我這試過ok, 沒有您說的情況
你確定原碼只有這幾行嗎?

向版主報告此篇 | 查IP位址
Old Post 2005-12-19 08:38
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
dich38
中級會員

註冊日期: Sep 2005
來  自:
文章數量: 36

引用:
最初由 cgjj 發表
用PHP語法即可
〔PHP〕................〔/PHP〕

我這試過ok, 沒有您說的情況
你確定原碼只有這幾行嗎?




謝謝版主的提醒!我已找到有問題的地方了。

向版主報告此篇 | 查IP位址
Old Post 2005-12-24 07:21
dich38 現在離線 點選這裡查看 dich38 的個人資料 點選這裡給 dich38 傳送一條短訊 查找更多關於 dich38 的文章 增加 dich38 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為09:39 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

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

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們