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

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

指値・逆指値で発注するサンプル

Ruby ClickClient

ClickClientを利用して、指値・逆指値で発注するサンプルです。

  • FxSession#orderの第4引数として以下を指定すると指値注文となります。
    • レート(:rate) .. 指値注文するレートを指定します。
    • 執行条件(:execution_expression) .. 「ClickClient::FX::EXECUTION_EXPRESSION_LIMIT_ORDER」を指定します。
  • 同様に、以下を指定すると指値注文となります。
    • レート(:rate) .. 逆指値とするレートを指定します。
    • 執行条件(:execution_expression) .. 「ClickClient::FX::EXECUTION_EXPRESSION_REVERSE_LIMIT_ORDER」を指定します。
  • どちらの場合も、「:expiration_type」で注文の有効期限を指定できます。
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

  # 指値で注文。
  # 第4引数でレートと執行条件:指値を指定すると指値注文となる。
  order = fx_session.order( ClickClient::FX::EURJPY, ClickClient::FX::BUY, 1, {
    :rate=>rate.ask_rate - 0.5, # 指値レート
    :execution_expression=>ClickClient::FX::EXECUTION_EXPRESSION_LIMIT_ORDER, # 執行条件: 指値 
    :expiration_type=>ClickClient::FX::EXPIRATION_TYPE_TODAY  # 有効期限: 当日限り 
  }) 
  puts "\n---指値注文"
  puts "建玉番号 : #{order.open_interest_no}"
  puts "注文番号 : #{order.order_no}"

  #注文キャンセル
  fx_session.cancel_order( order.order_no )   
  
  
  # 逆指値で注文。
  # 第4引数でレートと執行条件:逆指値を指定すると逆指値注文となる。
  order = fx_session.order( ClickClient::FX::EURJPY, ClickClient::FX::BUY, 1, {
    :rate=>rate.ask_rate + 0.5, # 逆指値レート
    :execution_expression=>ClickClient::FX::EXECUTION_EXPRESSION_REVERSE_LIMIT_ORDER, # 執行条件: 逆指値 
    :expiration_type=>ClickClient::FX::EXPIRATION_TYPE_TODAY  # 有効期限: 当日限り 
  }) 
  puts "\n---逆指値注文"
  puts "建玉番号 : #{order.open_interest_no}"
  puts "注文番号 : #{order.order_no}"

  #注文キャンセル
  fx_session.cancel_order( order.order_no )   
}

実行結果です。

---指値注文
建玉番号 : 
注文番号 : 10005165580

---逆指値注文
建玉番号 : 
注文番号 : 10005165581