Python WebSocket客户端:实时外汇
#python #forexdata #websocket #realtimedata

本教程解释了如何创建一个程序来从Tradermade的外汇API市场数据服务中检索实时市场数据。 Tradermade是外汇,CFD和金属的最可靠的实时和历史数据供应商。

要开始,您必须注册一个TraderMade WebSocket Trial Account。请请求Websocket键。在最初的两周内,将我们的Java API免费用于WebSocket。我们的订阅计划以谦虚的价格开头 - £100
PCM。

所以,让我们开始吧!

在开始编码之前,我们必须首先设置编码环境。让我们通过三个简单的步骤来实现这一目标:

安排

python安装
PIP设置
项目配置

步骤1:设置Python

我会尽可能推荐Python 3.9.1,因为它是最新且可靠的版本。

对于Windows,您可以从Windows App Store使用Python应用程序或从python.org下载Windows安装程序。

在Linux上,执行
$ sudo apt-get更新
$ sudo apt-get安装python3.9在安装python之前更新apt-get。

步骤2:PIP安装

PIP默认在Windows上安装。

在Linux的情况下:
apt-get安装python3-pip $ sudo

步骤3:项目配置

要开始,您必须构建一个目录以保存软件。我已经打电话给此目录 /WebSockettestclient。< /p>

我们现在必须安装必要的库。在此示例中,我们需要一个名为WebSocket客户端的额外库。

PIP安装Windows和Linux的WebSocket客户端。

让我们现在写一些代码。

在您的目录中创建一个新文件,称为testclient.py。新手开发人员可以使用编辑器或记事本/vi来实现这一目标。

当我们建立实时连接时,我们编写的软件应继续执行。线程类和WebSocket Forever()选项应使用。

Importing the libraries

import websocket
import time
try:
     import thread
except ImportError:
    import _thread as thread

f = open("webSocketTester.log", "a")

开发必要的功能
编写功能以处理WebSocket-Client类的回调至关重要。请注意,这些是适用于任何Websocket的标准处理程序。

请访问http://tradermade.com/signup以注册免费的Websocket试用。您可以通过提交登录信息在Open时获得Tradermade Websocket。

def on_message(ws, message):
    print(message)
    f.write("Live fx rates" + message  +  "
" )
    f.flush()

def on_error(ws, error):
    print(error)

def on_close(ws):
    print("### closed ###")

def on_open(ws):
    def run(*args):
        ws.send("{"userKey":"USER_KEY", "symbol":"GBPUSD"}")
    thread.start_new_thread(run, ())

目前我们有记录仪和处理程序。必须使用程序的主要功能创建WebSocket。

if __name__ == "__main__":
    ws = websocket.WebSocketApp("wss://marketdata.tradermade.com/feedadv",
                              on_message = on_message,
                              on_error = on_error,
                              on_close = on_close)
    ws.on_open = on_open
    ws.run_forever()

立即启动该程序。

$ python testclient.py Windows

$ sudo python3 testclient.py on Linux

解决问题!现在可以在日志和控制台中获得实时货币利率。

Connected
Live fx rates GBPUSD 1.36897 1.36897 1.368970 20210208-10:31:32.156
Live fx rates GBPUSD 1.36897 1.36898 1.368975 20210208-10:31:32.502
Live fx rates GBPUSD 1.36897 1.36897 1.368970 20210208-10:31:32.757
Live fx rates GBPUSD 1.36904 1.36904 1.369040 20210208-10:31:33.057
Live fx rates GBPUSD 1.36904 1.36905 1.369045 20210208-10:31:33.948
Live fx rates GBPUSD 1.36904 1.36904 1.369040 20210208-10:31:34.860
Live fx rates GBPUSD 1.36904 1.36905 1.369045 20210208-10:31:35.156

我在下面包含了整个代码。同样,您可以通过遵循以下链接来预先使用用户密钥填充代码:

https://marketdata.tradermade.com/streaming-data-documentation#wsPython

另外,请查看我们网站上最初发布的教程:
Python WebSocket Client - Real Time Forex