首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

量化交易之从OTCBTC上获得价格信息(五)

昨天我们做了“从OTCBTC上获得市场信息”,也就是“OTCBTC都有什么币在交易”;

今天我们实作“币币交易”的市场行情!

这是最终的成果,我们接下来看看怎么实现;

第一步:初始专案

rails new api_otcbtc_tickers

cd api_otcbtc_tickers

git init

第二步:建立Ticker Model

编辑Gemfile加上gem 'rest-client',然后执行bundle

执行rails g model ticker

编辑ticker的migration档案db/migrate/201703XXXXXXXX_create_tickers.rb:

db/migrate/201703XXXXXXXX_create_tickers.rb

classCreateTickers

defchange

create_table:tickersdo|t|

+ t.string:ticker_id

+ t.string:at

+ t.numeric:buy

+ t.numeric:sell

+ t.numeric:low

+ t.numeric:high

+ t.numeric:last

+ t.numeric:vol

t.timestamps

end

+ add_index:tickers,:ticker_id

end

end

接着执行rake db:migrate建立数据库table。

第三步:抓取资料储存下来

新增lib/tasks/dev.rake,放在这个目录下的rake档案是用来编写任务脚本,让我们在Terminal中可以执行它;

lib/tasks/dev.rake

namespace :devdo

task :fetch_ticker => :environmentdo

puts"Fetch ticker data..."

response = RestClient.get"https://bb.otcbtc.com/api/v2/tickers"

data= JSON.parse(response.body)

data.eachdo|key,value|

existing_ticker = Ticker.find_by_ticker_id(key)

nextunless existing_ticker.nil?

ticker_data =value["ticker"]

Ticker.create!( ticker_id:key,

at:value["at"],

buy: ticker_data["buy"],

sell: ticker_data["sell"],

low: ticker_data["low"],

high: ticker_data["high"],

last: ticker_data["last"],

vol: ticker_data["vol"]

end

puts"Total: # tickers"

end

end

执行bundle exec rake dev:fetch_ticker就会执行这个任务,把300笔ticker存进数据库

第四步:在画面上显示出来

编辑config/routes.rb新增一行resources :tickers

config/routes.rb

Rails.application.routes.drawdo

+resources:tickers

end

执行rails g controller tickers

编辑app/controllers/tickers_controller.rb

app/controllers/cities_controller.rb

classTickersController

+defindex

+ @tickers = Ticker.all

+end

end

新增app/views/tickers/index.html.erb

app/views/tickers/index.html.erb

Ticker

Buy

Sell

Low

High

Last

Vol

启动服务器rails s,打开浏览器http://localhost:3000/tickers就会看到城市资料了。

忘记说了,要安装Bootstrap才会好看。

转载声明:本文转载自「驴妹ing」,搜索「驴妹ing」即可关注。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180324G1ELAV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券