本教程演示了如何使用nodejs和axios开发直接的JavaScript服务器端应用程序。本课程将假定您对Nodejs一无所知,但是如果您对JavaScript语法具有一些编程专业知识,那将是有益的。如果JavaScript和nodejs(Node.js)不是您的首选语言,我们还提供Python,PHP,C#和Golang实现。
在开始安装必要的零件之前。让我们快速回顾一下本教程打算完成的工作。设置开发环境的第一步是下载和安装nodejs(node.js),之后我们将编写一些代码以访问交易的REST API并获得实时外汇和CFD(indices)数据(服务器端) )。
教程的概述
下载,安装和设置Node.js
开始免费试用Tradermade Data API(永远每月1000个免费电话....)
建立用于数据检索的nodejs(node.js)
数据解析并在屏幕上显示
让我们开始
在Mac或Windows计算机上安装nodejs(node.js):
访问nodejs.org获取nodejs。
运行安装并遵守设置。
在命令提示中键入节点。
linux:
以root或sudo用户的方式运行apt-get安装nodejs。
现在键入node -v以验证安装。您会收到类似v14.8.1的东西
对于您的软件和相关库,制作目录。
安装nodejs后打开命令窗口或终端以获取启动我们客户端所需的依赖关系(库)。运行以下命令使用Axios库进行HTTP请求:
npm i axios
创建一个帐户并获取API密钥。
您可以注册并创建一个帐户以获取欢迎电子邮件。如果您已经与我们注册以获取钥匙,请登录仪表板。
nodejs(node.js)休息客户端安装并获取当前的外汇和CFD数据。
现在设置了环境。转到您刚刚制作的目录,然后在那里启动文件。我的程序将被称为tmsdataclient.js。记事本,Atom VS代码,Linux上的VI或您的首选编辑器都应该能够打开文件。
现在让我们开始编码。
我们将首先导入Axios库。
const axios = require('axios');
然后,实时端点的URL将传递给我们创建的get命令。您必须在以下代码中调整要调用的货币并更换API密钥。在此示例中,我们将使用一些FX对和CFD,因为它们都会产生略有不同的结果。
axios.get('https://marketdata.tradermade.com/api/v1/live?currency=EURUSD,GBPUSD,UK100&api_key=YOUR_API_KEY')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
我们在文件所在的目录中打开命令提示符,然后输入以下命令以启动程序。
node TMSdataClient.js
您应该看到类似这些结果:
{
endpoint: 'live',
quotes: [
{
ask: 1.16411,
base_currency: 'EUR',
bid: 1.1641,
mid: 1.1641,
quote_currency: 'USD'
},
{
ask: 1.38079,
base_currency: 'GBP',
bid: 1.38078,
mid: 1.38078,
quote_currency: 'USD'
},
{ ask: 7199.3,
bid: 7198.2,
instrument: 'UK100',
mid: 7198.75
}
],
requested_time: 'Thu, 21 Oct 2021 08:42:21 GMT',
timestamp: 1634805742
}
这是RAW JSON,因此我们现在将花费一些精力来迭代地处理JSON数据并以更可读性的方式产生输出。由于CFD只有一个仪器文件,而不是基本货币和报价货币,因此我们添加了一个IF语句以检查基本货币。然后提取每个报价的出价和询问值。
for (quote in response.data.quotes){
quoteData = response.data.quotes[quote];
ccy = ""
if ( quoteData["base_currency"] != undefined){
ccy = quoteData["base_currency"] + quoteData["quote_currency"]
}else{
ccy = quoteData["instrument"]
}
console.log(" Symbol " + ccy + " Bid " + quoteData["bid"] + " Ask " + quoteData["ask"])
}
如果我们重新运行该程序,我们将获得以下解析的输出:
Symbol EURUSD Bid 1.16416 Ask 1.16417
Symbol GBPUSD Bid 1.38078 Ask 1.38079
Symbol UK100 Bid 7199.4 Ask 7200.6
我们在此插图中采用了实时终点。但是,相同的代码将在所有其他交易端点上运行,并进行非常小的调整。有关更多详细信息,请参阅我们的文档页面。
用户拥有的任何编程语言都是我们准备协助的。如果您有任何建议或想法,请联系。我们将来会收到您的来信。
另外,遍历我们的其他教程:
Forex Crypto and CFD REST JSON with Java
How to Write Your First JavaScript REST Client (Server Side)