Using PowerShell to check the stock information

这个脚本其实很简单,使用了PS V2.0的New-WebServiceProxy命令,然后调用一个免费的股票在线查询交易平台WSDL接口,可惜免费的始终是免费的,24小时内这个免费的平台接口对多使用次数不能超过250次。

 

脚本对交易的数据作了美化修饰以此达到接近传统股票交易软件的数据信息界面。例如凡是涨幅用红色,跌幅用绿色显示。方法很简单只需要提取需要比较的数据然后与昨日该股票的收盘价格比较。 另外需要稍加注意的是关于对数字的处理,因为股票价格包含百分比,负数等,需要做合适的转型处理。

 

最后写了一个方法将股票查询代号传入方法即可,需要注意的是,股票分深圳,上证等,所以需要以类似sh000001,sz000001前缀开头。最后脚本会以设定的时间每个20秒刷新一次信息。

$stockName="sh600546","sz000998"

 

#****************************************************
#   Desgin by: Anders Wang                                                           
#   Description:  Check stock information.             
#****************************************************

#============Defined Output Color============
function OutGreen
{process{Write-Host $_ -ForegroundColor Green}}

function OutRed
{process{Write-Host $_ -ForegroundColor Red}}
#============================================

function Search-Stock($number)
{
	$Stock = New-WebServiceProxy -Uri http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx?wsdl
	$info=$Stock.getStockInfoByCode($number)
	
	Write-Host "证劵:"$info[1]"("$info[0].Substring(2,6)")"
	Write-Host "时间:"([datetime]$info[2]).GetDateTimeFormats()[-23]	
	Write-Host "最新:" -NoNewline
	if($info[3] -lt $info[4])
	{$info[3]|OutGreen}
	else
	{$info[3]|OutRed}
	
	Write-Host "开盘:" -NoNewline
	if($info[5] -lt $info[4])
	{$info[5]|OutGreen}
	else
	{$info[5]|OutRed}
	
	Write-Host "昨收:"$info[4]
	
	Write-Host "涨跌:" -NoNewline
	if([double]$info[6] -gt 0)
	{$info[6]|OutRed}
	else
	{$info[6]|OutGreen}
	
	Write-Host "涨幅:" -NoNewline
	$percent = $info[9]
	if([double]($percent.SubString(0,$percent.length-1)) -lt 0)
	{$info[9]|OutGreen}
	else
	{$info[9]|OutRed}
	
	Write-Host "最低:" -NoNewline
	if($info[7] -lt $info[4])
	{$info[7]|OutGreen}
	else
	{$info[7]|OutRed}
	
	Write-Host "最高:" -NoNewline
	if($info[8] -lt $info[4])
	{$info[8]|OutGreen}
	else
	{$info[8]|OutRed}

	
	Write-Host "委比:" -NoNewline
	$percent = $info[14]
	if([double]($percent.SubString(0,$percent.length-1)) -lt 0)
	{$info[14]|OutGreen}
	else
	{$info[14]|OutRed}
	
	Write-Host 
	
	Write-Host "卖⑤:" -NoNewline
	$sell5 = $info[24] -split "/ "
	if($sell5[0] -lt $info[4])
	{$sell5[0]|OutGreen}
	else
	{$sell5[0]|OutRed}
	
	Write-Host "卖④:" -NoNewline
	$sell4 = $info[23] -split "/ "
	if($sell4[0] -lt $info[4])
	{$sell4[0]|OutGreen}
	else
	{$sell4[0]|OutRed}
	
	Write-Host "卖③:" -NoNewline
	$sell3 = $info[22] -split "/ "
	if($sell3[0] -lt $info[4])
	{$sell3[0]|OutGreen}
	else
	{$sell3[0]|OutRed}
	
	Write-Host "卖②:" -NoNewline
	$sell2 = $info[21] -split "/ "
	if($sell2[0] -lt $info[4])
	{$sell2[0]|OutGreen}
	else
	{$sell2[0]|OutRed}	
	
	Write-Host "卖①:" -NoNewline
	$sell1 = $info[20] -split "/ "
	if($sell1[0] -lt $info[4])
	{$sell1[0]|OutGreen}
	else
	{$sell1[0]|OutRed}
	
	Write-Host
	
	Write-Host "买①:" -NoNewline 
	$buy1 = $info[15] -split "/ "
	if($buy1[0] -lt $info[4])
	{$buy1[0]|OutGreen}
	else
	{$buy1[0]|OutRed}
	
	Write-Host "买②:" -NoNewline
	$buy2 = $info[16] -split "/ "
	if($buy2[0] -lt $info[4])
	{$buy2[0]|OutGreen}
	else
	{$buy2[0]|OutRed}
	
	Write-Host "买③:" -NoNewline
	$buy3 = $info[17] -split "/ "
	if($buy3[0] -lt $info[4])
	{$buy3[0]|OutGreen}
	else
	{$buy3[0]|OutRed}
	
	Write-Host "买④:" -NoNewline
	$buy4 = $info[18] -split "/ "
	if($buy4[0] -lt $info[4])
	{$buy4[0]|OutGreen}
	else
	{$buy4[0]|OutRed}
	
	Write-Host "买⑤:" -NoNewline
	$buy5 = $info[19] -split "/ "
	if($buy5[0] -lt $info[4])
	{$buy5[0]|OutGreen}
	else
	{$buy5[0]|OutRed}	
}
$stockName="sh600546","sz000998"

for($s=0;$s -le 600;$s++)
{
	Start-Sleep -Seconds 30
	foreach($i in $stockName)
	{
		Search-Stock ("$i")
		Write-Host ===============
	}
}

 

运行界面如下:
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值