超初心者です、恐縮です。
bitflyerのapiを使用してRubyで自動売買を作ってますが、つまづいていますので質問します。
注文時、売買値設定のbodyはシングルクォートで囲まれていますが、ここに変数で指値をする場合どのように書けばいいのかが全く分かりません。
ご教示いただければ幸いです。
参考までに以下が使用しているbitflyer apiの注文です。
IFD注文用にしておりますが、body内parameterのpriceを別途指定した変数にしたいのですが、そもそも上記のようにbodyがシングルクォートで囲まれており変数展開できません。
require "net/http"
require "uri"
require "openssl"
key = "API KEY "
secret = " YOUR API SECRET "
timestamp = Time.now.to_i.to_s
method = "POST"
uri = URI.parse("https://api.bitflyer.jp")
uri.path = "/v1/me/sendparentorder"
body = '{
"order_method": "IFD",
"minute_to_expire": 10000,
"time_in_force": "GTC",
"parameters": [{
"product_code": "FX_BTC_JPY",
"condition_type": "LIMIT",
"side": "BUY",
"price": buy_order,
"size": 0.1
},
{
"product_code": "FX_BTC_JPY",
"condition_type": "LIMIT",
"side": "SELL",
"price": sell_order,
"size": 0.1
}]
}'
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)
試したこと
定数を指定した場合問題なく発注できました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/08 02:37