トレール注文を行うサンプル
SBI証券のサイトより。トレール取引は
逆指値注文に値幅指定機能を追加する注文です。逆指値を注文するときに値動きによって売り逆指値価格を引き上げたり、買い逆指値価格を引き下げたりする注文です。
- つまり、以下のような時にトレール注文で発注しておくと、山頂や谷底からトレール幅だけ下げた(上げた)タイミンクで取引を行ってくれます。
- 上昇トレンド中に「このトレンドが山を越えて下げ始めたらすかさず売りたい」とき。
- 下降トレンド中に「このトレンドが谷を越えて上げ始めたらすかさず買いたい」とき。
- 「逆指値注文に値幅指定機能を追加する」機能なので、執行条件は逆指値限定です。
- APIでも執行条件の指定は無視されるようになっています。
以下は、GitHub - unageanu/sbiclientを使ってトレール注文を行うサンプルです。
require 'sbiclient' require 'common' # ログイン c = SBIClient::Client.new c.fx_session( USER, PASS, ORDER_PASS ) {|session| # レートを取得 rates = session.list_rates # トレール注文 # trail_rangeを指定するととレール注文になる。 # 執行条件は逆指値限定なので、指定不要。 begin order_id = session.order( SBIClient::FX::EURJPY, SBIClient::FX::BUY, 1, { :rate=>rates[SBIClient::FX::EURJPY].ask_rate + 0.5, :trail_range=>0.5, :expiration_type=>SBIClient::FX::EXPIRATION_TYPE_TODAY }) print_order( session ) ensure session.cancel_order(order_id.order_no) if order_id end }
実行結果です。
--- order_no : 17214305 trade_type : TRADE_TYPE_NEW order_type : TRAIL execution_expression : REVERSE_LIMIT_ORDER sell_or_buy : BUY pair : EURJPY count : 1 rate : 132.71 order_state : 発注中