読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

通常注文と決済を行うサンプル

さて、知らない間に「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回あたり数百円の損が発生します。デモ取引等でお試し願います。