LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > [Bitfinex] 通过Honey框架和Bitfinex终端执行您的交易策略

[Bitfinex] 通过Honey框架和Bitfinex终端执行您的交易策略

2020-12-12 wanbizu AI 来源:区块链网络

>>在Bitfinex上查看

最近,我们了解了回测策略如何与Bitfinex Terminal数据流一起使用。 在其核心中,数据流是通过类似于BitTorrent的P2P技术共享的免费Dazaar提要。 但是与BitTorrent不同,可以对数据进行加密验证并且可以流式传输。 我们可以从中间请求数据集的帧,也可以决定仅跟随实时流添加最新内容。 当然,也可以下载整个数据集。

在本文中,我们将使用在Bitfinex终端上流式传输的数据来执行实时策略。 为了演示起见,将生成的交易信号发送到Bitfinex Websocket API。 但是,实际上,我们可以对它们执行任何操作。 即使您想在每次交易策略时都使用Raspberry Pi打开咖啡机电源,也可以这样做!

对于我们的教程,我们使用一种流行的策略,即EMA交叉策略。 当两个EMA指标相互交叉时,它将发出交易信号。 EMA Cross策略是bfx-hf-strategy库中的示例之一。

开始吧

首先,我们必须安装所需的依赖项:

npm install dazaar hyperbee bitfinex-terminal-key-encoding bfx-hf-util bfx-hf-strategy bfx-hf-strategy-dazaar bitfinex-api-node bfx-api-node-models bitfinex-terminal-term-of-use

我们还需要创建一个文件,其中将包含我们编写的代码,我们将其称为exec-strategy.js:

触摸exec-strategy.js

现在我们可以加载所需的依赖项。 我们的回测教程的读者会发现一些相似之处:

const dazaar = require(’dazaar’)const swarm = require(’dazaar / swarm’)const Hyperbee = require(’hyperbee’)const keyEncoding = require(’bitfinex-terminal-key-encoding’)const terms = require(’ bitfinex-terminal-terms-of-use”const {SYMBOLS,TIME_FRAMES} = require(’bfx-hf-util’)const EMAStrategy = require(’bfx-hf-strategy / examples / ema_cross’)const execDazaar = require( ‘bfx-hf-strategy-dazaar’)

我们还将加载并初始化Bitfinex Websocket客户端。 为了使它起作用,您必须用您的凭据替换占位符:

const {WSv2} = require(’bitfinex-api-node’)const {Order} = require(’bfx-api-node-models’)const apiKey =’SECRET’const apiSecret =“ SECRETSECRET” const ws =新的WSv2( {apiKey,apiSecret})

接下来,我们初始化策略:

const market = {符号:SYMBOLS.BTC_USD,tf:TIME_FRAMES.ONE_MINUTE} const strat = EMAStrategy(市场)

初始化Dazaar:

const dmarket = dazaar(’dbs / terminal-live’)//将接收到的数据存储在dbs / terminal-live中

使用wget,我们可以提取Dazaar卡以获取要使用的数据提要。 数据馈送概述可在此处找到。

wget https://raw.githubusercontent.com/bitfinexcom/bitfinex-terminal/master/cards/bitfinex.terminal.btcusd.trades.json

该卡已装入Dazaar,并在我们阅读以下内容后同意将其装入Dazaar:服务条款:

const card = require(’./ bitfinex.terminal.btcusd.candles.json’)const Buyer = dmarket.buy(card,{sparse:true,terms})

如果Dazaar发出feed事件,我们将设置Hyperbee并调用一个名为runStrategy的函数:

Buyer.on(’feed’,function(){console.log(’got feed’)const db = new Hyperbee(buyer.feed,{keyEncoding,valueEncoding:’json’})runStrategy(db)})

到目前为止,我们的大多数设置都类似于上一篇文章中用于回测的设置。 现在我们必须定义函数runStrategy,这使我们能够对策略中的交易信号进行处理:

异步功能runStrategy(db){}

函数runStrategy将设置在收到的每个蜡烛上运行我们的策略的逻辑。 首先,我们打开Websocket进入Bitfinex API。

等待ws.open()等待ws.auth()

我们还设置了数据流。 我们将execDazaar与我们的策略,定义的市场和Hyperbee数据库联系起来。 作为选项,我们传入了SubmitOrder,这是我们稍后将编写的自定义函数。 我们的策略发出的每个交易信号都会被调用commitOrder。 SimulationFill选项使我们不必等待交易所完全完成订单,这对我们的教程很有用。 Honey Framework中内置的commitOrder-function也通过WebSocket提交订单,并在继续执行之前等待订单被填写。 在生产中,您可能要使用内置的,这取决于您的策略和用例。 我们还设定了策略状态,我们使用了120支蜡烛。

const {exec,stream} =等待execDazaar(strat,market,db,{SubmitOrder,SimulationFill:true,includeTrades:false,seedCandleCount:120})

execDazaar返回一个流和一个称为exec的函数。 我们在流中发送的每个条目上调用exec:

用于等待(流的const数据){const {键,值} =数据等待exec(键,值)}

我们的功能runStrategy现在已完成,这是完整功能:

异步函数runStrategy(db){await ws.open()await ws.auth()const {exec,stream} = await execDazaar(strat,market,db,{SubmitOrder,SimulationFill:true,includeTrades:false,seedCandleCount:10} )等待(流的常量数据){const {key,value} =数据等待exec(key,value)}}

我们仍然必须定义函数submitOrder。 对于从EMA交叉策略发出的每个信号,都会使用策略的当前状态和订单数据来调用commitOrder。 在我们的例子中,我们获取订单数据并将其发送到Bitfinex。 我们写了一个简化的版本

异步函数SubmitOrder(strategyState = {},order = {}){const _o = {cid:Date.now(),… order} console.log(’submitting order’,_o)const o = new Order(_o ,ws)o.registerListeners()o.on(’update’,()=> {console.log(`订单更新:$ {o.serialize()}`)})const res = await o.submit()返回res}

要开始一切,我们必须连接到网络,这将触发供稿事件:

群(买方)

现在,我们运行文件时,将花费最后120支蜡烛,并使用它预先植入策略算法。 然后它将跟随新蜡烛的实时直播,并在其上运行我们的策略。 如果产生交易信号,则将其提交给Bitfinex API。 您可以在此处找到我们在本文中编写的完整文件。

就是这样! 在本文中,我们学习了如何采取Honey Framework策略,从Bitfinex Terminal馈入数据以及提交交易信号进行交易。 借助自定义的SubmitOrder函数,我们可以构建交易策略所基于的自定义功能。 希望您喜欢这篇文章。

PS:Bitfinex正在招聘

使用Honey Framework和Bitfinex Terminal执行您的交易策略一文首先出现在Bitfinex博客上。

>>在Bitfinex上查看

帖子 [Bitfinex] 使用Honey Framework执行您的交易策略,Bitfinex Terminal首先出现在AZCoin新闻上。

—-

原文链接:https://azcoinnews.com/bitfinex-execute-your-trading-strategy-with-the-honey-framework-and-bitfinex-terminal.html

原文作者:AymT

编译者/作者:wanbizu AI

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...