當前位置:首頁 » 交易平台 » 用c語言編寫股票交易系統
擴展閱讀
小規模納稅人的標准 2024-11-28 04:25:29
600271股票行情今天 2024-11-28 04:24:07

用c語言編寫股票交易系統

發布時間: 2023-07-14 08:11:19

❶ 股票行情軟體是用什麼語言編寫的

如下4種常見:

  1. Java:Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群

  2. JFreeChart:JFreeChart是JAVA平台上的一個開放的圖表繪制類庫。它完全使用JAVA語言編寫,是為applications, applets, servlets 以及JSP等使用所設計。JFreeChart可生成餅圖(pie charts)、柱狀圖(bar charts)、散點圖(scatter plots)、時序圖(time series)、甘特圖(Gantt charts)等等多種圖表,並且可以產生PNG和JPEG格式的輸出,還可以與PDF和EXCEL關聯。

3.源碼結構:源碼就是指編寫的最原始程序的代碼。運行的軟體是要經過編寫的,程序員編寫程序的過程中需要他們的「語言」。音樂家用五線譜,建築師用圖紙,那程序員的工作的語言就是「源碼」了。

4.c++ 【目前最多的】: C++是在C語言的基礎上開發的一種通用編程語言,應用廣泛。C++支持多種編程範式 --面向對象編程、泛型編程和過程化編程。最新正式標准C++14於2014年8月18日公布。其編程領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大受用的最強大編程語言之一,支持類:類、封裝、重載等!

❷ 怎麼製作一款股票軟體

自己如果會編寫程序,同時自己有自己的選股模型其實也非常簡單。我以前也用過證券公司的軟體裡面自帶的公式,好些模型無法實現,而且還出現過數據缺失(同一個公式跑出來的數據完全不一樣,當然也導致巨大損失)。去年開始自己開始弄了個小軟體在不斷完善,目前一個選股模型跑完滬深兩市數據大概10-12分鍾。軟體還是存在缺陷,沒有把機器學習演算法融入,模,工地上的事情忙完了(本人非計算機專業,業余喜歡玩玩java,Python機器學習而已),把機器演算法融入進去試試。上個自己的弄的股票軟體的圖片

❸ 股票自動化交易如何實現

1、目前,中國股市中,股票自動化交易簡稱自動交易或機器交易,是投資策略家將自己的交易策略系統化了的電腦程序。這種電腦程序能夠代替人在互聯網上進行股票、期貨、黃金、外匯等證券的交易,故稱智能自動化交易。
2、自動交易軟體可以對接各類行情分析軟體的股票預警窗口,而且在大智慧、通達信、益盟操盤手、東方財富通、新飛狐、交易開拓者等軟體皆可適用。軟體通過預警窗口讀取用戶自編公式選出的股票,然後自動買賣。另外還內置了5個經典的賣出模型:破價位賣出、破XX日均線賣出、MACD死叉賣出、KDJ死叉賣出、動態止盈賣出。在股票用戶自己買入股票後,不用整天盯盤,通過交易手簡單的幾個設置,就可以完成無人值守全自動賣出,在業界享有「平倉大師」的美名,既解決了令人糾結的艱苦的盯盤問題,又克服了貪婪、恐懼的人性弱點,該止損就止損,該止盈就賣在相對的高點,有效地規避深套和半道被主力洗出來的局面。

❹ 請問,常見的股票、期貨行情軟體是用啥語言編寫的比如大智慧、同花順、博易大師、文華等,謝謝!

當股票不遵循預期趨勢時會出現問題,而這些趨勢往往並非如此。有時,股票將觸底,交易者將開始買入,只看到股票繼續下跌。是相似的,那些溫馨的瞬間那些感人的細節

❺ 大二C語言編程題

下面代碼大部分與你那個相似,僅作參考!

/*為了調用FILE等函數 */
#include "stdio.h"

#include "conio.h"

/* 為了調用atof()等函數 */
#include "stdlib.h"

#define TRUE 1

/* 結構體聲明 */
struct gong
{
int month;
float id;
float jbgz;
float jt;
float gt;
float bt;
float ft;
float jtbt;
float yfs;
float fz;
float cx;
float hf;
float grsds;
float yks;
float sfs;

};

/* 建立50個元素的結構體數組 */
struct gong zg[50];

/* 建立結構體變數 */
struct gong zgone;

/* 職員列表中的數量 */
int n=0;

/* 獲得字元串 */
char numstr[50];

main()
{

char ch;
n=0;

/*rfile(); 使用後啟動程序時系統會自動載入紀錄*/

while(TRUE)
{

printf("\n");
printf("===========================================\n");
printf("Welcome!Please choice(1-6) : +\n");
printf("1.Add one infomation +\n");
printf("2.Delete one infomation +\n");
printf("3.Modify one infomation +\n");
printf("4.Print out by id +\n");
printf("5.Print out all +\n");
printf("6.Save date +\n");
printf("7.Load date +\n");
printf("8.Exit +\n");
printf("===========================================\n");
ch=getche();

switch(ch)
{
case '1':addone();break;
case '2':delone();break;
case '3':modone();break;
case '4':idone();break;
case '5':listall();break;
case '6':wfile();break;
case '7':rfile();break;
case '8':return;
default:printf("Sorry,please choice again!\n");

}

}

}

