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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 減少計算K線總數,增加公式運算速度(用程式) (http://www.chiefox.com.tw/bbs/showthread.php?threadid=613)


由 cgjj 在 2004-04-05 12:37 發表:

減少計算K線總數,增加公式運算速度(用程式)

最近期指改新格式,由原來的約每5秒一筆變成約每2秒跳動一筆
有些人用的公式很複雜,導致5分鐘週期可能運算負擔過重
CPU和RAM 承受不了!

這個方法可改善此狀況
那就是減少計算K線的總數(不要算全部)
以下用最簡單的公式為例:

MAXKBAR 為指標參數,用來設定您要計算的總K線數
例如: 你要算最近的1000根K線,就將其設為1000


HH:H;
LL:L;
<%
HH = FFL.VarData("HH")
LL = FFL.VarData("LL")
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = ubound(HH)-MAXKBAR

FFL.VarData("HH") = HH
FFL.VarData("LL") = LL
FFL.VarStartIndex("HH")=MaxSet
FFL.VarStartIndex("LL")=MaxSet
%>


其原理為將原來要使用的數據導入 VBS 中
用 VBS 設定該數據運算時的起點後再導出
(將運算起點由最前面向後挪)

注意:
  FFL.VarData("HH") = HH   <== 這行一定要於前
  FFL.VarStartIndex("HH")=MaxSet  <== 這行一定要於後


由 cgjj 在 2004-04-05 13:52 發表:

若您於公式中有使用兩次 VBS,每次於 VBS 導出前都要再處理一次
不然之前設的運算起點會失效
例如:

原來公式
HH:H;
LL:L;
<%
HH = FFL.VarData("HH")
LL = FFL.VarData("LL")
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = ubound(HH)-MAXKBAR
FFL.VarData("HH") = HH
FFL.VarData("LL") = LL
FFL.VarStartIndex("HH")=MaxSet
FFL.VarStartIndex("LL")=MaxSet
%>
HHH:HH;
<%
HH = FFL.VarData("HH")
LL = FFL.VarData("LL")
FFL.VarData("HH") = HH
FFL.VarData("LL") = LL
%>
LLL:LL;

修正後的公式
HH:H;
LL:L;
<%
HH = FFL.VarData("HH")
LL = FFL.VarData("LL")
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = ubound(HH)-MAXKBAR
FFL.VarData("HH") = HH
FFL.VarData("LL") = LL
FFL.VarStartIndex("HH")=MaxSet
FFL.VarStartIndex("LL")=MaxSet
%>
HHH:HH;
<%
HH = FFL.VarData("HH")
LL = FFL.VarData("LL")
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = ubound(HH)-MAXKBAR

FFL.VarData("HH") = HH
FFL.VarData("LL") = LL
FFL.VarStartIndex("HH") = MaxSet
FFL.VarStartIndex("LL") = MaxSet

%>
LLL:LL;


由 cgjj 在 2004-04-06 09:29 發表:

處理總K線數不足的方法 (總K線數<MAXKBAR)
加入下列兩行即可(紅色)


HH:H;
LL:L;
<%
HH = FFL.VarData("HH")
LL = FFL.VarData("LL")
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = ubound(HH)-MAXKBAR
MinKBar= FFL.VarStartIndex("HH")
if MaxSet < MinKBar then MaxSet = MinKBar

FFL.VarData("HH") = HH
FFL.VarData("LL") = LL
FFL.VarStartIndex("HH")=MaxSet
FFL.VarStartIndex("LL")=MaxSet
%>


由 cgjj 在 2004-04-06 09:40 發表:

以 KDJ 指標修改為例

原公式:

{Stochastic Indicator KDJ Line , KDJ , 隨機指標KDJ}
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
J:3*K-2*D


修改後的公式:
{Stochastic Indicator KDJ Line , KDJ , 隨機指標KDJ}
CC:=C;
HH:=H;
LL:=L;
<%
CC = FFL.VarData("CC")
HH = FFL.VarData("HH")
LL = FFL.VarData("LL")
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = ubound(CC)-MAXKBAR
MinKBar= FFL.VarStartIndex("CC")
if MaxSet < MinKBar then MaxSet = MinKBar
FFL.VarData("CC") = CC
FFL.VarData("HH") = HH
FFL.VarData("LL") = LL
FFL.VarStartIndex("CC")=MaxSet
FFL.VarStartIndex("HH")=MaxSet
FFL.VarStartIndex("LL")=MaxSet
%>
RSV:=(CC-LLV(LL,N))/(HHV(HH,N)-LLV(LL,N))*100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
J:3*K-2*D


由 cgjj 在 2004-04-07 10:40 發表:

若 MAXKBAR=0 則計算所有k線,修改方法
加入下列兩行即可(紅色)


{Stochastic Indicator KDJ Line , KDJ , 隨機指標KDJ}
CC:=C;
HH:=H;
LL:=L;
<%
CC = FFL.VarData("CC")
HH = FFL.VarData("HH")
LL = FFL.VarData("LL")
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = ubound(CC)-MAXKBAR
MinKBar= FFL.VarStartIndex("CC")
if MaxSet < MinKBar then MaxSet = MinKBar
FFL.VarData("CC") = CC
FFL.VarData("HH") = HH
FFL.VarData("LL") = LL
IF MAXKBAR > 0 THEN
FFL.VarStartIndex("CC")=MaxSet
FFL.VarStartIndex("HH")=MaxSet
FFL.VarStartIndex("LL")=MaxSet
END IF
%>
RSV:=(CC-LLV(LL,N))/(HHV(HH,N)-LLV(LL,N))*100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
J:3*K-2*D

下面的檔案為 KDJ 修改最終的版本


由 cgjj 在 2004-04-07 12:09 發表:

再舉一實例,修改 快樂股市 中的 AMA 最佳移動平均

原公式:

{Adaptive Moving Average , AMA , 最佳移動平均}
Direction:=CLOSE - REF( CLOSE , N ) ;
XX:=ABS( CLOSE - REF( CLOSE , 1 ) ) ;
Volatility:=SUM( XX , N ) ;
ER:=ABS( Direction / Volatility ) ;
FastC:= 2 / ( p + 1 ) ;
SlowC:= 2 / ( q + 1 ) ;
SSC:=ER * ( FastC - SlowC ) + SlowC ;
Constant :=SSC * SSC , Linethick0;
YY:=REF( CLOSE , 1 ) + Constant * ( CLOSE - REF( CLOSE , 1 ) ) ;
AA:=IF( SUM( 1 , 0 )= N + 1 , YY , 0 ) ;
BB:=BarsLast( AA>0 ) ;
DD:=REF( C , BB ) ;
收盤價格:CLOSE , Linethick0 , Precision2;
CC:=CLOSE , Linethick0 ;
<%
NN= FFL.VarData("N")
VD= FFL.VarData("DD")
VC= FFL.VarData("CC")
Vonstant= FFL.VarData("Constant")
LT = UBound( VC )
for m=NN + 1 to LT
VD( m )=VD( m - 1 ) + Vonstant( m ) * ( VC( m ) - VD( m - 1 ) )
next
FFL.VarData("DD")=VD
%>
AMA:DD , Linethick0;
FFilter:=( K / 100 ) * Std( AMA - REF( AMA , 1 ) , N ) ;
XA:=IF( AMA<REF( AMA , 1 ) , AMA , 0 ) ;
XN:=BarsLast( XA>0 ) ;
AMALow :=REF( AMA , XN ) ;
YA:=IF( AMA>REF( AMA , 1 ) , AMA , 0 ) ;
YN:=BarsLast( YA>0 ) ;
AMAHigh :=REF( AMA , YN ) ;
RR:=IF( AMAHigh - AMA > FFilter , -1 , 0 ) ;
TT:=IF( AMA - AMALow > FFilter , 1 , RR ) ;
PartLine(TT=1,AMA) , ColorRed , Linethick2;
PartLine(TT= -1,AMA) , ColorGreen , Linethick2;
PartLine(TT= 0,AMA) , ColorWhite , Linethick2;

修改後的公式:
{Adaptive Moving Average , AMA , 最佳移動平均}
CC:=CLOSE , Linethick0 ;
<%
CC = FFL.VarData("CC")
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = ubound(CC)-MAXKBAR
MinKBar= FFL.VarStartIndex("CC")
if MaxSet < MinKBar then MaxSet = MinKBar
FFL.VarData("CC") = CC
if MAXKBAR > 0 THEN FFL.VarStartIndex("CC")=MaxSet
%>
Direction:=CC - REF( CC , N ) ;
XX:=ABS( CC - REF( CC , 1 ) ) ;
Volatility:=SUM( XX , N ) ;
ER:=ABS( Direction / Volatility ) ;
FastC:= 2 / ( p + 1 ) ;
SlowC:= 2 / ( q + 1 ) ;
SSC:=ER * ( FastC - SlowC ) + SlowC ;
Constant :=SSC * SSC , Linethick0;
YY:=REF( CC , 1 ) + Constant * ( CC - REF( CC , 1 ) ) ;
AA:=IF( SUM( 1 , 0 )= N + 1 , YY , 0 ) ;
BB:=BarsLast( AA>0 ) ;
DD:=REF( CC , BB ) ;
收盤價格:CC , Linethick0 , Precision2;
<%
NN= FFL.VarData("N")
VD= FFL.VarData("DD")
VC= FFL.VarData("CC")
Vonstant= FFL.VarData("Constant")
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = ubound(VD)-MAXKBAR
MinKBar= FFL.VarStartIndex("DD")
if MaxSet < MinKBar then MaxSet = MinKBar
if MAXKBAR > 0 then NN = MaxSet
LT = UBound( VC )
for m=NN + 1 to LT
VD( m )=VD( m - 1 ) + Vonstant( m ) * ( VC( m ) - VD( m - 1 ) )
next
FFL.VarData("DD")=VD
if MAXKBAR > 0 THEN FFL.VarStartIndex("DD")=MaxSet
%>
AMA:DD , Linethick0;
FFilter:=( K / 100 ) * Std( AMA - REF( AMA , 1 ) , N ) ;
XA:=IF( AMA<REF( AMA , 1 ) , AMA , 0 ) ;
XN:=BarsLast( XA>0 ) ;
AMALow :=REF( AMA , XN ) ;
YA:=IF( AMA>REF( AMA , 1 ) , AMA , 0 ) ;
YN:=BarsLast( YA>0 ) ;
AMAHigh :=REF( AMA , YN ) ;
RR:=IF( AMAHigh - AMA > FFilter , -1 , 0 ) ;
TT:=IF( AMA - AMALow > FFilter , 1 , RR ) ;
PartLine(TT=1,AMA) , ColorRed , Linethick2;
PartLine(TT= -1,AMA) , ColorGreen , Linethick2;
PartLine(TT= 0,AMA) , ColorWhite , Linethick2;

註:if MAXKBAR > 0 then NN = MaxSet 因NN也是K線的起算點,所以也要跟著變動,必須加入此行


由 cgjj 在 2004-04-07 13:42 發表:

原 VBS 迴圈K線的起跑點也要記的改喔!
不然會多浪費時間計算


例如:

原 VBS 程式
<%
NN = FFL.VarData("NN")
StartNo = FFL.VarStartIndex("NN")
EndNo = ubound(NN)
for i = StartNo to EndNo
NN(i) = NN(i)*10
next
FFL.VarData("NN") = NN
%>

改完後的 VBS 程式
<%
NN = FFL.VarData("NN")
EndNo = ubound(NN)
MAXKBAR = FFL.VarData("MAXKBAR")
MaxSet = EndNo-MAXKBAR
MinKBar= FFL.VarStartIndex("NN")
if MaxSet < MinKBar or MAXKBAR=0 then MaxSet = MinKBar
for i = MaxSet to EndNo
NN(i) = NN(i)*10
next
FFL.VarData("NN") = NN
FFL.VarStartIndex("NN")=MaxSet
%>


由 fyu 在 2004-04-07 13:47 發表:

cgjj 兄,謝謝你的費心引導! 我再研究研究...
祝操盤順心!

__________________
~~~~~~~~~~~~~~~~~
敬畏市場 順勢而為
隨波逐流 乘風破浪
~~~~~~~~~~~~~~~~~


由 cgjj 在 2004-04-07 14:12 發表:

抱歉, 疏忽了!
有下載 TEST_AMA.ALG 的人請重新下載, 原來的有一些問題(公式內容已修正).


由 cgjj 在 2004-04-07 14:34 發表:

原 VBS 迴圈K線的起跑點也要記的改喔!
這文章的內容也有修正喔!


由 cgjj 在 2004-04-07 14:52 發表:

我們已向博庭建議
加入 "可調整計算K線總數" 的功能
未來新的版本或許就能直接支援
就不用再如此修改了
目前 3.5 版僅能用此方法.


由 fyu 在 2004-04-07 18:26 發表:

感謝感謝!這樣必能造福(涵蓋)更多usr!
---------------
我們已向博庭建議
加入 "可調整計算K線總數" 的功能
未來新的版本或許就能直接支援
就不用再如此修改了
目前 3.5 版僅能用此方法.

__________________
~~~~~~~~~~~~~~~~~
敬畏市場 順勢而為
隨波逐流 乘風破浪
~~~~~~~~~~~~~~~~~


由 fyu 在 2004-04-10 21:50 發表:

本人所用公式已以VBS修改完成&試RUN OK,
再次感謝cgjj , 甘溫喔 !


--------------------------------------------------------------------
cgjj 兄,謝謝你的費心引導! 我再研究研究...
祝操盤順心!

__________________
~~~~~~~~~~~~~~~~~
敬畏市場 順勢而為
隨波逐流 乘風破浪
~~~~~~~~~~~~~~~~~


由 9902 在 2004-04-16 18:56 發表:

請教

如果用在分筆成交ㄉㄋ
因為現在用奇狐ㄉ內建公式bsv
一天會當好幾次
非常困擾
可否藉由vba解決
謝謝


由 cgjj 在 2004-04-16 20:28 發表:

加入 "可調整計算K線總數" 的 BSV 公式


由 cgjj 在 2004-08-30 13:07 發表:

引用:
最初由 cgjj 發表
我們已向博庭建議
加入 "可調整計算K線總數" 的功能
未來新的版本或許就能直接支援
就不用再如此修改了
目前 3.5 版僅能用此方法.



奇狐 4.0 版已內建此功能
可指定與主機連上線時運算的K線總數

可應用成, 例如:
盤中連線只算最近的 500 根K線
盤後離線算所有的K線


由 yes6689 在 2004-09-01 22:43 發表:

真是好消息ㄚ

板主云:
奇狐 4.0 版已內建此功能
可指定與主機連上線時運算的K線總數

可應用成, 例如:
盤中連線只算最近的 500 根K線
盤後離線算所有的K線

這真是一個好消息ㄚ!!
盤後是不是也可以指定計算的k數呢?
不然複雜點的指標在移動十字游標時.................很慢很慢呢!

真希望是可以的!!


由 king 在 2004-09-01 23:39 發表:

是的,已經內建此功能,20040904 快刀手兄將主持發表4.0版功能,請參閱相關資料及一休留言版,報名專線02-2599-5898


由 cgjj 在 2005-03-31 15:36 發表:

4.0 版可由系統選項自行設定1分和5分載入的K棒數
來達到減少計算K線總數的功能, 加速公式運算
詳見參考下列文章
http://www.chiefox.com.tw/bbs/showt...=&threadid=2625


程式方面也提供了更方便的做法
詳見參考下列文章
http://www.chiefox.com.tw/bbs/showt...?s=&postid=8101


由 justdoit829 在 2006-10-02 20:35 發表:

如何在開盤時,收盤後各設不同參數

請教如果想在開盤時0845到1345中,將maxkbar設為一個數值,收盤後將maxkbar設為另一個數值,用以下寫法無法通過,也試過其他方法,也不通,在網站上找很多舊聞,也無法找到答案!

請教程式應如何撰寫呢...感謝!!

maxkbar:=if(TIME>=084501 AND TIME<=134559,100,10000);

IF DATACOUNT>=MAXKBAR AND MAXKBAR>0 THEN Begin
.....
END;

__________________
--
忘我無為無不為..


由 cgjj 在 2006-10-03 08:58 發表:

不能通過的因為是
TIME>=084501 AND TIME<=134559 結果為數列

應改為數值
TT:=TIME; TT:=TT[datacount];
TT>=084501 AND TT<=134559


由 kkkkkk 在 2006-10-03 09:06 發表:

K線圖上的時間最大的也只有134559,請問這個公式真能管用到盤後去嗎?


由 cgjj 在 2006-10-03 09:16 發表:

引用:
最初由 kkkkkk 發表
K線圖上的時間最大的也只有134559,請問這個公式真能管用到盤後去嗎?


沒錯, 正如 kkkkkk 兄所言實際運行上有問題
應改用函數 CURRENTTIME 取得計算時間來判斷
PS:電腦本身也要有自動校時的功能


由 justdoit829 在 2006-10-03 18:04 發表:

謝謝版主與kkkkkk 兄

MAXKBAR:=if(CURRENTTIME>=084501 AND CURRENTTIME<=134559,500,10000);
不是數列後語法就過關了,

再次謝謝版主與kkkkkk 兄~~

__________________
--
忘我無為無不為..


由 lhtsenga 在 2024-04-19 13:43 發表:

[問題] 波動大時軟體跑不動(2024/4/19)

版主你好~

今天2024/4/19操作1分k台指期時,由於行情波動大,軟體幾乎跑不動,畫線時反應也很遲鈍

已經嘗試減少計算K線總數的功能, 加速公式運算,似乎成效不大

請問還需要修改主圖與副圖有使用到的技術指標/交易系統嗎?或是有其他的建議?

謝謝~

引用:
最初由 cgjj 發表
4.0 版可由系統選項自行設定1分和5分載入的K棒數
來達到減少計算K線總數的功能, 加速公式運算
詳見參考下列文章
http://www.chiefox.com.tw/bbs/showt...=&threadid=2625


程式方面也提供了更方便的做法
詳見參考下列文章
http://www.chiefox.com.tw/bbs/showt...?s=&postid=8101


由 cgjj 在 2024-04-19 13:58 發表:

回覆: [問題] 波動大時軟體跑不動(2024/4/19)

引用:
最初由 lhtsenga 發表
版主你好~

今天2024/4/19操作1分k台指期時,由於行情波動大,軟體幾乎跑不動,畫線時反應也很遲鈍

已經嘗試減少計算K線總數的功能, 加速公式運算,似乎成效不大

請問還需要修改主圖與副圖有使用到的技術指標/交易系統嗎?或是有其他的建議?

謝謝~



您的 CPU、RAM、硬碟、作業系統 規格是?
1.優化指標公式,讓計算效能提升,避免重複運算,降低引用的次數(效益最大!)
2.看能否降低給予的負載
3.將 Windows 電源模式調在[高效能]狀態
4.將 Windows 系統選項,調在[最高效能]狀態
5.強烈建議將硬碟都換為 SSD (若是慢在存取速度,會有改善不少)
6.自 BIOS 關掉 CPU 虛擬多核的 HT (Hyper Threading) 功能(很重要!)
 (關閉 HT 技術,比較有利於提升公式運算效能)。
7.減少盤中載入的K棒數
8.降低公式計算頻率或報價刷新的頻率
9.減少套用的指標公式
10.減少開啟的技術分析圖形視窗數


由 cgjj 在 2024-04-19 14:03 發表:

程式優化可參考這邊的例子
http://www.chiefox.com.tw/bbs/showt...&threadid=19016


由 lhtsenga 在 2024-04-19 14:52 發表:

回覆: 回覆: [問題] 波動大時軟體跑不動(2024/4/19)

版主你好~

我的電腦資訊如下:
CPU: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz 1.19 GHz
RAM: 8.00 GB (7.60 GB 可用)
硬碟: SSD 256GB
作業系統: Windows 11 家用版

1.優化指標公式:
請問是指加入【語句】SETLBOUND 於主圖與副圖中有使用到的技術指標/交易系統嗎?
謝謝提供之前的討論經驗,假日時我再研究一下如何優化使用到的技術指標/交易系統

2.看能否降低給予的負載
請問是指減少電腦執行的軟體數目嗎?

3.將 Windows 電源模式調在[高效能]狀態: Done

4.將 Windows 系統選項,調在[最高效能]狀態
請問是在哪裡設定調整?

5.強烈建議將硬碟都換為 SSD (若是慢在存取速度,會有改善不少): 已經是SSD

6.自 BIOS 關掉 CPU 虛擬多核的 HT (Hyper Threading) 功能(很重要!)
Bios只有SMT(Simultaneous Threading)選項,已關閉

7.減少盤中載入的K棒數
已調整盤中k棒數從3000減少到1500,還需要減少嗎?

8.降低公式計算頻率或報價刷新的頻率
請問是調整報價刷新速度(100~1000ms)嗎?如果是使用1分k操作,會建議調整至多少?

引用:
最初由 cgjj 發表
您的 CPU、RAM、硬碟、作業系統 規格是?
1.優化指標公式,讓計算效能提升,避免重複運算,降低引用的次數(效益最大!)
2.看能否降低給予的負載
3.將 Windows 電源模式調在[高效能]狀態
4.將 Windows 系統選項,調在[最高效能]狀態
5.強烈建議將硬碟都換為 SSD (若是慢在存取速度,會有改善不少)
6.自 BIOS 關掉 CPU 虛擬多核的 HT (Hyper Threading) 功能(很重要!)
 (關閉 HT 技術,比較有利於提升公式運算效能)。
7.減少盤中載入的K棒數
8.降低公式計算頻率或報價刷新的頻率
9.減少套用的指標公式
10.減少開啟的技術分析圖形視窗數


由 cgjj 在 2024-04-19 16:19 發表:

回覆: 回覆: 回覆: [問題] 波動大時軟體跑不動(2024/4/19)

引用:
最初由 lhtsenga 發表
版主你好~

我的電腦資訊如下:
CPU: Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz 1.19 GHz
RAM: 8.00 GB (7.60 GB 可用)
硬碟: SSD 256GB
作業系統: Windows 11 家用版

1.優化指標公式:
請問是指加入【語句】SETLBOUND 於主圖與副圖中有使用到的技術指標/交易系統嗎?
謝謝提供之前的討論經驗,假日時我再研究一下如何優化使用到的技術指標/交易系統

2.看能否降低給予的負載
請問是指減少電腦執行的軟體數目嗎?

3.將 Windows 電源模式調在[高效能]狀態: Done

4.將 Windows 系統選項,調在[最高效能]狀態
請問是在哪裡設定調整?

5.強烈建議將硬碟都換為 SSD (若是慢在存取速度,會有改善不少): 已經是SSD

6.自 BIOS 關掉 CPU 虛擬多核的 HT (Hyper Threading) 功能(很重要!)
Bios只有SMT(Simultaneous Threading)選項,已關閉

7.減少盤中載入的K棒數
已調整盤中k棒數從3000減少到1500,還需要減少嗎?

8.降低公式計算頻率或報價刷新的頻率
請問是調整報價刷新速度(100~1000ms)嗎?如果是使用1分k操作,會建議調整至多少?




i5-1035G1處理器 4核心 8執行緒 最大超頻 3.60 GHz

您這台電腦是筆電嗎?
若為筆電估計很難持續跑到 3.x GHz
會因溫度高或散熱考量,會被自動壓抑調節速度上限

Re1:
不是,SETLBOUND 只是處置的手段之一,但它不能治根本。
公式中有無重複計算,計算的方法能否再簡化優化,若可以不需引用就可求得,就不要使用引用,若有引用,請檢查是否有重複引用和重複計算的情形,把引用的次數盡可能降到最低。若您自己對公式不熟悉,可以找熟悉的人幫您檢視源碼,看有無可再優化的地方。

Re2: Yes

Re4:
設定\系統\關於\進階系統設定\效能

Re6:
請用[工作管理員]檢視[效能\CPU],將圖表由[整體使用率]變更為[邏輯處理器]。
看看CPU使用率走勢圖,是否為4個
若為8個,代表沒有生效(最高3.60 GHz僅能用1.8Ghz算指標,被切了一半)。

Re7:
能否再減少? 要視指標最少需要多少根K棒,才能算出盤中您想要看最短長度。
您可以自行調整測試看看(觀看影響結果,不同指標需要的K棒數不太一樣)

Re8:
系統預設是每250ms算一次(需有行情),能降到多少請視您自己需要
250ms 相當於每秒算4次,若改500ms 相當於每秒算2次


由 lhtsenga 在 2024-04-19 16:37 發表:

回覆: 回覆: 回覆: 回覆: [問題] 波動大時軟體跑不動(2024/4/19)

謝謝版主~

引用:
最初由 cgjj 發表
i5-1035G1處理器 4核心 8執行緒 最大超頻 3.60 GHz

您這台電腦是筆電嗎?
若為筆電估計很難持續跑到 3.x GHz
會因溫度高或散熱考量,會被自動壓抑調節速度上限

Re1:
不是,SETLBOUND 只是處置的手段之一,但它不能治根本。
公式中有無重複計算,計算的方法能否再簡化優化,若可以不需引用就可求得,就不要使用引用,若有引用,請檢查是否有重複引用和重複計算的情形,把引用的次數盡可能降到最低。若您自己對公式不熟悉,可以找熟悉的人幫您檢視源碼,看有無可再優化的地方。

Re2: Yes

Re4:
設定\系統\關於\進階系統設定\效能

Re6:
請用[工作管理員]檢視[效能\CPU],將圖表由[整體使用率]變更為[邏輯處理器]。
看看CPU使用率走勢圖,是否為4個
若為8個,代表沒有生效(最高3.60 GHz僅能用1.8Ghz算指標,被切了一半)。

Re7:
能否再減少? 要視指標最少需要多少根K棒,才能算出盤中您想要看最短長度。
您可以自行調整測試看看(觀看影響結果,不同指標需要的K棒數不太一樣)

Re8:
系統預設是每250ms算一次(需有行情),能降到多少請視您自己需要
250ms 相當於每秒算4次,若改500ms 相當於每秒算2次


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


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

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