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