/*計算個人所得稅*/
float tgrsds(float m)
{
float sui1,sui2,sui3;
float tmp;
sui1=0;sui2=0;sui3=0;

if(m>=5000)
{
sui1=(m-5000)*0.2;
sui2=(5000-1000)*0.1;
sui3=(1000-800)*0.05;
}
else if(m>=1000 && m<5000)
{
sui2=(m-1000)*0.1;
sui3=(1000-800)*0.05;
}
else if(m>=800 && m<1000)
{
sui3=(m-800)*0.05;
}

tmp=sui1+sui2+sui3;

return(tmp);

}

/* 添加職工的工資信息 */
addone(void)
{

printf("\n");

printf("Record NO. %d \n",n+1);

printf("Please put in month: \n");
gets(numstr);
zg[n].month=atoi(numstr);

printf("Please put in gongbianhao: \n");
gets(numstr);
zg[n].id=atof(numstr);

printf("Please put in jibengongzi: \n");
gets(numstr);
zg[n].jbgz=atof(numstr);

printf("Please put in jintie: \n");
gets(numstr);
zg[n].jt=atof(numstr);

printf("Please put in gangtie: \n");
gets(numstr);
zg[n].gt=atof(numstr);

printf("Please put in butie: \n");
gets(numstr);
zg[n].bt=atof(numstr);

printf("Please put in fangtie: \n");
gets(numstr);
zg[n].ft=atof(numstr);

printf("Please put in jiaotongbutie: \n");
gets(numstr);
zg[n].jtbt=atof(numstr);

zg[n].yfs=(zg[n].jbgz)+(zg[n].jt)+(zg[n].gt)+(zg[n].bt)+(zg[n].ft)+(zg[n].jtbt);

printf("Please put in fangzu: \n");
gets(numstr);
zg[n].fz=atof(numstr);

printf("Please put in chuxu: \n");
gets(numstr);
zg[n].cx=atof(numstr);

printf("Please put in huifei: \n");
gets(numstr);
zg[n].hf=atof(numstr);

zg[n].grsds=tgrsds(zg[n].yfs);

zg[n].yks=(zg[n].fz)+(zg[n].cx)+(zg[n].hf)+(zg[n].grsds);

zg[n].sfs=(zg[n].yfs)-(zg[n].yks);

n++;

}

/*刪除個人紀錄*/
delone(void)
{
struct gong tmp[50];
float gongid;
int j,k;
int flagfind;
flagfind=0;
k=0;

printf("\n Please put in gongbianhao: \n");
gets(numstr);
gongid=atof(numstr);
for(j=0;j<=n;j++)
{
if(zg[j].id==gongid)
{
flagfind=1;
}
else
{

tmp[k]=zg[j];
k++;
}
}

if(flagfind==1)
{
for(j=0;j<=(n-1);j++)
{
zg[j]=tmp[j];
}
printf("\n Record deleted! \n");
n=n-1;
}
else
{
printf("\n Record not found! \n");
}

return;
}

/*修改個人紀錄*/
modone(void)
{
float gongid;
int j;
int flagfind;
flagfind=0;

printf("\n Please put in gongbianhao: \n");
gets(numstr);
gongid=atof(numstr);

for(j=0;j<=n;j++)
{
if(zg[j].id==gongid)
{
printf("NO.:%d\n",j);
printf("month:%d\n",zg[j].month);
printf("gongbianhao%10.0f\n",zg[j].id);
printf("jibengongzi:%10.2f\n",zg[j].jbgz);

printf("Please put in jibengongzi: \n");
gets(numstr);
zg[j].jbgz=atof(numstr);

printf("jintie:%10.2f\n",zg[j].jt);

printf("Please put in jintie: \n");
gets(numstr);
zg[j].jt=atof(numstr);

printf("gangtie:%10.2f\n",zg[j].gt);

printf("Please put in gangtie: \n");
gets(numstr);
zg[j].gt=atof(numstr);

printf("butie:%10.2f\n",zg[j].bt);

printf("Please put in butie: \n");
gets(numstr);
zg[j].bt=atof(numstr);

printf("fangtie:%10.2f\n",zg[j].ft);

printf("Please put in fangtie: \n");
gets(numstr);
zg[j].ft=atof(numstr);

printf("jiaotongbutie:%10.2f\n",zg[j].jtbt);

printf("Please put in jiaotongbutie: \n");
gets(numstr);
zg[j].jtbt=atof(numstr);

zg[j].yfs=(zg[j].jbgz)+(zg[j].jt)+(zg[j].gt)+(zg[j].bt)+(zg[j].ft)+(zg[j].jtbt);

printf("fangzu:%10.2f\n",zg[j].fz);

printf("Please put in fangzu: \n");
gets(numstr);
zg[j].fz=atof(numstr);

printf("chuxu:%10.2f\n",zg[j].cx);

printf("Please put in chuxu: \n");
gets(numstr);
zg[j].cx=atof(numstr);

printf("huifei:%10.2f\n",zg[j].hf);

printf("Please put in huifei: \n");
gets(numstr);
zg[j].hf=atof(numstr);

zg[j].grsds=tgrsds(zg[j].yfs);

zg[j].yks=(zg[j].fz)+(zg[j].cx)+(zg[j].hf)+(zg[j].grsds);

zg[j].sfs=(zg[j].yfs)-(zg[j].yks);

flagfind=1;
}
else
{
flagfind=0;

}
}

if(flagfind==0)printf("\n Can not find record! \n");

return;
}

