>>在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 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
[Bitfinex] 通过Honey框架和Bitfinex终端执行您的交易策略
2020-12-12 wanbizu AI 来源:区块链网络
LOADING...
相关阅读:
- 金佳说币:12.12ETH晚间行情分析与操作建议:2020-12-12
- 金佳说币:12.12大饼晚间行情分与操作策略2020-12-12
- 币圈总裁:12.12以太坊晚间操作策略2020-12-12
- 黑马论币:12.12午间BTC及ETH行情分析操作策略2020-12-12
- 程雪谈币:午间分析+策略复盘2020-12-12