到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > [求救] 請問如何改寫這個FOR迴圈?
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
sattvakang
初級會員

註冊日期: Jul 2010
來  自:
文章數量: 8

[求救] 請問如何改寫這個FOR迴圈?

請問可以不用到FOR迴圈改寫下面這組程式嗎?

ST:=lbound(C);
A:C;
FOR i=ST+1 to datacount DO begin
A[i]:=IF(條件成立[i], C[i], A[i-1] ); //若條件不成立 則沿用前值
end;

最後由 sattvakang 在 2011-05-13 21:03 編輯 向版主報告此篇 | 查IP位址
Old Post 2011-05-13 16:07
sattvakang 現在離線 點選這裡查看 sattvakang 的個人資料 點選這裡給 sattvakang 傳送一條短訊 查找更多關於 sattvakang 的文章 增加 sattvakang 至你的好友列表 編輯/刪除訊息 引用回覆
sattvakang
初級會員

註冊日期: Jul 2010
來  自:
文章數量: 8

找到一個方法.....

版主 我找到下列的方法改寫上式

CK:=(條件成立=0 AND REF(條件成立,1)=1);
SP:=BARSLAST(CK)+1;
A:=IF(條件成立,C,REF(C,SP+1));

請問這個新程式比原先FOR迴圈的版本 在奇狐上執行會較快嗎?

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

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

回覆: [求救] 請問如何改寫這個FOR迴圈?

引用:
最初由 sattvakang 發表
請問可以不用到FOR迴圈改寫下面這組程式嗎?

ST:=lbound(C);
A:C;
FOR i=ST+1 to datacount DO begin
A[i]:=IF(條件成立[i], C[i], A[i-1] ); //若條件不成立 則沿用前值
end;



可以簡化為此行
A:ref(C,barslast(條件成立>0));

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

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

回覆: 找到一個方法.....

引用:
最初由 sattvakang 發表
版主 我找到下列的方法改寫上式

CK:=(條件成立=0 AND REF(條件成立,1)=1);
SP:=BARSLAST(CK)+1;
A:=IF(條件成立,C,REF(C,SP+1));

請問這個新程式比原先FOR迴圈的版本 在奇狐上執行會較快嗎?



這段算的結果與前面那段是不同的唷

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

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

在FOR 迴圈當中
不要用 IF(cond,A,B) 去存取計算 [單一元素]
改用 IF ..... THEN ..... ELSE .....
速度會提升許多

IF(cond,A,B) 是專為數列對數列計算設置的
若應用它來算 [單一元素] 會比較慢

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

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
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.  聯絡我們