通常注文と決済を行うサンプル
さて、知らない間に「ClickClient」のダウンロード数が100件を超えていたので(旧バージョンも併せてだけど)、ちょっとサンプルコードでも書いていこうかなと思います。ClickClientの説明でも通貨ペアの一覧取得ぐらいしか載せてなかったしなー。
ということで、以下は、ClickClientを利用して通常注文(円でドルを買う)と決済(買ったドルを円に換える)を行うサンプルです。
require 'rubygems' require 'clickclient' require 'date' USER = "ユーザー名" PASS = "パスワード" c = ClickClient::Client.new # 接続先ホストをデモ取引用ホストに切り替える。 c.host_name = "https://fx-demo.click-sec.com" c.fx_session( USER, PASS ) { | fx_session | # 買い order = fx_session.order( ClickClient::FX::USDJPY, ClickClient::FX::BUY, 1 ) puts "---買い注文" puts "建玉番号 : #{order.open_interest_no}" puts "注文番号 : #{order.order_no}" # ちょっと待つ sleep 1 #注文確認 orders = fx_session.list_orders( ClickClient::FX::ORDER_CONDITION_ALL, ClickClient::FX::USDJPY, Date.today, Date.today ) puts "\n---買い注文結果" o = orders[order.order_no] puts "買いレート : #{o.rate}" puts "数量 : #{o.trade_quantity}" # 決済 puts "\n---決済注文" result = fx_session.settle( order.open_interest_no, 1) puts "決済注文番号 : #{result.settlement_order_no}" # ちょっと待つ sleep 1 #注文確認 orders = fx_session.list_orders( ClickClient::FX::ORDER_CONDITION_ALL, ClickClient::FX::USDJPY, Date.today, Date.today ) puts "\n---決済注文結果" s = orders[result.settlement_order_no] puts "損益 : #{s.settlement_rate*s.trade_quantity - o.rate*s.trade_quantity}" puts "決済レート : #{s.settlement_rate}" puts "数量 : #{s.trade_quantity}" }
実行結果です。
---買い注文 建玉番号 : 10005146454 注文番号 : 10005146454 ---買い注文結果 買いレート : 91.17 数量 : 10000 ---決済注文 決済注文番号 : 10005146455 ---決済注文結果 損益 : -300.0 決済レート : 91.14 数量 : 10000
なお、注文後即座に約定するので1回あたり数百円の損が発生します。デモ取引等でお試し願います。