module OandaApiV20::Positions
Public Instance Methods
open_positions()
click to toggle source
GET /v3/accounts/:account_id/openPositions
# File lib/oanda_api_v20/positions.rb, line 22 def open_positions Client.send(http_verb, "#{base_uri}/accounts/#{account_id}/openPositions", headers: headers) end
position(*args)
click to toggle source
GET /v3/accounts/:account_id/positions/:instrument PUT /v3/accounts/:account_id/positions/:instrument/close
# File lib/oanda_api_v20/positions.rb, line 6 def position(*args) instrument = args.shift options = args.shift unless args.nil? || args.empty? url = "#{base_uri}/accounts/#{account_id}/positions/#{instrument}" url = position_url_for_put(url, options) if http_verb == :put options ? Client.send(http_verb, url, headers: headers, body: options.to_json) : Client.send(http_verb, url, headers: headers) end
positions()
click to toggle source
GET /v3/accounts/:account_id/positions
# File lib/oanda_api_v20/positions.rb, line 17 def positions Client.send(http_verb, "#{base_uri}/accounts/#{account_id}/positions", headers: headers) end
Private Instance Methods
position_url_for_put(url, options = nil)
click to toggle source
# File lib/oanda_api_v20/positions.rb, line 28 def position_url_for_put(url, options = nil) return "#{url}/close" unless options return "#{url}/close" if options['longUnits'] || options['longClientExtensions'] || options['shortUnits'] || options['shortClientExtensions'] return url end