IFD-OCO注æãè¡ããµã³ãã«
IFD-OCO注æã®åä½ç¢ºèªãå®äºã
âGitHub - unageanu/sbiclient
- IFD-OCO注æã¯ãæå¤oréæå¤ã§ã®æ³¨æã¨ãããã®æ±ºæ¸æ³¨æx2ãåæã«è¡ãçºæ³¨æ¹æ³ã§ãã
- æ±ºæ¸æ³¨æã¯ã以ä¸ã®2ã¤ãåæã«æå®ã§ãã¾ãã
- APIã¨ãã¦ã¯ã通常の注文ã«å ãã¦ãæ±ºæ¸æ³¨æã¬ã¼ãã¨æ±ºæ¸æ³¨æéæå¤ã¬ã¼ããæå®ãããã¨ã§IFD-OCO注æã«ãªãã¾ãã
require 'sbiclient' require 'common' # ãã°ã¤ã³ c = SBIClient::Client.new c.fx_session( USER, PASS, ORDER_PASS ) {|session| # ã¬ã¼ããåå¾ rates = session.list_rates ## IFD-OCO注æ # :settleã§æ±ºæ¸æ³¨æã¬ã¼ãã¨æ±ºæ¸æ³¨æéæå¤ã¬ã¼ããæå®ããã¨IFD-OCO注æã«ãªã # æå¤ begin order_id = session.order( SBIClient::FX::EURJPY, SBIClient::FX::BUY, 1, { :rate=>rates[SBIClient::FX::EURJPY].ask_rate - 0.5, :settle=> { :rate=>rates[SBIClient::FX::EURJPY].ask_rate + 0.5, :stop_order_rate=>rates[SBIClient::FX::EURJPY].ask_rate - 1 }, :execution_expression=>SBIClient::FX::EXECUTION_EXPRESSION_LIMIT_ORDER, :expiration_type=>SBIClient::FX::EXPIRATION_TYPE_TODAY }) print_order( session ) ensure session.cancel_order(order_id.order_no) if order_id end }
å®è¡çµæã§ãã
--- order_no : 16969279 trade_type : TRADE_TYPE_NEW order_type : IFD_OCO execution_expression : LIMIT_ORDER sell_or_buy : BUY pair : EURJPY count : 1 rate : 133.29 order_state : çºæ³¨ä¸