当前位置:首页 » 交易平台 » 用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