樓上的 副程式,有時候在 win7 底下,可以
精確到 (1/1000)秒
有時候 只能精確到 (1/64)秒
20億個 家法運算,大約需要 6.329秒
// 10.37秒,人工碼表 測試 OK
#include "inc-01.h"
// ----------------------------------------------
// delay_ms( 10000);
void delay_ms(int ms)
{
int t1, t2;
time1(&t1);
t2= t1 + ms;
while (t1 <= t2) {
time1(&t1);
}// end while()
}// end of delay_ms()
// ----------------------------------------------
int main(int argc, char *argv[])
{
// delay 10 sec
skip(3);
printf("Press for test 10 seconds delay ...");
pause();
delay_ms(10*1000);
skip(3);
printf("Done!");
pause();
return EXIT_SUCCESS;
}// end of main()
s大您好
請教您一個問題
我之前在mc論壇問過一個問題
就是如何讓策略能有效運用多核心或多執行緒的cpu
但是他們回答在策略中的運算並沒用到多核心
只有繪圖或資料處理才用到
我的策略最大問題在於他運算很多資料
比如來說 他運算10條以上類均線(就是不同類型的均線)
同時運算常用指標KD MACD ...
還有很多這樣的運算
經由這些運算後我再作判定
可是我測過 盤中因為資料一直進來
他總是會慢個兩三秒才出現訊號
(雖然這目前我可接受 因為我出場都用人工的
進場反正對了差一點還可接受)
我可以確認的是主要因素是在這運算 不是在判定
因為判定就是一堆if else 或是case
想請問您對這部份如能有效運用多執行緒或多核心
有何看法或解決之道
是用mc還是目前市面上有一些可自行開發完整下單系統的雛型
有些用c++ 有些是java
謝謝
運算速度最快的電腦語言是
組合語言,可惜 不是和血 高階的應用程式。
其次,是 fortran 和 C
其次是 C++
java 很慢,可以不用考慮。
MC 和 HTS 等程式交易的平台使用的是
極高階的 程式語言,速度是 快不起來,
而且,不太適合我的 習慣,
如果要發揮 目前 多核心,多執行緒的速度優勢,
可能有得搞。
目前,關於這方面,我實在是 沒有甚麼研究,
必須另請高明。
說聲抱歉啦!
Open Multi-Processing (OpenMP) 是給 C/C++、Fortran 用的 API
直接在程式中 include 就可以使用了,方便性就如同 Java 的 Thread 類別或Runner 界面一樣吧 @@
我只有粗淺地玩了一下 OpenMP,畢竟我知道要用它來寫什麼多線程的程式,呵呵
網路上有不少教學文章,有興趣的可以研究看看。
如果這樣乾脆用GPU寫CUDA,效能更好~
http://www.google.com/uds/css/small-logo.png