① 我要做程序化交易编程, 国内那些股票/期货软件支持C或者C++行情分析编程接口
你自己私自是不能获取行情数据的,证券行的股票交易软件是通过自己公司的服务器来获取证券交易所的行情信息的
② 跪求c语言高手帮忙解答一个问题~~!!!期末用的!!
亲手给你写的,汗!
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
char stockname[16];
float coeffi;
float price_per;
float est_price;
} STOCK;
void calc(STOCK stock_arr[],int n)
{
int i;
for(i=0;i<n;i++)
stock_arr[i].est_price=stock_arr[i].coeffi * stock_arr[i].price_per;
}
void InputData(STOCK st)
{
char buff[128];
char *p;
for(int i=0;i<5;i++)
{
puts("请输入数据");
gets(buff);
p=strtok(buff,"");
memcpy(st[i].stockname,p);
p=strtok(NULL,"");
st[i].coeffi=atof(p);
p=strtok(NULL,"");
st[i].price_per=atof(p);
}
}
OutputResult(STOCK st)
{
puts("Results are as follows:");
puts("=============================");
puts("股票名称\t股票估格\n");
for(int i=0;i<5,i++)
printf("%s\t%f",st[i].stockname,st[i].est_price);
}
void main()
{
STOCK stoc[5];
InputData(stoc);
calc(stoc,5);
OutputResult(stoc);
}
③ C语言或者VB怎么实现从别的程序获得数据
你这需要进程间通信机制。
以你举的例子来说,你的“自动提示系统”和股票软件之间,需要能够互相通信,或者说互相调用对方的接口。你的例子里,不太可能实现的是,股票软件不太可能提供接口给你的软件。
具体要实现进程间通信的话,有一些现成的框架,比如CORBA。
CORBA是为了解决分布式计算而设计的协议,有一些公司的产品(比如orbix)实现了这个协议。
使用CORBA架构互相通信的进程可以不在一台机器上,可以应用在网络环境。
使用CORBA这样的协议,程序还是比较复杂的。
④ 股票选股公式 AND C<20 是什么意思
股票选股公式 AND C<20 的意思是当前一个条件符合,并且收盘价小于20元。因为AND表示“并且”的意思;C=CLOSE,表示收盘价,<小于符号。
在股市中经常看的大盘就是一个庞大的数据库,它保存着从有股市以来所有股票的有用数据,如收盘价、最高价、最低价、开盘价等。股民要选股可以自己根据K线走势去选,也可以根据自己的要求通过函数设计出公式来找到自己所要选的股,这个公式我们就叫选股公式。假如要找股价小于5.00元的股票,那么只要设一个公式: c>5.00;这个就是简单的选股公式。
⑤ 某投资组合仅由A、B、C三只股票构成,其相关数据如下表所示。
根据每只股票的价值算出期初权重,A=30*200,以此类推。
计算每种情况下每只股票的收益率,例如A股票繁荣时的收益率为(34.5-30)/30=0.15.
根据计算出的收益率计算每只股票的期望收益率等于收益率乘以概率,然后组合的收益率就是每只股票的权重乘以每只股票的期望收益率。
在Excel中,根据数据计算每只股票的方差,协方差矩阵。
组合方差就是每只股票权重的平方乘以方差+2*每两支股票的权重乘以两只股票的协方差。
组合标准差就是方差开方。可计算得出结果
⑥ c语言读取txt文件数据后再次运算后保存入TXT文档
#include<stdio.h>
#include<stdlib.h>
#defineX100;
intN=X;
intmain()
{
FILE*fin=NULL;
FILE*fout=fopen("out.txt","w");
inta[881][2];
fin=fopen("股票数据TXT格式.txt","r");//打开文件,按读的方式打开
inti=0;
while(fscanf(fin,"%d%d",&a[i][0],&a[i][1])!=EOF)i++;
fclose(fin);
intn=i;
for(i=0;i<n;i++)
{
printf("%d%d ",a[i][0],a[i][1]);
if(a[i][0]<N&&a[i][0]>0)
{
fprintf(fout,"%d%d ",a[i][0],a[i][1]);
}
}
return0;
}
⑦ 股票软件编程问题
这个嘛,的确有些异想天开,但只要你努力,编个软件是做的到的。
第一步,您可以尝试在一些免费软件上写指标,很多软件都提供公式编辑功能,这些公式编辑器就是一种简化的计算机语言,如果您对股市的想法不复杂,使用别人的软件做平台,自己加些东西,可能是上手最快的办法。
如果您期望获得的是独立完整的产品,就需要找数据源了。如果您计算机水平足够高,任何一款免费软件的数据都能够导出来。如果您做不到这一点,可以找个免费的数据接口。这些数据接口在许多软件论坛上有提供,至于怎样使用这些接口,您需要找接口的提供者咨询。免费数据接口是网上的一些编程高手提供的,有些收费,有些免费。即使收费,费用也不高。
找到数据后,就可以写自己的软件了。通过各软件商的摸索,股票软件几乎唯一的选择是C语言。早前人们尝试过几乎所有当前流行的计算机语言写股票软件,但目前大品牌的正版付费软件几乎都是C语言写的,其他语言在处理数据流上效率太低,以至于不能商品化。
当您的软件已经可以向市场推广时,就需要购买正式的数据源了。来自交易所的数据有两个版本:Level-1和Level-2,Level-1每年约80万,Level-2是买不到的,后者属于特许经营,您需要是注册资本1000万以上的公司,通过向交易所特别申请才能获得。运营Level-2数据的投资额大约是3000万/年,包括研发、市场和数据传输平台。
如果您的软件创新度有限,您的商业机会不多。如果您有自己的创造,那您就有机会了。在这个市场上,获得每年3000万的营业额不困难。
如果您试图获得每年上亿的营业额并在创业板上市,您需要找到不低于4000万的风险投资,并且组建一个不小于150人的团队。
祝您成功吧,有志者事竟成。
⑧ 在同花顺的指标公式里 如何引用其他股票的数据 在通达信下可以"601600$C "的方式 但同花顺好像不行
通达信编辑公式我到没用过。
同花顺里面,好像你说的那种引用其他股票的方式,从来没见到相关的函数。
感觉引用其他股票,没想出有什么必要性。
可以编好公式后,充分利用组合条件选股,设置条件。
⑨ 在线c语言编程高手
#include <stdio.h>
int main()
{
float price=-1, last_price=-1;
int cnt = 0, total = 0;
int increase_flag = 0;
while(~scanf("%f", &price))
{
total++;
printf("%d\t%7.3f", total, price);
if(cnt > 2)
printf("\t%s", increase_flag ? "sell" : "buy");
printf("\n");
if(last_price != -1)
{
if(price > last_price)
{
if(increase_flag) cnt ++;
else increase_flag = 1, cnt = 1;
}
else if(price < last_price)
{
if(!increase_flag) cnt ++;
else increase_flag = 0, cnt = 1;
}
else cnt++;
}
last_price = price;
}
return 0;
}
part3的
#include <stdio.h>
int main()
{
float price=-1, last_price=-1;
int cnt = 0, total = 0;
int increase_flag = 0;
float cash = 10000, shares = 0;
printf("period price cash shares value\n");
printf("-----------------------------------------------\n");
while(~scanf("%f", &price))
{
total++;
if(cnt > 2)
{
if(increase_flag)
{
if(shares != 0)
{
cash = shares * price;
shares = 0;
}
}
else
{
if(cash != 0)
{
shares = cash / price;
cash = 0;
}
}
}
printf(" %3d \t%7.3f\t%10.2f\t%7.2f\t%10.2f\n", total, price, cash, shares, cash+shares * price);
if(last_price != -1)
{
if(price > last_price)
{
if(increase_flag) cnt ++;
else increase_flag = 1, cnt = 1;
}
else if(price < last_price)
{
if(!increase_flag) cnt ++;
else increase_flag = 0, cnt = 1;
}
else cnt++;
}
last_price = price;
}
return 0;
}