無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

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

OCO注文を行うサンプル

ClickClientを使ってOCO注文を行うサンプルです。

require 'rubygems'
require 'clickclient'

USER = "<ユーザー名>"
PASS = "<パスワード>"

c = ClickClient::Client.new 
# 接続先ホストをデモ取引用ホストに切り替える。
c.host_name = "https://fx-demo.click-sec.com"
c.fx_session( USER, PASS ) { | fx_session |
  
  # 現在のレートを取得
  rate = fx_session.list_rates[ClickClient::FX::EURJPY]
  base_rate = rate.ask_rate

  # OCOで注文。
  # 第4引数で指値レートと 逆指値レートを指定するとOCO注文となる。
  order = fx_session.order( ClickClient::FX::EURJPY, ClickClient::FX::BUY, 1, {
    :rate=>rate.ask_rate - 0.5, # 指値レート
    :stop_order_rate=>rate.ask_rate + 0.5, # 逆指値レート
    :expiration_type=>ClickClient::FX::EXPIRATION_TYPE_TODAY  # 有効期限: 当日限り 
  }) 
  puts "\n---OCO注文"
  puts "指値注文番号 : #{order.limit_order_no}"
  puts "逆指値注文番号 : #{order.stop_order_no}"

  #キャンセル
  #指値注文番号・逆指値注文番号のいずれか一方をキャンセルすると他方もキャンセルされる。
  fx_session.cancel_order( order.stop_order_no ) 
  #fx_session.cancel_order( order.limit_order_no )   
}

実行結果です。

---OCO注文
指値注文番号 : 10005463422
逆指値注文番号 : 10005463423