以后会用到获取即时行情数据的方法,并做了测试:如何获取股票数据?
如何获取股票数据?
以后会用到获取即时行情数据的方法,并做了测试:
//---------------------------------金融街网站返回http行情数据分解后存入Stock数组-----
void TForm1::jrjstock_fenjie(AnsiString rqhttp, String stock[])
{
//rqhttp为http返回的待分解的数据,stock[] 为分解后保存到的数据
if(rqhttp=="")return ;
if(rqhttp.SubString(0,3)!="a\r\n")
{ ShowMessage("获取数据失败!");
return;
}
//分解字符串,获取各数据,存放STOCK中
int i,j,p;
i=0; p=2; j=0;
while(i<rqhttp.Length())
{
i++;
if(rqhttp[i]==',')
{
stock[j]=rqhttp.SubString(p,i-p);
p=i+1;
j++;
}
}
//最后一个','后面的字符串
stock[j]=rqhttp.SubString(p,rqhttp.Length()-p-2);
}
//-----------------------------新浪网站返回http行情数据分解后存入Stock数组-----
void TForm1::sinastock_fenjie(AnsiString rqhttp, String stock[])
{ if(rqhttp=="")return ;
//var hq_str_
if(rqhttp.SubString(0,11)!="var hq_str_")
return;
//分解字符串,获取各数据,存放STOCK中
int i,j,p;
i=0; p=rqhttp.Pos("="); j=0;
p=p+2;
i=p;
while(i<rqhttp.Length())
{
i++;
if(rqhttp[i]==','||rqhttp[i]=='"')
{
stock[j]=rqhttp.SubString(p,i-p);
// ShowMessage(stock[j]);
p=i+1;
j++;
}
if(rqhttp[i]==';')
break;
}
}
//--------------------------------chinastock网站返回http行情数据分解后存入Stock数组-----
void TForm1::chinastock_fenjie(AnsiString rqhttp, String stock[])
{ if(rqhttp=="")return ;
//TODO: Add your source code here
int i,p,j=0;
p=rqhttp.Pos("<string>");
p=p+8;
i=p;
while(i<rqhttp.Length())
{ i++;
if(rqhttp[i]=='\r'&&rqhttp[i+1]=='\n')
{
if(rqhttp.SubString(i-9,9)=="</string>")
{ stockdata[j]=rqhttp.SubString(p,i-9-p);
j++ ;
}
if(rqhttp.SubString(i+4,8)=="<string>")
{
i=i+12;
p=i ;
}
else
{
break;
}
}
}
}
//------------------------------------------生成适合的格式----
AnsiString TForm1::GetCodeName(AnsiString code)
{
//TODO: 判断是否为数字,是否为6位,如果是0开头的加上SZ,否则加上SH;
int k=0;AnsiString str="";
for(int i=1;i<code.Length();i++)
{
if(!isdigit(code[i]))
{
ShowMessage("输入不是数字");
k=1;
break;
}
}
if(k==1)return "";
if(k==0&&code.Length()==6)
{
if(code[1]=='0')
str=code.Insert("sz",0);
else if(code[1]=='6')
str=code.Insert("sh",0);
else
str="";
}
return str;
}
//-----------------------------------------------获取网站http返回的数据----------
AnsiString TForm1::GetHttpData(TNMHTTP *hp, String code, int port)
{
//TODO: Add your source code here
if(code=="")return "";
String url;
if(port==1) //金融街网站
{
url="http://quote.jrj.com.cn/htmdata/html/";
url=url+code+".htm";
}
else if(port==2) //新浪网站
{
url="http://hq.sinajs.cn/list=" ;
url=url+code;
}
else if(port==3) //ChinaStock网站
{
url="http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx/getStockInfoByCode?theStockCode=";
url=url+code;
}
else
return "";
hp->Get(url);
<上一篇 怎样分析股票数据?
下一篇> 股票交易手续费计算公式
相关推荐
-
1、众筹股权的发起人员可以享受股权25%的股份,其他的股份需要企业对外出售,每一个人可以自由认购股份数额;2、众筹股权的发起人不需要出资超过50%也是持有新公司的决策权和管理权的;3、公司募集资金到位,给每一个投资者颁发...股票入门 2022-9-16 15:38:120阅读
-
9月16日,A股三大指数集体低开,盘中均跌超1%。截至午间收盘,沪指跌0.96%,深成指跌0.92%,创业板指跌1.32%。北向资金早盘净流出25.82亿元,两市半日成交4689亿元。...股票新闻 2022-9-16 13:39:590阅读
-
《管理办法》主要规范了监控系统各项基本工作要求,其中明确了证券公司、指定商业银行出现客户交易结算资金被恶意挪用出现缺口、客户资金安全存在重大风险隐患、报送数据造假等四种情形,投保基金公司将向证监局推送重大预警。...股票新闻 2022-9-16 13:25:540阅读
-
1、目的不同。横盘洗盘主力主要是以换手洗盘为主要目的,而横盘出货主力以派发为主要目的2、表现不同。横盘出货表现在成交量上就是在整个形态演变的过程中成交量较活跃,不能萎缩;在横盘洗盘的过程中,则不需要太大的成交量来...股票入门 2022-9-16 11:44:160阅读
-
回拨机制启动后,网下最终发行数量为1,119.4653万股,占扣除战略配售数量后发行数量的61.35%,网上最终发行数量为705.2500万股,占扣除战略配售数量后发行数量的38.65%。回拨机制启动后,网上发行最终中签率为0.03517228%。...新股新闻 2022-9-16 9:40:480阅读