ビットコインの自動売買プログラムを作る①APIいじってみる〜
bitflyerのAPIを使ってビットコインの売買が結構かんたんにできちゃいます。
以下のページから使いたいAPIを探します。 全部日本語で書いてあるので、嬉しいですね。
こちらでサンプルコードが載っているので、ほぼまんまコピペで簡単にAPIを使えちゃえます。
これは至れり尽くせり。
sendchildorder.rb
require "net/http" require "uri" require "openssl" require "./key" key = API_KEY secret = API_SECRET timestamp = Time.now.to_i.to_s method = "POST" uri = URI.parse("https://api.bitflyer.jp") uri.path = "/v1/me/sendchildorder" body = '{ "product_code": "BTC_JPY", "child_order_type": "LIMIT", "side": "BUY", "price": 740000, "size": 0.001, "minute_to_expire":1200 , "time_in_force": "GTC" }' text = timestamp + method + uri.request_uri + body sign = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha256"), secret, text) options = Net::HTTP::Post.new(uri.request_uri, initheader = { "ACCESS-KEY" => key, "ACCESS-TIMESTAMP" => timestamp, "ACCESS-SIGN" => sign, "Content-Type" => "application/json" }); options.body = body https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true response = https.request(options) puts response.body
key.rb
API_KEY = "XXXXXXXXXX" API_SECRET = "XXXXXXXXXXXXXXXXXXXX"
これで740,000円で買い注文が出せました。
調整する部分は
"product_code": "BTC_JPY", # BTCとJPY "child_order_type": "LIMIT", # 指値注文 "side": "BUY", # 買い注文 "price": 740000, # 740,000円 "size": 0.001, # 0.001BTC "minute_to_expire":1200 , # 有効期限 1200分 "time_in_force": "GTC"
の部分だけです。
これをうまいことチューニングするだけで果たして儲かるのでしょうか〜
次回は、価格がどんな風に動いているのか、できるだけ細かくログを取ってみます