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
頁: 1 2 [3]
查看完整版本: 我想要寫 C語言程式設計 分析十年一分鐘K線資料