A. 請問用C#如何提取新浪等網站的股票實時動態行情數據
找到一個利用webservice的方法,希望能夠幫助你
聲明: 這篇文章適合在C#命令行編譯器下的開發借鑒,對於已經裝了MS.NET的朋友,開發客戶端時將會更容易一些,我隨後對登出我自己的開發程序,這篇文章為我摘錄的.摘錄URL:http://www.knowsky.com/2016.html
(一)
Web Services,即Web服務,是微軟.NET戰略中非常重要的一個概念。它的目的是將Web站點轉變為集組織、應用、服務以及設備於一體的可設計Web站點,使Web站點不再處於被動的地位。
本文將介紹如何建立和使用一個在.NET 平台上提供股票報價的Web服務。我們將使用Yahoo的一項以CSV(以逗號分隔的值)的格式提供股票報價的免費服務,將其包含在我們的web 服務中。
注意:這個報價服務常式的運行大約延遲15分鍾,只用於教學目的。
建立Web服務
下面將採用逐步講解代碼的形式來幫助你理解在.NET 中Web服務的編程模式。我們可以使用notepad等任何文本編輯器來編寫 這里的Web服務常式代碼,最後將文件存儲為StockQuote.asmx。請注意:所有的Web服務文件保存時都使用擴展名 *.asmx。
<%@ WebService Language="C#" class="DailyStock" %>
代碼的第一行定義了一個 Web 服務,使用的語言是C#。class屬性用來指示Web服務應該調用和使用的類。如果在Web服務中使用了許多類,那麼就應該用這個屬性來表明Web服務應該首先調用的類。
using System ;
using System.Web.Services ;
using System.Net ;
using System.IO ;
using System.Text ;
以上代碼負責引入必要的名稱空間。 請記住永遠都要引入System.Web.Services這個名稱空間。根據類的需要,再引入保留的名稱空間。
public class DailyStock : WebService
{
......
....
}
這里我們將公共類定義為 DailyStock,它擴展了 System.Web.Services.WebService 類。所有想暴露為 Web服務的類都應該擴展System.Web.Services.WebServices類。 另外,Web 服務的存取修飾語永遠都是public。
[WebMethod]
public string GetQuote(string symbol)
{
........
........
}
以上我們定義了一個公共Web方法 GetQuote。同類的定義一樣,Web 方法也都要用 public這個修飾語來聲明。 [WebMethod] 屬性呈現出將要被用在Web服務中的一些潛在方法,希望客戶存取的所有方法都應該用[WebMethod] 屬性進行標記。GetQuote方法接受一個字元串輸入參數,它包含了使用者所需要的報價符號。這個方法返回一個字元串,其中包含股票報價或錯誤
string ret;
try
{
// The Path to the Yahoo Quotes Service
string fullpath = @"http://
// Create a HttpWebRequest object on the Yahoo url
HttpWebRequest webreq = (HttpWebRequest)WebRequestFactory.Create(fullpath);
// Get a HttpWebResponse object from the Yahoo url
HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();
// Create a StreamReader object and pass the Yahoo Server stream as a parameter
StreamReader strm = new StreamReader(webresp.GetResponseStream(), Encoding.ASCII);
// Read a single line from the stream (from the server)
// We read only a single line, since the Yahoo server returns all the
// information needed by us in just one line.
ret= strm.ReadLine();
// Close the stream to the server and free the resources.
strm.Close();
}
catch(Exception)
{
// If exception occurred inform the user
ret="Exception Occurred" ;
}
file://Return the Quote or Exception
return ret ;
以上是GetQuote 方法的內容。這里使用一個 try-catch模塊來截獲從Yahoo中得到股票報價的過程中可能發生的錯誤。在 try-catch模塊內部聲明了一個字元串變數,這個變數中保存著獲取yahoo服務的完整路徑,用戶提供的symbol字元串變數被加到這個連接字元串上。
路徑建立好之後,就要從連接字元串中構造一個 HttpWebRequest對象和一個 HttpWebResponse 對象。接著,用StreamReader打開一個到Yahoo
(二)
配置Web服務
配置Web 服務與一個配置ASP.NET應用程序相同。如果自己有Web伺服器,那麼就創建一個稱為stockquote 的虛擬目錄,然後將 StockQuote.asmx復制到這個目錄中。如此就完成了Web 服務的配製。要調用Web服務,首先啟動瀏覽器,然後鍵入Web 服務的路徑,如 http://localhost/stockquote/StockQuote.asmx,接著看到的頁面就是由Web服務運行時間環境自動生成的結果。在文本框中鍵入符號,例如AOL 或 MS,再點擊invoke按鈕,這時就會彈出一個新的窗口,在其中向你顯示了Web服務的輸出信息。
使用Web服務
基本上有兩種使用Web 服務的方法。可以通過瀏覽器直接調用 Web 服務,並按照上面介紹的方法來使用它。或者,也可以在應用程序使用它。下面就看看如何建立一個Web 應用程序和一個控制台應用程序,通過它們來使用Web服務。當然,也可以使用Win Form 應用程序作為替代來使用Web 服務。
獲取服務的描述
為了與Web服務進行通信,客戶應該知道這個Web服務支持哪種方法以及如何與它們進行通信。.NET 上的Web服務自動用SDL(服務描述語言)產生一個 XML格式文檔,這樣就使客戶能夠獲取與Web服務通信時所需要的信息。 在Web 服務URL之後附加 ?SDL 使Web服務生成客戶能夠使用的SDL文檔。要查閱這里接受的Web 服務的SDL,可以在瀏覽器中鍵入http://localhost/stockquote/StockQuote.asmx?SDL。
(三)
構造代理庫
.NET 平台上的應用程序可以使用代理庫來調用Web服務上的方法,這樣使用Web服務就非常容易。生成代理庫的第一步是從SDL中生成一個Web服務的代理類。.NET SDK提供了一個叫做WebServiceUtil.exe的工具,它能夠幫助我們生成一個代理類。要生成Web服務的代理類,首先進入命令行環境,然後轉到將要開發客戶應用程序的那個目錄,接著輸入以下命令:
WebServiceUtil /c:proxy /pa:http://localhost/stockquote/StockQuote.asmx?SDL /n:Quotes
以上命令執行後,會在運行這個命令的目錄中生成一個 C# 源代碼文件,叫做 DailyStock.cs (要記住Web服務類的名稱也是 DailyStock,)。現在來看這些自變數的含義:
l /c:proxy:告訴WebServiceUtil生成一個代理類
l /pa:http://localhost/stockquote/StockQuote.asmx?SDL:向SDL提供Web服務的路徑。如果已經將Web服務的SDL 保存到了硬碟上,我們甚至可以提供SDL文件的本地路徑。
l /n:Quotes:告訴WebServiceUtil將代理類放在 Quotes名稱空間。這樣做的目的是為了更容易地管理和使用代理庫。
代理庫准備好之後,我們使用C# 編譯器從上面步驟中剛創建的代理類中生成一個代理庫:
csc /target:library /r:System.dll;System.Web.Services.dll;System.Net.dll;
System.IO.dll;System.Xml.Serialization.dll DailyStock.cs
生成代理庫的時候,我們使用了 /target:library開關以表示想要輸出一個庫文件。我們還引用一些曾經在Web服務中使用過的集合。編譯器將在運行命令所在目錄中生成一個名為DailyStock.dll 的dll 庫。
(四)
創建 Web應用程序用戶
下面創建一個Web應用程序StockConsumer.aspx,它作為這個StockQuote(股票報價) Web服務的第一個用戶。
<%@ Page language="C#" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="Quotes" %>
以上引入必要的名稱空間。要記住也要引入 Quotes名稱空間,它是代理庫的名稱空間。
<html>
<head>
<script runat=server>
// Wire up the onClick event for a button
protected void button1_Click(object sender, EventArgs e)
{
file://Create a object of the class DailyStock (the proxy class)
DailyStock ds = new DailyStock();
// Call the GetQuote method of the proxy class DailyStock and
// pass the symbol string from the textbox
string res = ds.GetQuote(symbol.Text);
// The returned string has values which are separated
// by commas.
// Hence we split the returned string into parts
char[] splitter = {','} ;
string[] temp = res.Split(splitter);
// Check if the string array returned has more than one
// elements since if there are less than one elements
// then an exception must have been returned
if(temp.Length >1)
{
// The WebService returns a lot of information about the
// stock. We only show the relevant portions
// Set the label to current Index
curindex.Text = "Current Index :"+temp[1];
// Set the label to current Date Time
curdate.Text ="Last Update on"+temp[2]+" at "+temp[3];
}
else
{
error.Text = "Error :"+res ; file://set the error label
}
}
</script>
以上ASP.NET頁面代碼中,首先對Web 服務DailyStock進行例示。由於已經生成了代理庫,因此Web服務的調用方法與其它任何庫的調用方法都相同。調用DailyStock 類的GetQuote()方法後,將返回一個字元串,其中包含了以逗號分隔的列表符號的完整信息。
我們將限制顯示給客戶的信息為只顯示當前指數和所報告指數的日期/時間。為了將字元串分成若干不同的部分,這里使用了字元串類的Split方法,在出現逗號的地方將字元串分割成部分。並且,將分割開的字元串組成數組之後,再使用相關的數值為Web頁面設置不同的標簽。
代碼的其餘部分
<body>
<center>
<h2>.NET101 Stock Quote Consumer </h2>
<form runat=server >
<table border=1 celspacing=1>
<tr><th>Please enter the symbol below</th></tr>
<tr><td>
<asp:textbox id=symbol runat=server />
<asp:button id=button1 text="Get Quote" onClick="button1_Click" runat=server />
</td></tr>
<tr><td><asp:label id=curindex runat=server /></td></tr>
<tr><td><asp:label id=curdate runat=server /></td></tr>
<tr><td><asp:label id=error runat=server /></td></tr>
</table>
</form>
</center>
</body>
</html>
(五)
小結
下面總結一下配置Web應用程序的步驟:
l 創建一個叫做StockConsumer的虛擬目錄
l 將 StockConsumer.aspx 文件復制到這個虛擬目錄下
l 在wwwroot 文件夾中創建一個 bin 虛擬目錄
l 設置bin目錄以執行代碼的許可權
l 將代理 dll 文件DailyStock.dll復制到這個目錄下,ASP.NET 運行時間引擎會自動從Bin目錄中選擇對外部庫的引用。這里的例子中,這個外部庫是DailyStock.dll。
現在調用文件 http://localhost/StockConsumer/StockConsumer.aspx,然後鍵入股票的符號,點擊 "Get Quote"(獲取報價)按鈕,就能看到正在使用的Web服務了。注意:Web服務應該能夠使用yahoo伺服器,否則它就會返回一個錯誤信息。
B. 在編程中如何能能獲得股票的數據 例如當前價,最高價,最低價,當前成交量等等
要看使和什麼數據了,每個軟體數據的存儲格式不同,有的還是加密存儲的(如指南針)。
以常見的錢龍數據來說吧(錢龍是最簡單的存儲格式)當前價,最高價,最低價,當前成交量等等都是以隨機文件存儲的長整型數據。下面是讀取錢龍數據的C源碼,你可以參考一下:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct { ------->定義數據類型
unsigned long date; ------->定義日期為長整
unsigned long open; ------->定義開盤為..
unsigned long high; ------->定義最高為..
unsigned long low; ------->定義最低為..
unsigned long close; ------->定義收盤為..
unsigned long travl; ------->定義成交量..
unsigned long traca; ------->定義成交額..
char unuse[12];
} RECORD;
RECORD reco;
int readrec(FILE *);
void main()
{
FILE *fp;
if((fp = fopen("000001.day","rb")) == NULL) // 打開深發展日線
{ printf("Error: Can't open 000001.DAY !\n");
exit(0); }
readrec(fp);
fclose(fp);
if(getch()==0) getch();
exit(0);
}
int readrec(FILE *fp)
{
float fn;
while (! feof(fp)) {
fread(&reco,sizeof(RECORD),1,fp);
printf("%10lu ",reco.date);
fn=float(reco.open)/1000;
printf("%8.2f ",fn);
fn=float(reco.high)/1000; .
printf("%8.2f ",fn); .
fn=float(reco.low)/1000; .
printf("%8.2f ",fn); .
fn=float(reco.close)/1000; .
printf("%8.2f ",fn); .
printf("%8lu ",reco.travl); .
printf("%8lu\n",reco.traca);
}
printf("\n");
return 0;
C. 如何將通達信軟體所有股票的日K線數據導出 (最好是導在Excel)
隨便打開一個股票的K線圖,34,【數據導出】,【高級導出】,【添加股票】,把滬A、深A的股票全部選上。
選擇好路徑。
選擇【開始導出】即可!
這是最大可能的完成你需要的了,如果還不行,那就沒有別的辦法了~~
網路知道股票內容管理團隊隊員為您答復。回答完畢!
D. 東方財富網的數據能導出來嗎
能導出,導出的方法有下列2種:
1、打開所需導出數據的頁面,例如:龍虎榜單,選中需要導出的數據,復制,到excel或文本文件中粘貼。
2、打開excel,新建一個空白文檔,點擊菜單欄→數據→導入外部數據→新建Web查詢→在地址中粘貼需要導入的鏈接(還是以龍虎榜單為例)→點擊轉到→單擊要選擇表格旁邊的向右方向箭頭,但後單擊「導入」→選擇導入數據的位置→確定。
在東方財富金融終端內所有以列表形式所展現的數據,例如:滬深股票列表;自選股列表;板塊列表等等。您都可以通過滑鼠右鍵選擇「數據導出」進行導出。在導出時您也可以對導出的數據進行篩選。
目前東方財富網支持使用財富手機版軟體、東方財富PC版軟體進行交易,需要在東方財富證券官方網站下載PC版或手機版的行情交易軟體即可完成直接購買或賣出股票。
手機版的操作方式是:
東方財富App:版本4.24.3
在用手機上打開財富手機版軟體,點擊首頁「委託交易」登陸之後,選擇東方財富證券,輸入資金賬號和交易密碼登陸,就可以進行交易。
電腦版的操作方式是:打開東方財富終端,點擊頁面最上方的交易按鈕,設置委託,然後下載東方財富證券證券即可進行交易;或直接在股票名字、招商銀行、中國銀行、農業銀行、華夏銀行、光大銀行、浦發銀行、工商銀行、建設銀行、平安銀行、交通銀行、寧波銀行、廣發銀行在內的17家銀行。
拓展資料:
東方財富的股票交易手續費為交易額的萬分之二點五。股票交易手續費是進行股票交易時所支付的手續費。委託買賣的手續費分「階段式」和「跟價式」。1階段式:根據股票價格和交易股數收取手續費。2跟價式:根據股票的交易金額收取手續費,目前世界上多採用跟價式
E. 怎樣導出股票歷史價格數據
這里筆者以同花順軟體為例:
1. 首先點按電腦界面上的同花順圖標
2. 輸入用戶名和密碼之後點按登錄
3. 進入同花順界面後點按界面左側的自選股按鈕 然後點按自選股中收藏的某個股票
4. 右鍵點按自選股中收藏的某支股票 在彈出的菜單中點按數據導出 然後在二級菜單中點按導出所有數據
5. 在瀏覽按鈕下選擇導出文件位置 這里選擇了桌面 然後選擇導出的類型為excel 然後點按下一步
6. 勾選所有需要導出的項目 然後點按下一步
7. 最後點按完成
8. 此時在桌面上可以看到導出的文件 文件名字為table 雙擊進入該文件
9. 打開excel文件之後選中行標2行標3 然後點按右鍵 然後在彈出的菜單中點按復制
10. 點按復制之後 著兩行周圍出現閃爍的虛線
11. 為這兩行新添加的數據添加日期
12. 點按數據下的排序按鈕 以名稱為第一關鍵字 日期為第二關鍵字進行排序
同花順,是一款功能非常強大的免費網上股票證券交易分析軟體,投資者炒股的必備工具。
同花順股票軟體是一個提供行情顯示、行情分析和行情交易的股票軟體,它分為免費PC產品,付費PC產品,電腦平板產品,手機產品等適用性強的多個版本。同花順股票軟體注重各大證券機構、廣大股民的需求和使用習慣,同花順股票軟體全新版免費免注冊。全新版同花順股票軟體新增強大功能:自主研發的問財選股及自定義選股,問財選股是新一代自然語言選股,解析自然語言選出股票。新增通達信模式。
同花順面向客戶可為銀行、證券、保險、基金、私募、高校、政府等行業提供智能化解決方案。正在拓展至生活、醫療、教育等更多領域。
2020年1月9日,胡潤研究院發布《2019胡潤中國500強民營企業》,同花順以市值490億元位列第135位。
F. 如何一次過導出全部股票的成交明細
導出方法:在股票的分時圖狀態按F1是當日成交明細,然後選擇系統-數據導出即可。
股票成交原則:
價格優先原則
價格優先原則是指較高買進申報優先滿足於較低買進申報,較低賣出申報優先滿足於較高賣出申報;同價位申報,先申報者優先滿足。計算機終端申報競價和板牌競價時,除上述的的優先原則外,市價買賣優先滿足於限價買賣。
成交時間優先順序原則
這一原則是指:在口頭唱報競價,按中介經紀人聽到的順序排列;在計算機終端申報競價時,按計算機主機接受的時間順序排列;在板牌競價時,按中介經紀人看到的順序排列。在無法區分先後時,由中介經紀人組織抽簽決定。
成交的決定原則
這一原則是指:在口頭唱報競價時,最高買進申報與最低賣出申報的價位相同,即為成交。在計算機終端申報競價時,除前項規定外,如買(賣)方的申報價格高(低)於賣(買)方的申報價格,採用雙方申報價格的平均中間價位;如買賣雙方只有市價申報而無限價申報,採用當日最近一次成交價或當時顯示價格的價位。
G. 怎樣自動導出通達信股票數據
方法:打開一個股票的K線圖,34,【數據導出】,【高級導出】,【添加股票】,把滬A、深A的股票全部選上,選擇好路徑,選擇【開始導出】即可。
股票是股份公司發行的所有權憑證,是股份公司為籌集資金而發行給各個股東作為持股憑證並藉以取得股息和紅利的一種有價證券。每股股票都代表股東對企業擁有一個基本單位的所有權。每支股票背後都有一家上市公司。同時,每家上市公司都會發行股票的。
同一類別的每一份股票所代表的公司所有權是相等的。每個股東所擁有的公司所有權份額的大小,取決於其持有的股票數量占公司總股本的比重。
股票是股份公司資本的構成部分,可以轉讓、買賣,是資本市場的主要長期信用工具,但不能要求公司返還其出資。
H. 大智慧如何導出全部股票收盤價數據
兩種方法:
方法一:
老的大智慧在K線圖時可點右鍵,按提示可直接下載形成excel表的數據.但新的大智慧要這樣操作:
選擇菜單〖文件〗→〖復制到剪切板〗,即可將數據拷貝到剪切板中,此時系統將彈出對話框提示「數據已拷貝到剪切板」,點擊「確定」進行確認。然後切換到EXCEL,並選擇粘貼功能將剪切板中的數據粘貼到電子表格中。
方法二:
2.在大智慧主頁上端的工具欄中的「工具」選項里,選用「數據下載」即可。
I. 怎麼將股票中的數據導出到excel
1、首先在電腦桌面上打開股票軟體。
J. 用什麼軟體可以導出股票的數據,如成交量,換手率,價格等。我用了很多軟體同花順,通信達,大智慧都導不
通信達可以做到,它可以導出開盤、最高、最低、收盤、成交量等數據。通過系統 - 數據導出,選擇格式為文本(.TXT)文檔或Excel(.XLS)文件即可。
我們經常掛在嘴邊的股票成交量,也就是買股票和賣出股票數量的總和,換句話說,就是在這一天成功發生交易的股票總手數(1手=100股)
籠統地說,股票成交量能體現出個股或者大盤的活躍程度,有助於我們從眾多股票中選中最好的一個、識別買入和賣出的時機。
看股票成交量的具體辦法都有哪些?有什麼分析技巧?又有哪些地方需要我們注意呢?我來為大家做詳細的說明,大家可以接著往下看。
在這之前,先給大家發福利,我整理各行業的龍頭股信息,涉及醫療、新能源、白酒、軍工等熱門行業,隨時可能被刪:吐血整理!各大行業龍頭股票一覽表,建議收藏!
一、股票成交量怎麼看?有什麼分析技巧?
想知道股票成交量的話可以看交易軟體,通過看開盤時的買入賣出量來確定成交量。或者看紅綠柱,這些都可以直接表明出股票的成交量:紅柱體代表買入﹥賣出;綠柱體代表買入﹤賣出。
要想股票炒得好,實用工具少不了,吐血整理的【股票研究9大神器】。點擊領取:超實用炒股的九大神器,建議收藏
二、股票成交量大就一定好嗎?
股票的成交量並不能證明這只股票就是好的,只能關於這支股票的價格,說買賣雙方有著非常大的分歧。
像一些熱門股票,買的人認為價格會上漲,賣的人認為價格會下跌,雙方分歧很大,那成交量就會很高,反之成交量就很低。
成交量通常和股價趨勢結合在一起看會更好:上漲趨勢中,成交量迅速放大,價格隨之不斷上升,買賣雙方的分歧越來越劇烈,越來越多的持有者在賣出股票,此時追漲需要有所戒備了;成交量會隨趨勢下跌而減少,買賣雙方意見相同,未來就很有可能會繼續下跌。
除此之外,股票成交量還有其他幾種情況,出於文章的限制,我就不詳細說明了,大家可以點擊下方鏈接,輸入你中意的股票,就能免費獲得個股成交量分析報告:【免費】測一測你的股票當前估值位置?
應答時間:2021-09-08,最新業務變化以文中鏈接內展示的數據為准,請點擊查看