扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在你的网页里面放一个ID=dinfo 的Div(div id="dinfo"/div) ,在head里面引用下Jquery,然后把下面的函数加入Head标签里面就可以用了
目前创新互联建站已为数千家的企业提供了网站建设、域名、虚拟主机、网站托管、服务器租用、企业网站设计、肃宁网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
$(document.ready(){
setInfo();
});
function setInfo() {
setInterval(new function () {
$('#dinfo').html("");//清空显示区域
var s="工厂DCS的数据";//这个可以通过异步调用服务器端发过来的数据
$('#dinfo').html(s);//将新数据填充到网页中(具体为 id=dinfo 的div中)
}, 10000);//每隔10秒刷新一次,你可以改这里面的数值
}
io = require('socket.io').listen(app),
fs = require('fs'),
cookie=require('cookie');
request=require('request');
global.userlist={};
app.listen(8080);
//io.set('log level', 1);//将socket.io中的debug信息关闭
function handler (req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello World\n');
}
var content;
var socketUser = {};
var settings={};
settings.host='';
io.sockets.on('connection', function (socket) {
if(socket.handshake.headers.cookie){
var curcookie=cookie.parse(socket.handshake.headers.cookie);
var id=curcookie['PHPSESSID'];
request(settings.host+'getinfo.php?type=getinfosid='+id,function(err,res,body){
if(!errres.statusCode==200){
if(body){
body=eval('('+body+')');
var userid=body.ID;
var username=body.UserName;
var online=body.Online;
//将新用户存进socket用户列表中
userlist[id]=socket;
socketUser[id] = {
'userid':userid,
'username':username
};
//更改上线状态
request(settings.host+'getinfo.php?type=onlinesid='+id,function(err,res,body){})
//发送信息给新登录用户
socket.emit('system',{
'alluser':socketUser
});
//上线欢迎
socket.emit('open',{
'msg':'welcome!'
})
//下线推送通知 disconnect方法名不能修改
socket.on('disconnect',function(){
//更改用户不在线
socketUser[id]=null;
userlist[id]=null;
request(settings.host+'getinfo.php?type=unlinesid='+id,function(err,res,body){})
socket.broadcast.emit('broadcast',{
'msg':'noline',
'unlineid':userid,
'unlinename':username,
'type':1
});
})
//监听接收用户信息
socket.on('sendnews', function (data) {
if(data.touseriduserlist[data.touserid]!=undefined){
var user=userlist[data.touserid];
data.fromusername=socketUser[data.fromuserid].username;
//将用户信息发送给指定用户
user.emit('receivenews',data);
}else{
socket.emit('receivenews',data);
}
});
//广播 推送已登录的用户
socket.broadcast.emit('broadcast',{
'userid':userid,
'username':username,
'type':2
});
}else{
console.log('falseness connect');
}
}
})
}else{
console.log('cookie not exist');
}
});
客户端代码:
?php
$data = $_GET;
if (!isset($data['username']) || $data['username'] === '' || !isset($data['id']) || $data['id'] === '') {
header("location:login.php");
}
session_id($data['id']);
session_start();
$userid = $data['id'];
$name = $data['username'];
$con = mysql_connect("localhost", "root", "") or die("sds");
mysql_select_db("test", $con);
mysql_query("set names utf8");
$sql = 'select * from io_user where username="' . $name . '" and ID=' . $userid;
$result = mysql_query($sql);
$res = mysql_fetch_assoc($result);
if (!$res) {
header("location:login.php");
}
?
html lang="en"
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
titleSsocket/title
script type="text/javascript" src="public/javascripts/jquery.min.js"/script
script type="text/javascript" src=""/script
/head
body
p我的id:?php echo $userid ?/p
p我的名字:?php echo $name; ?/p
h4在线用户列表/h4
table border="1" id="userlists"
thead
tr
th width="80px"ID/th
th width="80px"用户名/th
th width="80px"选中/th
/tr
/thead
tbody
/tbody
/table
p style="margin-top:10px"
信息:
input type="text" style="width:338px" id="content"
button id="send"发送/button
/p
div id="msg"/div
div id="unline"/div
script type="text/javascript"
var userid='?php echo $userid; ?';
var username='?php echo $name; ?';
var socket = io.connect('');
//欢迎信息
socket.on('open',function(res){
console.log(res);
})
//无连接
socket.on('disconnect',function(res){
console.log('not connect');
})
//接收用户消息
socket.on('receivenews',function(res){
var html='p来自用户 ('+res.fromusername+') 的消息: '+res.content+'/p';
$('#msg').append(html)
})
//接收系统消息
socket.on('system',function(res){
if(res.alluser){
var html='';
var time=0;
$.each(res.alluser,function(k,v){
if(v==null||v.userid==userid){
return;
}
time++;
html+='tr userid="'+v.userid+'"td'+time+'td'+v.username+'/td';
html+='tdinput type="checkbox" class="checkbox" userid="'+v.userid+'"/td/tr';
})
$('#userlists tbody').html(html);
}
})
//获取推送信息
socket.on('broadcast',function(res){
if(res.type==1res.unlineid!=userid){
$('#userlists tbody tr[userid="'+res.unlineid+'"]').remove();
$('#unline').append('p用户'+res.unlinename+'离线/p')
return false;
}
if(res.type==2res.userid){
if(res.userid==userid){
return false;
}
if($('#userlists tbody tr[userid="'+res.userid+'"]').length0){
return false;
}
var html='';
var length=$('#userlists tbody tr').length;
html+='tr userid="'+res.userid+'"td'+(length+1)+'td'+res.username+'/td';
html+='tdinput type="checkbox" class="checkbox" userid="'+res.userid+'"/td/tr';
$('#userlists tbody').append(html);
$('#unline').append('p用户'+res.username+'上线/p')
return false;
}
})
$(function(){
$('.checkbox').live('click',function(){
if($(this).attr('checked')=='checked'){
$('.checkbox').removeAttr('checked');
$(this).attr('checked',true);
}
})
//输入框回车事件
$("#content").keyup(function(e){
if(e.keyCode==13){
$('#send').trigger('click');
}
return false;
});
$('#send').click(function(){
var content=$('#content').val();
var data={};
var touserid=$('.checkbox[checked]').attr('userid');
if(touserid==undefined){
alert('请选择用户');
return false;
}
if(content!=''){
$('#content').val('');
data.fromuserid=userid;
data.touserid=touserid;
data.content=content;
//发送信息
socket.emit('sendnews',data);
}
})
})
/script
/body
/html
JS-(奸商JianShang)的首字母,用以指代奸商特别是攒机商,但是网友立场几乎一边倒地站在商家反方,于是无论商家好坏都叫JS。
随着IT业发展,攒机商利润已经很薄,这种对立情绪也淡了很多。但是代称还是没有变,JS逐渐演变成“商家”的一种代称,有一种戏谑的成分。
CR
[编辑本段]股市CR指标
CR指标又叫中间意愿指标、价格动量指标,它和AR、BR指标又很多相似之处,但更有自己独特的研判功能,是分析股市多空双方力量对比、把握买卖股票时机的一种中长期技术分析工具。
CR指标的原理和计算方法
一、CR指标的原理
CR指标同AR、BR指标有很多相似的地方,如计算公式和研判法则等,但它与AR、BR指标最大不同的地方在于理论的出发点有不同之处。CR指标的理论出发点是:中间价是股市最有代表性的价格。
为避免AR、BR指标的不足,在选择计算的均衡价位时,CR指标采用的是上一计算周期的中间价。理论上,比中间价高的价位其能量为“强”,比中间价低的价位其能量为“弱”。CR指标以上一个计算周期(如N日)的中间价比较当前周期(如日)的最高价、最低价,计算出一段时期内股价的“强弱”,从而在分析一些股价的异常波动行情时,有其独到的功能。
另外,CR指标不但能够测量人气的热度、价格动量的潜能,而且能够显示出股价的压力带和支撑带,为分析预测股价未来的变化趋势,判断买卖股票的时机提供重要的参考。
二、CR指标的计算方法
由于选用的计算周期不同,CR指标也包括日CR指标、周CR指标、月CR指标、年CR指标以及分钟CR指标等很多种类型。经常被用于股市研判的是日CR指标和周CR指标。虽然它们计算时取值有所不同,但基本的计算方法一样。
以日CR指标为例,其计算公式为:
CR(N日)=P1÷P2×100
式中,P1=∑(H-YM),表示N日以来多方力量的总和
P2=∑(YM-L),表示N日以来空方力量的总和
H表示今日的最高价,L表示今日的最低价
YM表示昨日(上一个交易日)的中间价
CR计算公式中的中间价其实也是一个指标,它是通过对昨日(YM)交易的最高价、最低价、开盘家和收盘价进行加权平均而得到的,其每个价格的权重可以人为地选定。目前比较常用地中间价计算方法有四种:
1、M=(2C+H+L)÷4
2、M=(C+H+L+O)÷4
3、M=(C+H+L)÷3
4、M=(H+L)÷2
式中,C为收盘价,H为最高价,L为最低价,O为开盘价
从四种中间价的计算方法来看,对四种价格的重视程度是不一样的,三种都是选用了收盘价,可见,收盘价在技术分析中的重要性。
和其他技术指标一样,在实战中,投资者不需要进行CR指标的计算,主要是了解CR的计算方法,以便更加深入地掌握CR指标的实质,为运用指标打下基础。
CR指标的一般研判标准
CR指标的一般研判标准主要集中在CR数值的取值范围、CR指标曲线的形态以及CR指标曲线与股价曲线的配合等方面来考察。
一、CR指标的取值
1、从CR的计算公式我们可以看出,CR指标很容易出现负值,但按通行的办法,在CR指标研判中,一旦CR数值出现负值,一律当成0对待。
2、和AR、BR指标一样,CR值为100时也表示中间的意愿买卖呈平衡状态。
3、当CR数值在75——125之间(有的设定为80——150)波动时,表明股价属于盘整行情,投资者应以观望为主。
4、在牛市行情中(或对于牛股),当CR数值大于300时,表明股价已经进入高价区,可能随时回挡,应择机抛出。
5、对于反弹行情而言,当CR数值大于200时,表明股价反弹意愿已经到位,可能随时再次下跌,应及时离场。
6、在盘整行情中,当CR数值在40以下时,表明行情调整即将结束,股价可能随时再次向上,投资者可及时买进。
7、在熊市行情末期,当CR数值在30以下时,表明股价已经严重超跌,可能随时会反弹向上。投资者可逢低吸纳。
8、CR指标对于高数值的研判的准确性要高于CR对低数值的研判。即提示股价进入高价位区的能力比提示低价位区强。
二、CR指标曲线的形态
CR指标的形态的研判主要是针对CR曲线在顶部和低部出现的不同形态而言的。
1、当CR曲线在高位形成M头或三重顶等顶部反转形态时,可能预示着行情由强势转为弱势,股价即将大跌(特别是对于前期涨幅过大的股票),如果股价的K线也出现同样形态则更可确认,其跌幅可以用M头或三重顶形态理论来研判。
2、当CR曲线在低位出现W底或三重底等底部反转形态时,可能预示着行情由弱势转为强势,股价即将反弹向上,如果股价K线也出现同样形态则更可确认,其涨幅可以用W底或三重底等形态来判断。
3、相对而言,CR指标的高位M头或三重顶的判断的准确性要比其底部的W底或三重底要高。
三、CR曲线与股价曲线配合使用
在一定程度上,CR指标具有领先股价走势的示警作用,尤其是在股价见顶或筑底方面,能能比股价曲线领先出现征兆。若股价曲线与CR指标曲线之间出现背离现象,则可能预示着股价走势即将反转。CR指标曲线与股价曲线的配合使用主要从以下几方面进行的。
1、当CR指标曲线节节向上攀升,而股价曲线也同步上升,则意味着股价走势是处于强势上涨的阶段,股价走势将维持向上攀升的态势,投资者可坚决持股待涨。
2、当CR指标曲线继续下跌,而股价曲线也同步下跌,则意味着股价走势是处于弱势下跌的阶段,弱势格局难以改变,此时,投资者应以持币观望为主。
3、当CR指标曲线开始从高位掉头向下回落,而股价曲线却还在缓慢向上扬升,则意味着股价走势可能出现“顶背离”现象,特别是股价刚刚经历过了一段比较大涨幅的上升行情以后。当CR指标曲线在高位出现“顶背离现象”后,投资者应及时获利了结。
4、当CR指标曲线从底部开始向上攀升,而股价曲线却继续下跌,则意味着股价走势可能出现“底背离”现象,特别是股价前期经过了一轮时间比较长、跌幅比较大的下跌行情以后。当CR指标曲线在底部出现“底背离”现象以后,投资者可以少量分批建仓。
5、CR指标对“顶背离”研判的准确性要远远高于对“底背离”的研判。
CR指标的特殊分析方法
由于在国内目前钱龙和分析家这两种具有代表性的股市分析软件中,CR指标有两种不同的界面,因此,CR指标的特殊研判也主要集中这种软件的不同分析方法上。
一、分析家软件上的CR指标的研判
在分析家软件上,日CR指标主要是由日CR曲线和CR的MA日均线组成。其中,MA由三条不同周期的曲线构成,分别为MA1、MA2、MA3,它们可以选用不同的周期参数,MA1、MA2、MA3的计算移动平均的天数,起始天数的参数一般为5、10、20。日ROC指标的研判就是围绕这四条曲线间的不同的关系展开。
CR曲线与CR的MA曲线的关系除了我们前面提到的形态和背离等研判方法外,更重要的是在于CR曲线和CR的三条MA曲线的交叉情况的研判。其主要分析方法如下:
1、当CR曲线和三条MA曲线在底部拈合在一起,并在一个狭窄区域(最好位于75——150之间)里横向移动时,表明股价在底部区域横盘筑底,此时,投资者应注意股价的动向并可以开始逢低建仓。一旦成交量开始慢慢放大,股价也缓慢向上时,投资者可以加大建仓量。
2、当CR曲线开始脱离前期底部横盘的狭窄区域,并从下向上开始突破三条MA曲线时,表明股价的底部整理可能结束,股价的强势特征开始显现,一旦CR曲线向上突破最后的一条MA曲线时,并有比较大的成交量配合时,为较佳的买入信号。投资者应及时买入。
3、当CR曲线向上突破三条MA曲线并快速向上攀升超过150数值时,表明股价的强势特征已经确立,投资者应及时短线买入或持股待涨。
4、当CR曲线快速向上移动后,三条MA曲线也同时上扬,表明股价继续维持强势上攻态势,投资者应一路持股。
5、当CR曲线经过一段较短时间的快速上升并远离前期的整理区域,而且,股价已经涨幅很大的情况下,投资者应密切留意CR曲线的动向。
6、当CR曲线在高位(200以上)开始向下掉头时,表明股价的强势行情即将结束,是较佳的卖出信号,投资者应及时卖出股票。
7、当CR曲线从高位向下运动并首次跌破最上面的一条MA曲线时,表明股价的强势行情已经结束,投资者应及时清仓出局。
8、当CR曲线从高位向下运动时,其他三条MA曲线也开始一起向下运行时,表明股价的弱势行情已经开始,投资者应以持币观望为主。
9、当CR曲线向下突破最后一条MA曲线时,表明股价的弱势行情已经确立,股价将加速下跌,投资者应坚决持币观望。
10、当CR曲线跌破三条MA曲线以后,股价走势将进入一个漫长的探底过程,投资者能做的事就是耐心等待,直到股价运行的弱势行情显露结束的迹象。
一种移动信息终端
BB=BlackBerry 所谓“黑莓”(BlackBerry)是指一种移动电子邮件系统终端,可以配合手机使用。 黑莓的来由 在“911事件”中,美国通信设备几乎全线瘫痪,但美国副总统切尼的手机有黑莓功能,成功地进行了无线互联,能够随时随地接收关于灾难现场的实时信息。之后,在美国掀起了一阵黑莓热潮。美国国会因“911事件”休会期间,就配给每位议员一部“Blackberry”,让议员们用它来处理国事。 什么是黑莓呢? 从技术上来说,黑莓是一种采用双向寻呼模式的移动邮件系统,兼容现有的无线数据链路。它出现于1998年,RIM的品牌战略顾问认为,无线电子邮件接收器挤在一起的小小的标准英文黑色键盘,看起来像是草莓表面的一粒粒种子,就起了这么一个有趣的名字。目前有内置“黑莓”功能的手机产品。它的终端包含一个非常小的标准电脑键盘,黑色的按键看上去如同草莓表面的黑籽儿,因此才得到这个昵称。从外观上看,“黑莓”产品与其说是手机,不如说更像是具备通话功能的商务通或掌上电脑。使用这种设备,手机用户将可以随时与电脑互发电子邮件。
wujiazhao1988的回答是可行的。不过建议你可以尝试如下方法:使用HttpWebRequest抓取页面文本内容,应用正则表达式提取数据。避免了webbrowser解析页面,效率可以得到很大提升。
实时股票数据接口
股票数据的获取目前有如下两种方法可以获取:
1.
http/javascript接口取数据
2.
web-service接口
1.http/javascript接口取数据
1.1Sina股票数据接口
以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据
接口:
这个url会返回一串文本,例如:
var
hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91,
26.92,
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700,
26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93,
14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11,
15:05:32";
这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。
0:”大秦铁路”,股票名字;
1:”27.55″,今日开盘价;
2:”27.25″,昨日收盘价;
3:”26.91″,当前价格;
4:”27.55″,今日最高价;
5:”26.20″,今日最低价;
6:”26.91″,竞买价,即“买一”报价;
7:”26.92″,竞卖价,即“卖一”报价;
8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
10:”4695″,“买一”申请4695股,即47手;
11:”26.91″,“买一”报价;
12:”57590″,“买二”
13:”26.90″,“买二”
14:”14700″,“买三”
15:”26.89″,“买三”
16:”14300″,“买四”
17:”26.88″,“买四”
18:”15100″,“买五”
19:”26.87″,“买五”
20:”3100″,“卖一”申报3100股,即31手;
21:”26.92″,“卖一”报价
(22,
23), (24, 25), (26,27), (28,
29)分别为“卖二”至“卖四的情况”
30:”2008-01-11″,日期;
31:”15:05:32″,时间;
一个简单的JavaScript应用例子:
script
type="text/javascript" src=""
charset="gb2312"/script
/javascript"
var
elements=hq_str_sh601006.split(",");
document.write("current
price:"+elements[3]);
这段代码输出大秦铁路(股票代码:601006)的当前股价
current
price:14.20
如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:
查询大盘指数,比如查询上证综合指数(000001):
服务器返回的数据为:
var
hq_str_s_sh000001="上证指数,3094.668,-128.073,-3.97,436653,5458126";
数据含义分别为:指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);
查询深圳成指数:
对于股票的K线图,日线图等的获取可以通过请求…./…/*.gif此URL获取,其中*代表股票代码,详见如下:
查看日K线图:
分时线的查询:
日K线查询:
周K线查询:
月K线查询:
1.2
BaiduGoogle的财经数据
在baidu,
google中搜索某只股票代码时,将会在头条显示此股票的相关信息,例如在google搜索601006时,
第一条搜索结果如下图:
通过点击左边的图片我们发现会将此图片链接到sina财经频道上,也就是说google股票数据的获取也是从sina获取。后经抓包分析,发现google也是采用1.1中介绍的接口。
Baidu的股票数据来自baidu的财经频道
1.3
其他方式
除了sina,baidu等网站提供股票信息外,其他网站也有类似的接口。我们分析了一款论坛上采用的股票插件,
其中有关于实时股票数据获取的介绍,详见如下代码,其中可以看到有些数据来自sina。
以下是ASP示例:
=5
then
stockdata=gethttp(""code"")
if
not len(stockdata)=0 then
stockdata=split(stockdata,chr(34))(1)
end if
if
len(stockdata)=0
then
stockdata="0,0,0,0,0,0,0,0,0,0,0,0"
else
stockdatasplit=split(stockdata,",")
stockdata=""exstock.checkstr(stockdatasplit(0))","stockdatasplit(1)","stockdatasplit(2)","stockdatasplit(3)","stockdatasplit(4)","stockdatasplit(5)","formatdatetime(""stockdatasplit(30)"
"stockdatasplit(31)"",0)""
end
if
‘0=股票名称,1=开盘价格,2=昨收盘价格,3=当前价格,4=最高价,5=最低价,6=更新时间
getstockdata=stockdata
end
function
function getstockimg(code)
dim
rndnum,addnum,checkcode,imgsource
if len(code)=5
then
getstockimg=""code".gif"
end
if
imgsource=""
case
3
getstockimg="?"code"1003SZ
500 330"
imgsource=""
case
4
getstockimg=""code""
imgsource=""
end
select
getstockimg=split(""getstockimg"||"imgsource"","||")
end
function
function getastockimg()
dim
rndnum,addnum,checkcode
dim
getastockimgb,imgsource
addnum=6
randomize:rndnum=cint(rnd*addnum)
select
case rndnum
case
getastockimg=""
getastockimgb=""
imgsource=""
case
1
getastockimg=""
getastockimgb=""
imgsource=""
case
2
getastockimg=";w=180h=140"
getastockimgb=";w=180h=140"
imgsource=""
case
3
getastockimg=";1002SZ
180
140"
getastockimgb=";1002SZ
180
140"
imgsource=""
case
4
getastockimg=""
getastockimgb=""
imgsource=""
case
5
getastockimg=""
getastockimgb=""
imgsource=""
case
6
getastockimg=""
getastockimgb=""
imgsource=""
end
select
getastockimg=split(""getastockimg"||"getastockimgb"||"imgsource"","||")
end
function
%
2.
web-service接口
2.1 CHINAstock的web-service:
中国股票行情数据
WEB 服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。输出GIF分时走势图、日/周/月 K
线图、及时行情数据(股票名称、行情时间、最新价、昨收盘、今开盘、涨跌额、最低、最高、涨跌幅、成交量、成交额、竞买价、竞卖价、委比、买一 - 买五、卖一 -
卖五)。此WEB服务提供了如下几个接口:
2.1.1
getStockImageByCode
GET
股票GIF分时走势图
INput:theStockCode =
股票代号,如:sh000001
POST /WebServices/ChinaStockWebService.asmx
HTTP/1.1
Host:
Content-Type:
text/xml; charset=utf-8
Content-Length:
length
SOAPAction:
""
string
Output:
2.1.2
getStockImageByteByCode
获得中国股票GIF分时走势图字节数组
INput:theStockCode
= 股票代号,如:sh000001
POST /WebServices/ChinaStockWebService.asmx
HTTP/1.1Host: : text/xml;
charset=utf-8Content-Length: lengthSOAPAction:
""
string
返回的数据如下:
R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A
2.1.3
getStockImage_kByCode
直接获得中国股票GIF日/周/月 K
线图(545*300pixel/72dpi)
INPUT: theStockCode =
股票代号
theType = K 线图类型(D:日[默认]、W:周、M:月),
POST
/WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "" string
string
比如按照下图所示输入:
返回的结果就是周K线图:
2.1.4
getStockImage_kByteByCode
获得中国股票GIF日/周/月 K
线图字节数组
Input:theStockCode = 股票代号,如:sh000001
POST
/WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "" string string
HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length
base64Binary
比如按照下图输入:
返回的结果就是周K线图字节数组
R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A
2.1.5
getStockInfoByCode
获得中国股票及时行情
input:theStockCode
= 股票代号
POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: ""
string
返回的值一个一维字符串数组
String(24),结构为:String(0)股票代号、String(1)股票名称、String(2)行情时间、String(3)最新价(元)、String(4)昨收盘(元)、String(5)今开盘(元)、String(6)涨跌额(元)、String(7)最低(元)、String(8)最高(元)、String(9)涨跌幅(%)、String(10)成交量(手)、String(11)成交额(万元)、String(12)竞买价(元)、String(13)竞卖价(元)、String(14)委比(%)、String(15)-String(19)买一
- 买五(元)/手、String(20)-String(24)卖一 - 卖五(元)/手。
Web
service的方法类似于现在concurrent项目的DBWS数据的获取,都是通过SOAP协议向DBWS服务器获取相关的数据。
利用雅虎查中国股票
;f=slc1wop
返回微软的股票价格
"MSFT","4:00pm
- 30.70",+1.04,"21.46 -
30.75",29.77,29.66
;f=slc1wop
这个返回安泰科技的,一般有半个小时的延迟。
但是s=000969.sz
这个后面的sz是深圳的意思, 沪市是SS后缀
前端Html +Css+Javascript的快速学习之道
首先我是自己在看视频后给了自己定了一个计划,我是让自己结合着视频还有w3c的文档2个星期学会了HTML以及Css的学习,接受一个新的事物的时候我们人脑都是有个反应适应期,用心做的人14天可以完完全全的改变一个人行为和习惯,那么我是这样做的。每天学习差不多有10个小时左右,靠着在以前在考试之前理解以后去记忆的习惯,我当时把Html拆分成头部,底部还有内容区域,然后又跟着视频学习的时候继续细分哪些是块级元素,哪些是行内元素,哪些是属性,哪些是布局,哪些是颜色等等这些你细分之后在凭着上学时候记忆的本事,很容易在一个星期掌握。接着就是Css,这个就是用来修饰Html的,这个可能就是在逐步的提高你自己的认知和做网页怎么可以更加美化的问题上了,在Css的学习上也是我细分的过程,然后发现哪些样式啊,框和模型边距啊,定位啊还有选择器啊等等这个是细分和定型的过程。
学过这些你就可以做出一个不错的网页了,那我觉得我应该提升下我自己我就做了一个工作,那就是做了一个支付宝的静态页面当时就是模仿做的支付宝静态页面,依稀记得上面的一个图片写的”改变,因我而来”。多么深刻的一句话啊,可是但是就是觉得做的支付宝界面模仿挺好的,简洁大方,我只是把背景图片换成了一个美女图片,这个既看着养眼,也有心里的满足感!记住这是我要传递的第二个信息,就是一定要有阶段性的提升,就是每次学习新的知识的时候,一定要学会去把所学化作在一部作品或者一个简单的小项目中。
做完这个就是你阶段性进入编程的门槛了,然后真正的大的boss在后面呢,需要一个一个区战胜(其实除此之外我别无选择)。有点像我们小时候玩的游戏机,一个关底都会出现一个boss的。这个时候我对前端已经有了初步的认识和认知了,现在所写的都是静态的页面,如何让网页上的元素动起来就是接下来的重头戏出场了,没错那就是Javascript。
Js绝对是你学习的一个重中之重,为什么这样说呢因为网页的构成就是html是骨架,css是外衣,js就是它的运动轨迹。
第一,其实对于javascript我是深有体会的,以我个人的学习来说也是从零开始的,那么怎么可以以最快的时间学好的。我是看了javascirpt的零基础视频学习,从最基础的学习面向对象以及语法,数据类型,原型和作用域,继承等等。看了这个对于初学的人肯定是一脸懵懂的,这是一个需要不断的练习和学习的科目。
第二,就是练习大量的练习,建议这个时候不要买什么犀牛书,因为这个虽好,但是对于刚刚入门的人不太适合,犀牛书适合工作一段时间js进阶看的一部宝典。在这个时候我做的事情是买了一本javascript网页特效300例,然后结合这个我一个一个案例进行练习,对我自己提高对js的认知和技术,起了很大的帮助,也是我后来js用的很熟练的技术。
第三步,练习完那个javascript网页特效300例,并不等于你就真正的融会了js了,此时你需要在回顾js的基础,完整的回顾下js的内容,相信此刻的你的感悟已经很深了!然后在结合做个综合的项目来锻炼下自己,当时我做了博客系统然后拿着去面试了,这是我当时的面试时候的带过去面试项目。这个是我传递的第三个信息,就是面试一定要有自己完成的作品。
如果这些都井然有序的努力去做了,相信你此刻对前端的一定有了个清晰的认识了。接着开启我们的进阶之路吧。
前端框架的学习boostrap + jquery +angular
招聘的前端人员基本都是需要会boostrap和angular的,而jquery是必须会的,jquery其实在javascirpt的一个框架可以让你很快的上手,门槛很低方便学习。这个我个人觉得你在学会了javascript以后,可以花个一到两天时间学习下jquery。至于boostrap是前端的web的ui框架,可以让你做的网站或者页面实现响应式的布局。这个的学习我觉得可以直接看官网的那个介绍文章,我当时是在边看的时候,边做了几个网上的例子,其实用一下发现真的很入门很快的,有了前面的基础,这个入门大概就需要2天就可以搞定了。
真正的难点在angular,当时学习angular是有点困难,觉得怎么还可以这样玩啊,什么数据双向绑定,MVC等等这个是怎么回事搞不懂。也是困扰新人最多的地方。那么怎么才能学好呢。我当时在网上搜了很多也没发现好的资料,后来在一个论坛上下载了一套angualar的学习视频,从最基本的开始讲起的我也是从最基础开始做的,从开始引入angular的js到写控制器,然后做一个小的购物车项目,后来才明白原来是慕课上的一个angular的学习视频,不过当时很是开心和感激的,只要自己努力想去学习,办法总是比困难多的。
Angular的学习后来我的总结就是先要看它的官网介绍和指令,然后在接着去看视频,不然开始就去看视频是不知道它讲的是什么呢,我相信从零开始的对这个肯定是有很深的记忆基础。这个我觉得学习最快的方式就是在熟悉语法后找一个网站去做一下,我当时就是用angular去做了一个仿照汽车之家的简单的登录注册以及车型展示,当时虽然做的不是很好,但是为我面试积累了项目经验。只有量变积累才能有质变的提高,这个也是我对angular的使用体会,只有在不断的项目中使用,才能不断领悟他的精髓。
学习到这里基本你已经可以去投递简历去面试了,有人说刚刚毕业的新人怎么去写好自己的简历让面试官给你offer呢?
这个我就以我自己为例,当时我选的是拉钩和智联招聘还有就是猎聘网,我观察过,这三家是招人招的多,HR查看简历回复快的三家。后来我就自己在网上观看了很多人的简历和制作以及面试过后发出的简历模版,我发现别人之所以面试上写的不是自己大学的参加比赛,而是自己写做的项目经验和实习经历,这些是一家招聘公司最看重的,他们想要招聘的员工是想有工作经历或者是项目经验,可以协调配合项目组开发,然后是有认知,态度好,又负责的员工。当时我结合这些把自己做过的项目整合一起写了自己做的项目经验,因为这些也是我自己的经历,虽然没有实习但是这样的经历也是面试官想看到的,我就当时把这些整理好,投递了几份简历,然后第二天就有三家让我面试,结果面试三家都要我,我就选择了一家外企,也就是我现在今天这家公司。这个详细的面试,可以留给我们chat的时候可以细聊中间的事项。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流