Class: SnapTrade::TradingApi
- Inherits:
-
Object
- Object
- SnapTrade::TradingApi
- Defined in:
- lib/snaptrade/api/trading_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#cancel_order(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) ⇒ Object
Cancel order.
-
#cancel_order_with_http_info(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) ⇒ Object
Cancel order.
-
#cancel_user_account_order(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) ⇒ Object
Cancel equity order.
-
#cancel_user_account_order_with_http_info(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) ⇒ Object
Cancel equity order.
-
#get_cryptocurrency_pair_quote(user_id:, user_secret:, account_id:, instrument_symbol:, extra: {}) ⇒ Object
Get crypto pair quote.
-
#get_cryptocurrency_pair_quote_with_http_info(user_id:, user_secret:, account_id:, instrument_symbol:, extra: {}) ⇒ Object
Get crypto pair quote.
-
#get_order_impact(account_id:, action:, universal_symbol_id:, order_type:, time_in_force:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) ⇒ Object
Check equity order impact.
-
#get_order_impact_with_http_info(account_id:, action:, universal_symbol_id:, order_type:, time_in_force:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) ⇒ Object
Check equity order impact.
-
#get_user_account_quotes(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {}) ⇒ Object
Get equity symbol quotes.
-
#get_user_account_quotes_with_http_info(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {}) ⇒ Object
Get equity symbol quotes.
-
#initialize(api_client = ApiClient.default) ⇒ TradingApi
constructor
A new instance of TradingApi.
-
#place_bracket_order(action:, instrument:, order_type:, time_in_force:, stop_loss:, take_profit:, account_id:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) ⇒ Object
Place bracket order.
-
#place_bracket_order_with_http_info(action:, instrument:, order_type:, time_in_force:, stop_loss:, take_profit:, account_id:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) ⇒ Object
Place bracket order.
-
#place_crypto_order(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) ⇒ Object
Place crypto order.
-
#place_crypto_order_with_http_info(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) ⇒ Object
Place crypto order.
-
#place_force_order(account_id:, action:, order_type:, time_in_force:, user_id:, user_secret:, universal_symbol_id: SENTINEL, symbol: SENTINEL, trading_session: 'REGULAR', price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) ⇒ Object
Place equity order.
-
#place_force_order_with_http_info(account_id:, action:, order_type:, time_in_force:, user_id:, user_secret:, universal_symbol_id: SENTINEL, symbol: SENTINEL, trading_session: 'REGULAR', price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) ⇒ Object
Place equity order.
-
#place_mleg_order(order_type:, time_in_force:, legs:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, price_effect: SENTINEL, extra: {}) ⇒ Object
Place option order.
-
#place_mleg_order_with_http_info(order_type:, time_in_force:, legs:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, price_effect: SENTINEL, extra: {}) ⇒ Object
Place option order.
-
#place_order(trade_id:, user_id:, user_secret:, wait_to_confirm: SENTINEL, extra: {}) ⇒ Object
Place checked equity order.
-
#place_order_with_http_info(trade_id:, user_id:, user_secret:, wait_to_confirm: SENTINEL, extra: {}) ⇒ Object
Place checked equity order.
-
#preview_crypto_order(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) ⇒ Object
Preview crypto order.
-
#preview_crypto_order_with_http_info(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) ⇒ Object
Preview crypto order.
-
#replace_order(brokerage_order_id:, action:, order_type:, time_in_force:, account_id:, user_id:, user_secret:, price: SENTINEL, symbol: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) ⇒ Object
Replace order.
-
#replace_order_with_http_info(brokerage_order_id:, action:, order_type:, time_in_force:, account_id:, user_id:, user_secret:, price: SENTINEL, symbol: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) ⇒ Object
Replace order.
-
#search_cryptocurrency_pair_instruments(user_id:, user_secret:, account_id:, base: SENTINEL, quote: SENTINEL, extra: {}) ⇒ Object
Get crypto pairs.
-
#search_cryptocurrency_pair_instruments_with_http_info(user_id:, user_secret:, account_id:, base: SENTINEL, quote: SENTINEL, extra: {}) ⇒ Object
Get crypto pairs.
Constructor Details
#initialize(api_client = ApiClient.default) ⇒ TradingApi
Returns a new instance of TradingApi.
16 17 18 |
# File 'lib/snaptrade/api/trading_api.rb', line 16 def initialize(api_client = ApiClient.default) @api_client = api_client end |
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
14 15 16 |
# File 'lib/snaptrade/api/trading_api.rb', line 14 def api_client @api_client end |
Instance Method Details
#cancel_order(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) ⇒ Object
Cancel order
Cancels an order in the specified account. Accepts order IDs for all asset types.
30 31 32 33 34 35 36 |
# File 'lib/snaptrade/api/trading_api.rb', line 30 def cancel_order(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) _body = {} _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL account_information_get_user_account_order_detail_request = _body data, _status_code, _headers = cancel_order_with_http_info_impl(user_id, user_secret, account_id, account_information_get_user_account_order_detail_request, extra) data end |
#cancel_order_with_http_info(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) ⇒ Object
Cancel order
Cancels an order in the specified account. Accepts order IDs for all asset types.
48 49 50 51 52 53 |
# File 'lib/snaptrade/api/trading_api.rb', line 48 def cancel_order_with_http_info(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) _body = {} _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL account_information_get_user_account_order_detail_request = _body cancel_order_with_http_info_impl(user_id, user_secret, account_id, account_information_get_user_account_order_detail_request, extra) end |
#cancel_user_account_order(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) ⇒ Object
Cancel equity order
**This endpoint is deprecated. Please switch to [the new cancel order endpoint](/reference/Trading/Trading_cancelOrder) ** Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected.
155 156 157 158 159 160 161 |
# File 'lib/snaptrade/api/trading_api.rb', line 155 def cancel_user_account_order(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) _body = {} _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL account_information_get_user_account_order_detail_request = _body data, _status_code, _headers = cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, account_information_get_user_account_order_detail_request, extra) data end |
#cancel_user_account_order_with_http_info(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) ⇒ Object
Cancel equity order
**This endpoint is deprecated. Please switch to [the new cancel order endpoint](/reference/Trading/Trading_cancelOrder) ** Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected.
174 175 176 177 178 179 |
# File 'lib/snaptrade/api/trading_api.rb', line 174 def cancel_user_account_order_with_http_info(brokerage_order_id:, user_id:, user_secret:, account_id:, extra: {}) _body = {} _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL account_information_get_user_account_order_detail_request = _body cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, account_information_get_user_account_order_detail_request, extra) end |
#get_cryptocurrency_pair_quote(user_id:, user_secret:, account_id:, instrument_symbol:, extra: {}) ⇒ Object
Get crypto pair quote
Gets a quote for the specified account.
279 280 281 282 |
# File 'lib/snaptrade/api/trading_api.rb', line 279 def get_cryptocurrency_pair_quote(user_id:, user_secret:, account_id:, instrument_symbol:, extra: {}) data, _status_code, _headers = get_cryptocurrency_pair_quote_with_http_info_impl(user_id, user_secret, account_id, instrument_symbol, extra) data end |
#get_cryptocurrency_pair_quote_with_http_info(user_id:, user_secret:, account_id:, instrument_symbol:, extra: {}) ⇒ Object
Get crypto pair quote
Gets a quote for the specified account.
293 294 295 |
# File 'lib/snaptrade/api/trading_api.rb', line 293 def get_cryptocurrency_pair_quote_with_http_info(user_id:, user_secret:, account_id:, instrument_symbol:, extra: {}) get_cryptocurrency_pair_quote_with_http_info_impl(user_id, user_secret, account_id, instrument_symbol, extra) end |
#get_order_impact(account_id:, action:, universal_symbol_id:, order_type:, time_in_force:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) ⇒ Object
Check equity order impact
Simulates an order and its impact on the account. This endpoint does not place the order with the brokerage. If successful, it returns a ‘Trade` object and the ID of the object can be used to place the order with the brokerage using the [place checked order endpoint](/reference/Trading/Trading_placeOrder). Please note that the `Trade` object returned expires after 5 minutes. Any order placed using an expired `Trade` will be rejected.
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 |
# File 'lib/snaptrade/api/trading_api.rb', line 398 def get_order_impact(account_id:, action:, universal_symbol_id:, order_type:, time_in_force:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) _body = {} _body[:account_id] = account_id if account_id != SENTINEL _body[:action] = action if action != SENTINEL _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:price] = price if price != SENTINEL _body[:stop] = stop if stop != SENTINEL _body[:units] = units if units != SENTINEL _body[:notional_value] = notional_value if notional_value != SENTINEL manual_trade_form = _body data, _status_code, _headers = get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra) data end |
#get_order_impact_with_http_info(account_id:, action:, universal_symbol_id:, order_type:, time_in_force:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) ⇒ Object
Check equity order impact
Simulates an order and its impact on the account. This endpoint does not place the order with the brokerage. If successful, it returns a ‘Trade` object and the ID of the object can be used to place the order with the brokerage using the [place checked order endpoint](/reference/Trading/Trading_placeOrder). Please note that the `Trade` object returned expires after 5 minutes. Any order placed using an expired `Trade` will be rejected.
431 432 433 434 435 436 437 438 439 440 441 442 443 444 |
# File 'lib/snaptrade/api/trading_api.rb', line 431 def get_order_impact_with_http_info(account_id:, action:, universal_symbol_id:, order_type:, time_in_force:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) _body = {} _body[:account_id] = account_id if account_id != SENTINEL _body[:action] = action if action != SENTINEL _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:price] = price if price != SENTINEL _body[:stop] = stop if stop != SENTINEL _body[:units] = units if units != SENTINEL _body[:notional_value] = notional_value if notional_value != SENTINEL manual_trade_form = _body get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra) end |
#get_user_account_quotes(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {}) ⇒ Object
Get equity symbol quotes
Returns quotes from the brokerage for the specified symbols and account.
The quotes returned can be delayed depending on the brokerage the account belongs to. It is highly recommended that you use your own market data provider for real-time quotes instead of relying on this endpoint.
This endpoint does not work for options quotes.
This endpoint is disabled for free plans by default. Please contact support to enable this endpoint if needed.
545 546 547 548 549 |
# File 'lib/snaptrade/api/trading_api.rb', line 545 def get_user_account_quotes(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {}) extra[:use_ticker] = use_ticker if use_ticker != SENTINEL data, _status_code, _headers = get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, extra) data end |
#get_user_account_quotes_with_http_info(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {}) ⇒ Object
Get equity symbol quotes
Returns quotes from the brokerage for the specified symbols and account.
The quotes returned can be delayed depending on the brokerage the account belongs to. It is highly recommended that you use your own market data provider for real-time quotes instead of relying on this endpoint.
This endpoint does not work for options quotes.
This endpoint is disabled for free plans by default. Please contact support to enable this endpoint if needed.
567 568 569 570 |
# File 'lib/snaptrade/api/trading_api.rb', line 567 def get_user_account_quotes_with_http_info(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {}) extra[:use_ticker] = use_ticker if use_ticker != SENTINEL get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, extra) end |
#place_bracket_order(action:, instrument:, order_type:, time_in_force:, stop_loss:, take_profit:, account_id:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) ⇒ Object
Place bracket order
Places a bracket order (entry order + OCO of stop loss and take profit). Disabled by default please contact support for use. Only supported on certain brokerages
679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 |
# File 'lib/snaptrade/api/trading_api.rb', line 679 def place_bracket_order(action:, instrument:, order_type:, time_in_force:, stop_loss:, take_profit:, account_id:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) _body = {} _body[:action] = action if action != SENTINEL _body[:instrument] = instrument if instrument != SENTINEL _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:price] = price if price != SENTINEL _body[:stop] = stop if stop != SENTINEL _body[:units] = units if units != SENTINEL _body[:stop_loss] = stop_loss if stop_loss != SENTINEL _body[:take_profit] = take_profit if take_profit != SENTINEL manual_trade_form_bracket = _body data, _status_code, _headers = place_bracket_order_with_http_info_impl(account_id, user_id, user_secret, manual_trade_form_bracket, extra) data end |
#place_bracket_order_with_http_info(action:, instrument:, order_type:, time_in_force:, stop_loss:, take_profit:, account_id:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) ⇒ Object
Place bracket order
Places a bracket order (entry order + OCO of stop loss and take profit). Disabled by default please contact support for use. Only supported on certain brokerages
714 715 716 717 718 719 720 721 722 723 724 725 726 727 |
# File 'lib/snaptrade/api/trading_api.rb', line 714 def place_bracket_order_with_http_info(action:, instrument:, order_type:, time_in_force:, stop_loss:, take_profit:, account_id:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) _body = {} _body[:action] = action if action != SENTINEL _body[:instrument] = instrument if instrument != SENTINEL _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:price] = price if price != SENTINEL _body[:stop] = stop if stop != SENTINEL _body[:units] = units if units != SENTINEL _body[:stop_loss] = stop_loss if stop_loss != SENTINEL _body[:take_profit] = take_profit if take_profit != SENTINEL manual_trade_form_bracket = _body place_bracket_order_with_http_info_impl(account_id, user_id, user_secret, manual_trade_form_bracket, extra) end |
#place_crypto_order(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) ⇒ Object
Place crypto order
Places an order in the specified account. This endpoint does not compute the impact to the account balance from the order before submitting the order.
837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 |
# File 'lib/snaptrade/api/trading_api.rb', line 837 def place_crypto_order(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) _body = {} _body[:instrument] = instrument if instrument != SENTINEL _body[:side] = side if side != SENTINEL _body[:type] = type if type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:amount] = amount if amount != SENTINEL _body[:limit_price] = limit_price if limit_price != SENTINEL _body[:stop_price] = stop_price if stop_price != SENTINEL _body[:post_only] = post_only if post_only != SENTINEL _body[:expiration_date] = expiration_date if expiration_date != SENTINEL crypto_order_form = _body data, _status_code, _headers = place_crypto_order_with_http_info_impl(user_id, user_secret, account_id, crypto_order_form, extra) data end |
#place_crypto_order_with_http_info(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) ⇒ Object
Place crypto order
Places an order in the specified account. This endpoint does not compute the impact to the account balance from the order before submitting the order.
872 873 874 875 876 877 878 879 880 881 882 883 884 885 |
# File 'lib/snaptrade/api/trading_api.rb', line 872 def place_crypto_order_with_http_info(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) _body = {} _body[:instrument] = instrument if instrument != SENTINEL _body[:side] = side if side != SENTINEL _body[:type] = type if type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:amount] = amount if amount != SENTINEL _body[:limit_price] = limit_price if limit_price != SENTINEL _body[:stop_price] = stop_price if stop_price != SENTINEL _body[:post_only] = post_only if post_only != SENTINEL _body[:expiration_date] = expiration_date if expiration_date != SENTINEL crypto_order_form = _body place_crypto_order_with_http_info_impl(user_id, user_secret, account_id, crypto_order_form, extra) end |
#place_force_order(account_id:, action:, order_type:, time_in_force:, user_id:, user_secret:, universal_symbol_id: SENTINEL, symbol: SENTINEL, trading_session: 'REGULAR', price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) ⇒ Object
Place equity order
Places a brokerage order in the specified account. The order could be rejected by the brokerage if it is invalid or if the account does not have sufficient funds.
This endpoint does not compute the impact to the account balance from the order and any potential commissions before submitting the order to the brokerage. If that is desired, you can use the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact).
It’s recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 |
# File 'lib/snaptrade/api/trading_api.rb', line 999 def place_force_order(account_id:, action:, order_type:, time_in_force:, user_id:, user_secret:, universal_symbol_id: SENTINEL, symbol: SENTINEL, trading_session: 'REGULAR', price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) _body = {} _body[:account_id] = account_id if account_id != SENTINEL _body[:action] = action if action != SENTINEL _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL _body[:symbol] = symbol if symbol != SENTINEL _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:trading_session] = trading_session if trading_session != SENTINEL _body[:price] = price if price != SENTINEL _body[:stop] = stop if stop != SENTINEL _body[:units] = units if units != SENTINEL _body[:notional_value] = notional_value if notional_value != SENTINEL = _body data, _status_code, _headers = place_force_order_with_http_info_impl(user_id, user_secret, , extra) data end |
#place_force_order_with_http_info(account_id:, action:, order_type:, time_in_force:, user_id:, user_secret:, universal_symbol_id: SENTINEL, symbol: SENTINEL, trading_session: 'REGULAR', price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) ⇒ Object
Place equity order
Places a brokerage order in the specified account. The order could be rejected by the brokerage if it is invalid or if the account does not have sufficient funds.
This endpoint does not compute the impact to the account balance from the order and any potential commissions before submitting the order to the brokerage. If that is desired, you can use the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact).
It’s recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 |
# File 'lib/snaptrade/api/trading_api.rb', line 1040 def place_force_order_with_http_info(account_id:, action:, order_type:, time_in_force:, user_id:, user_secret:, universal_symbol_id: SENTINEL, symbol: SENTINEL, trading_session: 'REGULAR', price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {}) _body = {} _body[:account_id] = account_id if account_id != SENTINEL _body[:action] = action if action != SENTINEL _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL _body[:symbol] = symbol if symbol != SENTINEL _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:trading_session] = trading_session if trading_session != SENTINEL _body[:price] = price if price != SENTINEL _body[:stop] = stop if stop != SENTINEL _body[:units] = units if units != SENTINEL _body[:notional_value] = notional_value if notional_value != SENTINEL = _body place_force_order_with_http_info_impl(user_id, user_secret, , extra) end |
#place_mleg_order(order_type:, time_in_force:, legs:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, price_effect: SENTINEL, extra: {}) ⇒ Object
Place option order
Places a multi-leg option order. Only supported on certain option trading brokerages. snaptrade.notion.site/brokerages has information on brokerage trading support
1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 |
# File 'lib/snaptrade/api/trading_api.rb', line 1155 def place_mleg_order(order_type:, time_in_force:, legs:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, price_effect: SENTINEL, extra: {}) _body = {} _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:limit_price] = limit_price if limit_price != SENTINEL _body[:stop_price] = stop_price if stop_price != SENTINEL _body[:price_effect] = price_effect if price_effect != SENTINEL _body[:legs] = legs if legs != SENTINEL mleg_trade_form = _body data, _status_code, _headers = place_mleg_order_with_http_info_impl(user_id, user_secret, account_id, mleg_trade_form, extra) data end |
#place_mleg_order_with_http_info(order_type:, time_in_force:, legs:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, price_effect: SENTINEL, extra: {}) ⇒ Object
Place option order
Places a multi-leg option order. Only supported on certain option trading brokerages. snaptrade.notion.site/brokerages has information on brokerage trading support
1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 |
# File 'lib/snaptrade/api/trading_api.rb', line 1183 def place_mleg_order_with_http_info(order_type:, time_in_force:, legs:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, price_effect: SENTINEL, extra: {}) _body = {} _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:limit_price] = limit_price if limit_price != SENTINEL _body[:stop_price] = stop_price if stop_price != SENTINEL _body[:price_effect] = price_effect if price_effect != SENTINEL _body[:legs] = legs if legs != SENTINEL mleg_trade_form = _body place_mleg_order_with_http_info_impl(user_id, user_secret, account_id, mleg_trade_form, extra) end |
#place_order(trade_id:, user_id:, user_secret:, wait_to_confirm: SENTINEL, extra: {}) ⇒ Object
Place checked equity order
Places the previously checked order with the brokerage. The ‘tradeId` is obtained from the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact). If you prefer to place the order without checking for impact first, you can use the [place order endpoint](/reference/Trading/Trading_placeForceOrder).
It’s recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
1296 1297 1298 1299 1300 1301 1302 |
# File 'lib/snaptrade/api/trading_api.rb', line 1296 def place_order(trade_id:, user_id:, user_secret:, wait_to_confirm: SENTINEL, extra: {}) _body = {} _body[:wait_to_confirm] = wait_to_confirm if wait_to_confirm != SENTINEL extra[:validated_trade_body] = _body if !_body.empty? data, _status_code, _headers = place_order_with_http_info_impl(trade_id, user_id, user_secret, extra) data end |
#place_order_with_http_info(trade_id:, user_id:, user_secret:, wait_to_confirm: SENTINEL, extra: {}) ⇒ Object
Place checked equity order
Places the previously checked order with the brokerage. The ‘tradeId` is obtained from the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact). If you prefer to place the order without checking for impact first, you can use the [place order endpoint](/reference/Trading/Trading_placeForceOrder).
It’s recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
1316 1317 1318 1319 1320 1321 |
# File 'lib/snaptrade/api/trading_api.rb', line 1316 def place_order_with_http_info(trade_id:, user_id:, user_secret:, wait_to_confirm: SENTINEL, extra: {}) _body = {} _body[:wait_to_confirm] = wait_to_confirm if wait_to_confirm != SENTINEL extra[:validated_trade_body] = _body if !_body.empty? place_order_with_http_info_impl(trade_id, user_id, user_secret, extra) end |
#preview_crypto_order(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) ⇒ Object
Preview crypto order
Previews an order using the specified account.
1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 |
# File 'lib/snaptrade/api/trading_api.rb', line 1426 def preview_crypto_order(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) _body = {} _body[:instrument] = instrument if instrument != SENTINEL _body[:side] = side if side != SENTINEL _body[:type] = type if type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:amount] = amount if amount != SENTINEL _body[:limit_price] = limit_price if limit_price != SENTINEL _body[:stop_price] = stop_price if stop_price != SENTINEL _body[:post_only] = post_only if post_only != SENTINEL _body[:expiration_date] = expiration_date if expiration_date != SENTINEL crypto_order_form = _body data, _status_code, _headers = preview_crypto_order_with_http_info_impl(user_id, user_secret, account_id, crypto_order_form, extra) data end |
#preview_crypto_order_with_http_info(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) ⇒ Object
Preview crypto order
Previews an order using the specified account.
1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 |
# File 'lib/snaptrade/api/trading_api.rb', line 1460 def preview_crypto_order_with_http_info(instrument:, side:, type:, time_in_force:, amount:, user_id:, user_secret:, account_id:, limit_price: SENTINEL, stop_price: SENTINEL, post_only: SENTINEL, expiration_date: SENTINEL, extra: {}) _body = {} _body[:instrument] = instrument if instrument != SENTINEL _body[:side] = side if side != SENTINEL _body[:type] = type if type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:amount] = amount if amount != SENTINEL _body[:limit_price] = limit_price if limit_price != SENTINEL _body[:stop_price] = stop_price if stop_price != SENTINEL _body[:post_only] = post_only if post_only != SENTINEL _body[:expiration_date] = expiration_date if expiration_date != SENTINEL crypto_order_form = _body preview_crypto_order_with_http_info_impl(user_id, user_secret, account_id, crypto_order_form, extra) end |
#replace_order(brokerage_order_id:, action:, order_type:, time_in_force:, account_id:, user_id:, user_secret:, price: SENTINEL, symbol: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) ⇒ Object
Replace order
Replaces an existing pending order with a new one. The way this works is brokerage dependent, but usually involves cancelling the existing order and placing a new one. The order’s brokerage_order_id may or may not change, be sure to use the one returned in the response going forward. Only supported on some brokerages
1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 |
# File 'lib/snaptrade/api/trading_api.rb', line 1583 def replace_order(brokerage_order_id:, action:, order_type:, time_in_force:, account_id:, user_id:, user_secret:, price: SENTINEL, symbol: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) _body = {} _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL _body[:action] = action if action != SENTINEL _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:price] = price if price != SENTINEL _body[:symbol] = symbol if symbol != SENTINEL _body[:stop] = stop if stop != SENTINEL _body[:units] = units if units != SENTINEL manual_trade_replace_form = _body data, _status_code, _headers = replace_order_with_http_info_impl(account_id, user_id, user_secret, manual_trade_replace_form, extra) data end |
#replace_order_with_http_info(brokerage_order_id:, action:, order_type:, time_in_force:, account_id:, user_id:, user_secret:, price: SENTINEL, symbol: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) ⇒ Object
Replace order
Replaces an existing pending order with a new one. The way this works is brokerage dependent, but usually involves cancelling the existing order and placing a new one. The order’s brokerage_order_id may or may not change, be sure to use the one returned in the response going forward. Only supported on some brokerages
1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 |
# File 'lib/snaptrade/api/trading_api.rb', line 1617 def replace_order_with_http_info(brokerage_order_id:, action:, order_type:, time_in_force:, account_id:, user_id:, user_secret:, price: SENTINEL, symbol: SENTINEL, stop: SENTINEL, units: SENTINEL, extra: {}) _body = {} _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL _body[:action] = action if action != SENTINEL _body[:order_type] = order_type if order_type != SENTINEL _body[:time_in_force] = time_in_force if time_in_force != SENTINEL _body[:price] = price if price != SENTINEL _body[:symbol] = symbol if symbol != SENTINEL _body[:stop] = stop if stop != SENTINEL _body[:units] = units if units != SENTINEL manual_trade_replace_form = _body replace_order_with_http_info_impl(account_id, user_id, user_secret, manual_trade_replace_form, extra) end |
#search_cryptocurrency_pair_instruments(user_id:, user_secret:, account_id:, base: SENTINEL, quote: SENTINEL, extra: {}) ⇒ Object
Get crypto pairs
Searches cryptocurrency pairs instruments accessible to the specified account. Both ‘base` and `quote` are optional. Omit both for a full list of cryptocurrency pairs.
1730 1731 1732 1733 1734 1735 |
# File 'lib/snaptrade/api/trading_api.rb', line 1730 def search_cryptocurrency_pair_instruments(user_id:, user_secret:, account_id:, base: SENTINEL, quote: SENTINEL, extra: {}) extra[:base] = base if base != SENTINEL extra[:quote] = quote if quote != SENTINEL data, _status_code, _headers = search_cryptocurrency_pair_instruments_with_http_info_impl(user_id, user_secret, account_id, extra) data end |
#search_cryptocurrency_pair_instruments_with_http_info(user_id:, user_secret:, account_id:, base: SENTINEL, quote: SENTINEL, extra: {}) ⇒ Object
Get crypto pairs
Searches cryptocurrency pairs instruments accessible to the specified account. Both ‘base` and `quote` are optional. Omit both for a full list of cryptocurrency pairs.
1747 1748 1749 1750 1751 |
# File 'lib/snaptrade/api/trading_api.rb', line 1747 def search_cryptocurrency_pair_instruments_with_http_info(user_id:, user_secret:, account_id:, base: SENTINEL, quote: SENTINEL, extra: {}) extra[:base] = base if base != SENTINEL extra[:quote] = quote if quote != SENTINEL search_cryptocurrency_pair_instruments_with_http_info_impl(user_id, user_secret, account_id, extra) end |