OCO注文を行うサンプル
ClickClientを使ってOCO注文を行うサンプルです。
- OCO注文は、指値/逆指値での注文を同時に行い、どちらかが約定すると他方はキャンセルされる注文方式です。
- 使いみちはFX Beginners - OCO(オーシーオー)注文が詳しい。
- ClickClientでは、注文時に指値レート(:rate)と逆指値レート(:stop_order_rate)の両方を指定すると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