/*隨機從內存中查找紀錄根據id*/
idone(void)
{
float gongid;
int j;
int flagfind;
flagfind=0;

printf("\n Please put in gongbianhao: \n");
gets(numstr);
gongid=atof(numstr);

for(j=0;j<=n;j++)
{
if(zg[j].id==gongid)
{
printf("\n %d record found! \n |",j+1);
printf("month:%d |",zg[j].month);
printf("gongbianhao%10.0f |",zg[j].id);
printf("jibengongzi:%10.2f |",zg[j].jbgz);
printf("jintie:%10.2f |",zg[j].jt);
printf("gangtie:%10.2f |",zg[j].gt);
printf("butie:%10.2f |",zg[j].bt);
printf("fangtie:%10.2f |",zg[j].ft);
printf("jiaotongbutie:%10.2f |",zg[j].jtbt);
printf("yingfashu:%10.2f |",zg[j].yfs);
printf("fangzu:%10.2f |",zg[j].fz);
printf("chuxu:%10.2f |",zg[j].cx);
printf("huifei:%10.2f |",zg[j].hf);
printf("gerensuodeshui:%10.2f |",zg[j].grsds);
printf("yingkoushu:%10.2f |",zg[j].yks);
printf("shifashu:%10.2f\n",zg[j].sfs);

flagfind=1;
}
else
{
flagfind=0;

}
}

if(flagfind==0)printf("\n Can not find record! \n");

return;
}

/* 輸出當月全體職工的工資信息 */
listall(void)
{
int j;
if(n<1)

{
printf("\n No record! \n");
}
else
{
for(j=0;j<n;j++)
{
printf("\n NO:%d |",j+1);
printf("month:%d |",zg[j].month);
printf("gongbianhao%10.0f |",zg[j].id);
printf("jibengongzi:%10.2f |",zg[j].jbgz);
printf("jintie:%10.2f |",zg[j].jt);
printf("gangtie:%10.2f |",zg[j].gt);
printf("butie:%10.2f |",zg[j].bt);
printf("fangtie:%10.2f |",zg[j].ft);
printf("jiaotongbutie:%10.2f |",zg[j].jtbt);
printf("yingfashu:%10.2f |",zg[j].yfs);
printf("fangzu:%10.2f |",zg[j].fz);
printf("chuxu:%10.2f |",zg[j].cx);
printf("huifei:%10.2f |",zg[j].hf);
printf("gerensuodeshui:%10.2f |",zg[j].grsds);
printf("yingkoushu:%10.2f |",zg[j].yks);
printf("shifashu:%10.2f\n",zg[j].sfs);
}
}

}

/* 把所有紀錄從內存中寫到磁碟gongzi.rec中 */
wfile(void)
{
FILE *fptr;

printf("\n Saving date... \n");

if(n<1)
{
printf("\n No record! \n");
return;
}
if((fptr=fopen("gongzi.rec","wb"))==NULL)
printf("Can not open file gongzi.rec! \n");
else
{
fwrite(zg,sizeof(zg[0]),n,fptr);
fclose(fptr);
printf("File of %d records written! \n",n );
}

}

/* 把所有紀錄從磁碟gongzi.rec讀到數組gz中 */
rfile(void)
{
FILE *fptr;

n=0;

printf("\n Loading date... \n");

if((fptr=fopen("gongzi.rec","rb"))==NULL)
printf("Can not open file gongzi.rec! \n");
else
{
while(fread(&zg[n],sizeof(zg[n]),1,fptr)==1)
n++;
fclose(fptr);
printf(" Total %d records read! \n",n);
}

}

❻ 股票軟體編程問題

有多種選擇:
1 在已有軟體的基礎上二次開發
2 在已有軟體的基礎上,開發指標,這個最方便,強烈推薦。指標所用的語言比較簡單,看下別人的源代碼就基本上能學會了。
3 自己從頭到尾開發軟體,那工作量增大很多了。至於用什麼語言,自己習慣用啥就用啥了。

證交所的數據,不太熟悉,那個好像要花錢買。
但是網上有免費的數據源的,尤其是日K線的數據,有很多的。

幾乎每個證券投資者都會經歷到處找指標,然後自己做指標的過程。但最終,會明白,那隻是一個小工具。

❼ 大智慧股票軟體是用什麼程序語言編寫的

應該是JAVA