COCO研究院

 找回密碼
 註冊
搜索
查看: 8231|回復: 35

[其他程式語言] 我想要寫 C語言程式設計 分析十年一分鐘K線資料

[複製鏈接]
發表於 12-4-10 07:23 | 顯示全部樓層 |閱讀模式
目前的進度是 0,
剛好 ,大家可以跟我 一起成長

想要學習 程式設計的朋友,
可以順便

我的構想是

盤勢,不外乎是 盤整和趨勢,

當趨勢出現的時候,採用 A計畫,
當盤整的時候,採用 B計畫。

我一定會 知無不言,言無不盡。

ㄒ忘大家會有 興趣,這是你 學習 程式設計和
程式交易的 絕佳機會,請跟我 一起從 0開始


發表於 12-4-10 07:55 | 顯示全部樓層
雖然我不會程式設計
也沒有一個穩定的交易策略

還是祝福你賺大錢~~~
發表於 12-4-10 08:19 | 顯示全部樓層
小小建議,十年再長了,因為整個金融環境會變化,測三年左右就可以了。可以參考Walking Forward方法

評分

參與人數 1金錢 +1 收起 理由
sjgau + 1 按一個讚!

查看全部評分

 樓主| 發表於 12-4-10 08:28 | 顯示全部樓層
這麼簡單的 C++ 程式設計,出來的答案是 錯的!
有人知道 為什麼嗎?
答對的,送這裡的貨幣 10元!



#include <cstdlib>
#include <iostream>
using namespace std;
// ----------------------------------------------

int main(int argc, char *argv[])
{
   int a, b, c;
   a= 30000;
   b= 80000;
   c= a*b;
   
   printf("a= %d, b= %d, c= a*b= %d \n", a, b, c);   
   system("PAUSE");
   
   return EXIT_SUCCESS;
}// end of main()
 樓主| 發表於 12-4-10 08:33 | 顯示全部樓層
(a + 1) < a


怎麼可能?

以下的程式設計,又出錯了!
知道 為什麼的,送 10元!



#include <cstdlib>
#include <iostream>

using namespace std;
// ----------------------------------------------

int main(int argc, char *argv[])
{
   int a, b;
   
   a= 10;
   b= a + 1;
   // b > a
   
   while (b > a) {
      a= a + 1;
      b= a + 1;
   }// end while
   
   // b <= a, 怎麼可能 (a + 1) <= a
   
   printf("b= a + 1= %d, a= %d \n", b, a);   
   system("PAUSE");
   
   return EXIT_SUCCESS;
}// end of main()
 樓主| 發表於 12-4-10 08:40 | 顯示全部樓層
換成 double 變數,還是 一樣

(a + 1) = a

如果有人 能夠正確回答, 為什麼?

送 10元



#include <cstdlib>
#include <iostream>

using namespace std;
// ----------------------------------------------

int main(int argc, char *argv[])
{
   double a, b;
   
   a= 3.1415926;
   b= a*1.001;
   // b > a
   
   while (b > a) {
      a= a*1.001;
      b= a + 1;
   }// end while
   
   // b <= a, 怎麼可能 (a + 1) <= a
   
   printf("b= a + 1= %.3lf, \na=        %.3lf \n", b, a);   
   system("PAUSE");
   
   return EXIT_SUCCESS;
}// end of main()

發表於 12-4-10 08:50 | 顯示全部樓層
第一題是c好像要用long宣告!!
發表於 12-4-10 08:52 | 顯示全部樓層
sjgau 發表於 12-4-10 08:28
這麼簡單的 C++ 程式設計,出來的答案是 錯的!
有人知道 為什麼嗎?
答對的,送這裡的貨幣 10元!

你的作業系統和 compiler 是32-bit or 64-bit?
(1) 32-bit : int overflow 了. max = 2,147,483,647
(2) 64-bit : 不會有錯

發表於 12-4-10 08:52 | 顯示全部樓層
sjgau 發表於 12-4-10 08:28
這麼簡單的 C++ 程式設計,出來的答案是 錯的!
有人知道 為什麼嗎?
答對的,送這裡的貨幣 10元!

這題我來回答看看
因為INT的範圍是-2147483648 to 2147483647
但c的結果以超出此範圍因此會出錯...

發表於 12-4-10 08:53 | 顯示全部樓層
sjgau 發表於 12-4-10 08:33
(a + 1) < a

這也是 int overflow 的問題.

發表於 12-4-10 08:55 | 顯示全部樓層
sjgau 發表於 12-4-10 08:40
換成 double 變數,還是 一樣

(a + 1) = a

while 一直跑, double, long double..... 都會 overflow 的.

發表於 12-4-10 08:57 | 顯示全部樓層
thirtycm 發表於 12-4-10 08:50
第一題是c好像要用long宣告!!

long 是 4 bytes, range 也是到 2,147,483,647
int 是 system dependent, 隨著系統是 16bit, 32bit,64bit.... range 會有所不同.
 樓主| 發表於 12-4-10 09:01 | 顯示全部樓層
cococharles 發表於 12-4-10 08:52
你的作業系統和 compiler 是32-bit or 64-bit?
(1) 32-bit : int overflow 了. max = 2,147,483,647
(2)  ...

樓上 答案正確,可以獲得 獎金十元,

可是 我還不會 轉帳,

先欠著


 樓主| 發表於 12-4-10 09:04 | 顯示全部樓層
thirtycm 發表於 12-4-10 08:50
第一題是c好像要用long宣告!!

目前的 int

default 就是 long


數值的範圍是

-2147483648 到

+2147483647

a*b

a+b

a-b

  超過範圍,會得到 錯誤的結果。
而且,電腦不會提供 任何的錯誤訊息,

或是任何的 警告訊息





 樓主| 發表於 12-4-10 09:08 | 顯示全部樓層
http://www.sendspace.com/file/h55g8d

台指期貨 十年的 一分鐘 K線資料
1998/07/22

到 2011/04/29

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-24 22:51

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |