=begin #Intrinio API #Welcome to the Intrinio API! Through our Financial Data Marketplace, we offer a wide selection of financial data feed APIs sourced by our own proprietary processes as well as from many data vendors. For a complete API request / response reference please view the [Intrinio API documentation](https://intrinio.com/documentation/api_v2). If you need additional help in using the API, please visit the [Intrinio website](https://intrinio.com) and click on the chat icon in the lower right corner. OpenAPI spec version: 2.8.0 Generated by: https://github.com/swagger-api/swagger-codegen.git Swagger Codegen version: 2.3.0-SNAPSHOT =end require "uri" module Intrinio class TechnicalApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Accumulation/Distribution Index # Returns the Accumulation/Distribution Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoAccumulationDistributionIndex] def get_crypto_price_technicals_adi(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_adi_with_http_info(opts) return data end # Accumulation/Distribution Index # Returns the Accumulation/Distribution Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoAccumulationDistributionIndex, Fixnum, Hash)>] ApiResponseCryptoAccumulationDistributionIndex data, response status code and response headers def get_crypto_price_technicals_adi_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_adi ..." end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_adi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/adi" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoAccumulationDistributionIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_adi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Average Daily Trading Volume # Returns the Average Daily Trading Volume values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Average Daily Trading Volume. (default to 22) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoAverageDailyTradingVolume] def get_crypto_price_technicals_adtv(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_adtv_with_http_info(opts) return data end # Average Daily Trading Volume # Returns the Average Daily Trading Volume values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Average Daily Trading Volume. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoAverageDailyTradingVolume, Fixnum, Hash)>] ApiResponseCryptoAverageDailyTradingVolume data, response status code and response headers def get_crypto_price_technicals_adtv_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_adtv ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_adtv, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_adtv, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/adtv" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoAverageDailyTradingVolume') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_adtv\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Average Directional Index # Returns the Average Directional Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Average Directional Index. (default to 22) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoAverageDirectionalIndex] def get_crypto_price_technicals_adx(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_adx_with_http_info(opts) return data end # Average Directional Index # Returns the Average Directional Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Average Directional Index. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoAverageDirectionalIndex, Fixnum, Hash)>] ApiResponseCryptoAverageDirectionalIndex data, response status code and response headers def get_crypto_price_technicals_adx_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_adx ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_adx, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_adx, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/adx" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoAverageDirectionalIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_adx\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Awesome Oscillator # Returns the Awesome Oscillator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :short_period The number of observations, per period, to calculate short period Simple Moving Average of the Awesome Oscillator. (default to 5) # @option opts [Integer] :long_period The number of observations, per period, to calculate long period Simple Moving Average of the Awesome Oscillator. (default to 34) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoAwesomeOscillator] def get_crypto_price_technicals_ao(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_ao_with_http_info(opts) return data end # Awesome Oscillator # Returns the Awesome Oscillator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :short_period The number of observations, per period, to calculate short period Simple Moving Average of the Awesome Oscillator. # @option opts [Integer] :long_period The number of observations, per period, to calculate long period Simple Moving Average of the Awesome Oscillator. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoAwesomeOscillator, Fixnum, Hash)>] ApiResponseCryptoAwesomeOscillator data, response status code and response headers def get_crypto_price_technicals_ao_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_ao ..." end if @api_client.config.client_side_validation && !opts[:'long_period'].nil? && opts[:'long_period'] < 5 fail ArgumentError, 'invalid value for "opts[:"long_period"]" when calling TechnicalApi.get_crypto_price_technicals_ao, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_ao, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/ao" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'short_period'] = opts[:'short_period'] if !opts[:'short_period'].nil? query_params[:'long_period'] = opts[:'long_period'] if !opts[:'long_period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoAwesomeOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_ao\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Average True Range # Returns the Average True Range values of Crypto Currency Prices for Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Average True Range. (default to 22) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoAverageTrueRange] def get_crypto_price_technicals_atr(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_atr_with_http_info(opts) return data end # Average True Range # Returns the Average True Range values of Crypto Currency Prices for Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Average True Range. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoAverageTrueRange, Fixnum, Hash)>] ApiResponseCryptoAverageTrueRange data, response status code and response headers def get_crypto_price_technicals_atr_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_atr ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_atr, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_atr, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/atr" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoAverageTrueRange') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_atr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Bollinger Bands # Returns the Bollinger Bands values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Bollinger Bands. (default to 20) # @option opts [Float] :standard_deviations The number of standard deviations to calculate the upper and lower bands of the Bollinger Bands. (default to 2.0) # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Bollinger Bands. (default to close) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoBollingerBands] def get_crypto_price_technicals_bb(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_bb_with_http_info(opts) return data end # Bollinger Bands # Returns the Bollinger Bands values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Bollinger Bands. # @option opts [Float] :standard_deviations The number of standard deviations to calculate the upper and lower bands of the Bollinger Bands. # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Bollinger Bands. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoBollingerBands, Fixnum, Hash)>] ApiResponseCryptoBollingerBands data, response status code and response headers def get_crypto_price_technicals_bb_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_bb ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_bb, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_bb, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/bb" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'standard_deviations'] = opts[:'standard_deviations'] if !opts[:'standard_deviations'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoBollingerBands') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_bb\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Commodity Channel Index # Returns the Commodity Channel Index values of Crypto Currency Prices for Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Commodity Channel Index. (default to 20) # @option opts [Float] :constant The number of observations, per period, to calculate Commodity Channel Index. (default to 0.015) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoCommodityChannelIndex] def get_crypto_price_technicals_cci(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_cci_with_http_info(opts) return data end # Commodity Channel Index # Returns the Commodity Channel Index values of Crypto Currency Prices for Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Commodity Channel Index. # @option opts [Float] :constant The number of observations, per period, to calculate Commodity Channel Index. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoCommodityChannelIndex, Fixnum, Hash)>] ApiResponseCryptoCommodityChannelIndex data, response status code and response headers def get_crypto_price_technicals_cci_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_cci ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_cci, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_cci, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/cci" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'constant'] = opts[:'constant'] if !opts[:'constant'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoCommodityChannelIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_cci\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Chaikin Money Flow # Returns the Chaikin Money Flow values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Chaikin Money Flow. (default to 20) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoChaikinMoneyFlow] def get_crypto_price_technicals_cmf(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_cmf_with_http_info(opts) return data end # Chaikin Money Flow # Returns the Chaikin Money Flow values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Chaikin Money Flow. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoChaikinMoneyFlow, Fixnum, Hash)>] ApiResponseCryptoChaikinMoneyFlow data, response status code and response headers def get_crypto_price_technicals_cmf_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_cmf ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_cmf, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_cmf, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/cmf" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoChaikinMoneyFlow') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_cmf\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Donchian Channel # Returns the Donchian Channel values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Donchian Channel. (default to 20) # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Donchian Channel. (default to close) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoDonchianChannel] def get_crypto_price_technicals_dc(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_dc_with_http_info(opts) return data end # Donchian Channel # Returns the Donchian Channel values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Donchian Channel. # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Donchian Channel. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoDonchianChannel, Fixnum, Hash)>] ApiResponseCryptoDonchianChannel data, response status code and response headers def get_crypto_price_technicals_dc_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_dc ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_dc, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_dc, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/dc" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoDonchianChannel') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_dc\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Detrended Price Oscillator # Returns the Detrended Price Oscillator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Detrended Price Oscillator. (default to 20) # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Detrended Price Oscillator. (default to close) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoDetrendedPriceOscillator] def get_crypto_price_technicals_dpo(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_dpo_with_http_info(opts) return data end # Detrended Price Oscillator # Returns the Detrended Price Oscillator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Detrended Price Oscillator. # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Detrended Price Oscillator. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoDetrendedPriceOscillator, Fixnum, Hash)>] ApiResponseCryptoDetrendedPriceOscillator data, response status code and response headers def get_crypto_price_technicals_dpo_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_dpo ..." end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_dpo, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/dpo" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoDetrendedPriceOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_dpo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Ease of Movement # Returns the Ease of Movement values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Ease of Movement. (default to 20) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoEaseOfMovement] def get_crypto_price_technicals_eom(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_eom_with_http_info(opts) return data end # Ease of Movement # Returns the Ease of Movement values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Ease of Movement. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoEaseOfMovement, Fixnum, Hash)>] ApiResponseCryptoEaseOfMovement data, response status code and response headers def get_crypto_price_technicals_eom_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_eom ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_eom, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_eom, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/eom" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoEaseOfMovement') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_eom\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Force Index # Returns the Force Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoForceIndex] def get_crypto_price_technicals_fi(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_fi_with_http_info(opts) return data end # Force Index # Returns the Force Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoForceIndex, Fixnum, Hash)>] ApiResponseCryptoForceIndex data, response status code and response headers def get_crypto_price_technicals_fi_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_fi ..." end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_fi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/fi" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoForceIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_fi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Ichimoku Kinko Hyo # Returns the Ichimoku Kinko Hyo values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :low_period The number of observations, per period, to calculate Tenkan Sen (Conversion Line) of Ichimoku Kinko Hyo. (default to 9) # @option opts [Integer] :medium_period The number of observations, per period, to calculate Kijun Sen (Base Line), Senkou Span A (Leading Span A), and Chikou Span (Lagging Span) of Ichimoku Kinko Hyo. (default to 26) # @option opts [Integer] :high_period The number of observations, per period, to calculate Senkou Span B (Leading Span B) of Ichimoku Kinko Hyo. (default to 52) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoIchimokuKinkoHyo] def get_crypto_price_technicals_ichimoku(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_ichimoku_with_http_info(opts) return data end # Ichimoku Kinko Hyo # Returns the Ichimoku Kinko Hyo values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :low_period The number of observations, per period, to calculate Tenkan Sen (Conversion Line) of Ichimoku Kinko Hyo. # @option opts [Integer] :medium_period The number of observations, per period, to calculate Kijun Sen (Base Line), Senkou Span A (Leading Span A), and Chikou Span (Lagging Span) of Ichimoku Kinko Hyo. # @option opts [Integer] :high_period The number of observations, per period, to calculate Senkou Span B (Leading Span B) of Ichimoku Kinko Hyo. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoIchimokuKinkoHyo, Fixnum, Hash)>] ApiResponseCryptoIchimokuKinkoHyo data, response status code and response headers def get_crypto_price_technicals_ichimoku_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_ichimoku ..." end if @api_client.config.client_side_validation && !opts[:'medium_period'].nil? && opts[:'medium_period'] < 2 fail ArgumentError, 'invalid value for "opts[:"medium_period"]" when calling TechnicalApi.get_crypto_price_technicals_ichimoku, must be greater than or equal to 2.' end if @api_client.config.client_side_validation && !opts[:'high_period'].nil? && opts[:'high_period'] < 4 fail ArgumentError, 'invalid value for "opts[:"high_period"]" when calling TechnicalApi.get_crypto_price_technicals_ichimoku, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_ichimoku, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/ichimoku" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'low_period'] = opts[:'low_period'] if !opts[:'low_period'].nil? query_params[:'medium_period'] = opts[:'medium_period'] if !opts[:'medium_period'].nil? query_params[:'high_period'] = opts[:'high_period'] if !opts[:'high_period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoIchimokuKinkoHyo') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_ichimoku\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Keltner Channel # Returns the Keltner Channel values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Kelter Channel. (default to 10) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoKeltnerChannel] def get_crypto_price_technicals_kc(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_kc_with_http_info(opts) return data end # Keltner Channel # Returns the Keltner Channel values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Kelter Channel. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoKeltnerChannel, Fixnum, Hash)>] ApiResponseCryptoKeltnerChannel data, response status code and response headers def get_crypto_price_technicals_kc_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_kc ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_kc, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_kc, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/kc" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoKeltnerChannel') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_kc\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Know Sure Thing # Returns the Know Sure Thing values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :roc1 The number of observations, per period, to calculate the rate-of-change for RCMA1. (default to 10) # @option opts [Integer] :roc2 The number of observations, per period, to calculate the rate-of-change for RCMA2. (default to 15) # @option opts [Integer] :roc3 The number of observations, per period, to calculate the rate-of-change for RCMA3. (default to 20) # @option opts [Integer] :roc4 The number of observations, per period, to calculate the rate-of-change for RCMA4. (default to 30) # @option opts [Integer] :sma1 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA1. (default to 10) # @option opts [Integer] :sma2 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA2. (default to 10) # @option opts [Integer] :sma3 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA3. (default to 10) # @option opts [Integer] :sma4 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA4. (default to 15) # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Know Sure Thing. (default to close) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoKnowSureThing] def get_crypto_price_technicals_kst(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_kst_with_http_info(opts) return data end # Know Sure Thing # Returns the Know Sure Thing values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :roc1 The number of observations, per period, to calculate the rate-of-change for RCMA1. # @option opts [Integer] :roc2 The number of observations, per period, to calculate the rate-of-change for RCMA2. # @option opts [Integer] :roc3 The number of observations, per period, to calculate the rate-of-change for RCMA3. # @option opts [Integer] :roc4 The number of observations, per period, to calculate the rate-of-change for RCMA4. # @option opts [Integer] :sma1 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA1. # @option opts [Integer] :sma2 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA2. # @option opts [Integer] :sma3 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA3. # @option opts [Integer] :sma4 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA4. # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Know Sure Thing. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoKnowSureThing, Fixnum, Hash)>] ApiResponseCryptoKnowSureThing data, response status code and response headers def get_crypto_price_technicals_kst_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_kst ..." end if @api_client.config.client_side_validation && !opts[:'roc4'].nil? && opts[:'roc4'] < 3 fail ArgumentError, 'invalid value for "opts[:"roc4"]" when calling TechnicalApi.get_crypto_price_technicals_kst, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'sma4'].nil? && opts[:'sma4'] < 3 fail ArgumentError, 'invalid value for "opts[:"sma4"]" when calling TechnicalApi.get_crypto_price_technicals_kst, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_kst, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/kst" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'roc1'] = opts[:'roc1'] if !opts[:'roc1'].nil? query_params[:'roc2'] = opts[:'roc2'] if !opts[:'roc2'].nil? query_params[:'roc3'] = opts[:'roc3'] if !opts[:'roc3'].nil? query_params[:'roc4'] = opts[:'roc4'] if !opts[:'roc4'].nil? query_params[:'sma1'] = opts[:'sma1'] if !opts[:'sma1'].nil? query_params[:'sma2'] = opts[:'sma2'] if !opts[:'sma2'].nil? query_params[:'sma3'] = opts[:'sma3'] if !opts[:'sma3'].nil? query_params[:'sma4'] = opts[:'sma4'] if !opts[:'sma4'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoKnowSureThing') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_kst\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Moving Average Convergence Divergence # Returns the Moving Average Convergence Divergence values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :fast_period The number of observations, per period, to calculate the fast moving Exponential Moving Average for Moving Average Convergence Divergence. (default to 12) # @option opts [Integer] :slow_period The number of observations, per period, to calculate the slow moving Exponential Moving Average for Moving Average Convergence Divergence. (default to 26) # @option opts [Integer] :signal_period The number of observations, per period, to calculate the signal line for Moving Average Convergence Divergence. (default to 9) # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Moving Average Convergence Divergence. (default to close) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoMovingAverageConvergenceDivergence] def get_crypto_price_technicals_macd(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_macd_with_http_info(opts) return data end # Moving Average Convergence Divergence # Returns the Moving Average Convergence Divergence values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :fast_period The number of observations, per period, to calculate the fast moving Exponential Moving Average for Moving Average Convergence Divergence. # @option opts [Integer] :slow_period The number of observations, per period, to calculate the slow moving Exponential Moving Average for Moving Average Convergence Divergence. # @option opts [Integer] :signal_period The number of observations, per period, to calculate the signal line for Moving Average Convergence Divergence. # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Moving Average Convergence Divergence. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoMovingAverageConvergenceDivergence, Fixnum, Hash)>] ApiResponseCryptoMovingAverageConvergenceDivergence data, response status code and response headers def get_crypto_price_technicals_macd_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_macd ..." end if @api_client.config.client_side_validation && !opts[:'slow_period'].nil? && opts[:'slow_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"slow_period"]" when calling TechnicalApi.get_crypto_price_technicals_macd, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'signal_period'].nil? && opts[:'signal_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"signal_period"]" when calling TechnicalApi.get_crypto_price_technicals_macd, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_macd, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/macd" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'fast_period'] = opts[:'fast_period'] if !opts[:'fast_period'].nil? query_params[:'slow_period'] = opts[:'slow_period'] if !opts[:'slow_period'].nil? query_params[:'signal_period'] = opts[:'signal_period'] if !opts[:'signal_period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoMovingAverageConvergenceDivergence') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_macd\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Money Flow Index # Returns the Money Flow Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Money Flow Index. (default to 14) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoMoneyFlowIndex] def get_crypto_price_technicals_mfi(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_mfi_with_http_info(opts) return data end # Money Flow Index # Returns the Money Flow Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Money Flow Index. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoMoneyFlowIndex, Fixnum, Hash)>] ApiResponseCryptoMoneyFlowIndex data, response status code and response headers def get_crypto_price_technicals_mfi_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_mfi ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_mfi, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_mfi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/mfi" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoMoneyFlowIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_mfi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Mass Index # Returns the Mass Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :ema_period The number of observations, per period, to calculate the single Exponential Moving Average and the Double Exponential Moving Average for Mass Index. (default to 9) # @option opts [Integer] :sum_period The number of observations, per period, to calculate the sum of the Exponetinal Moving Average Ratios for Mass Index. (default to 25) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoMassIndex] def get_crypto_price_technicals_mi(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_mi_with_http_info(opts) return data end # Mass Index # Returns the Mass Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :ema_period The number of observations, per period, to calculate the single Exponential Moving Average and the Double Exponential Moving Average for Mass Index. # @option opts [Integer] :sum_period The number of observations, per period, to calculate the sum of the Exponetinal Moving Average Ratios for Mass Index. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoMassIndex, Fixnum, Hash)>] ApiResponseCryptoMassIndex data, response status code and response headers def get_crypto_price_technicals_mi_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_mi ..." end if @api_client.config.client_side_validation && !opts[:'ema_period'].nil? && opts[:'ema_period'] < 2 fail ArgumentError, 'invalid value for "opts[:"ema_period"]" when calling TechnicalApi.get_crypto_price_technicals_mi, must be greater than or equal to 2.' end if @api_client.config.client_side_validation && !opts[:'sum_period'].nil? && opts[:'sum_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"sum_period"]" when calling TechnicalApi.get_crypto_price_technicals_mi, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_mi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/mi" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'ema_period'] = opts[:'ema_period'] if !opts[:'ema_period'].nil? query_params[:'sum_period'] = opts[:'sum_period'] if !opts[:'sum_period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoMassIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_mi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Negative Volume Index # Returns the Negative Volume Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoNegativeVolumeIndex] def get_crypto_price_technicals_nvi(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_nvi_with_http_info(opts) return data end # Negative Volume Index # Returns the Negative Volume Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoNegativeVolumeIndex, Fixnum, Hash)>] ApiResponseCryptoNegativeVolumeIndex data, response status code and response headers def get_crypto_price_technicals_nvi_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_nvi ..." end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_nvi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/nvi" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoNegativeVolumeIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_nvi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # On-balance Volume # Returns the On-balance Volume values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoOnBalanceVolume] def get_crypto_price_technicals_obv(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_obv_with_http_info(opts) return data end # On-balance Volume # Returns the On-balance Volume values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoOnBalanceVolume, Fixnum, Hash)>] ApiResponseCryptoOnBalanceVolume data, response status code and response headers def get_crypto_price_technicals_obv_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_obv ..." end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_obv, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/obv" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoOnBalanceVolume') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_obv\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # On-balance Volume Mean # Returns the On-balance Volume Mean values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate On-balance Volume Mean. (default to 10) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoOnBalanceVolumeMean] def get_crypto_price_technicals_obv_mean(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_obv_mean_with_http_info(opts) return data end # On-balance Volume Mean # Returns the On-balance Volume Mean values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate On-balance Volume Mean. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoOnBalanceVolumeMean, Fixnum, Hash)>] ApiResponseCryptoOnBalanceVolumeMean data, response status code and response headers def get_crypto_price_technicals_obv_mean_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_obv_mean ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_obv_mean, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_obv_mean, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/obv_mean" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoOnBalanceVolumeMean') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_obv_mean\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Relative Strength Index # Returns the Relative Strength Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Relative Strength Index. (default to 14) # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Relative Strength Index. (default to close) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoRelativeStrengthIndex] def get_crypto_price_technicals_rsi(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_rsi_with_http_info(opts) return data end # Relative Strength Index # Returns the Relative Strength Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Relative Strength Index. # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Relative Strength Index. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoRelativeStrengthIndex, Fixnum, Hash)>] ApiResponseCryptoRelativeStrengthIndex data, response status code and response headers def get_crypto_price_technicals_rsi_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_rsi ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_rsi, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_rsi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/rsi" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoRelativeStrengthIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_rsi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Simple Moving Average # Returns the Simple Moving Average values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Simple Moving Average. (default to 20) # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Simple Moving Average. (default to close) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoSimpleMovingAverage] def get_crypto_price_technicals_sma(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_sma_with_http_info(opts) return data end # Simple Moving Average # Returns the Simple Moving Average values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Simple Moving Average. # @option opts [String] :price_key The Crypto Currency Price field to use when calculating Simple Moving Average. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoSimpleMovingAverage, Fixnum, Hash)>] ApiResponseCryptoSimpleMovingAverage data, response status code and response headers def get_crypto_price_technicals_sma_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_sma ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_sma, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_sma, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/sma" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoSimpleMovingAverage') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_sma\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Stochastic Oscillator # Returns the Stochastic Oscillator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate %K of Stochastic Oscillator. (default to 14) # @option opts [Integer] :signal_period The number of observations, per period, to calculate the %D (the Simple Moving Average of %K) as a signal line for Stochastic Oscillator. (default to 3) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoStochasticOscillator] def get_crypto_price_technicals_sr(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_sr_with_http_info(opts) return data end # Stochastic Oscillator # Returns the Stochastic Oscillator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate %K of Stochastic Oscillator. # @option opts [Integer] :signal_period The number of observations, per period, to calculate the %D (the Simple Moving Average of %K) as a signal line for Stochastic Oscillator. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoStochasticOscillator, Fixnum, Hash)>] ApiResponseCryptoStochasticOscillator data, response status code and response headers def get_crypto_price_technicals_sr_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_sr ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 3 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_sr, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'signal_period'].nil? && opts[:'signal_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"signal_period"]" when calling TechnicalApi.get_crypto_price_technicals_sr, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_sr, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/sr" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'signal_period'] = opts[:'signal_period'] if !opts[:'signal_period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoStochasticOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_sr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Triple Exponential Average # Returns the Simple Moving Average values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Exponential Moving Average for Triple Exponential Average. (default to 15) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoTripleExponentialAverage] def get_crypto_price_technicals_trix(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_trix_with_http_info(opts) return data end # Triple Exponential Average # Returns the Simple Moving Average values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Exponential Moving Average for Triple Exponential Average. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoTripleExponentialAverage, Fixnum, Hash)>] ApiResponseCryptoTripleExponentialAverage data, response status code and response headers def get_crypto_price_technicals_trix_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_trix ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 2 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_trix, must be greater than or equal to 2.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_trix, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/trix" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoTripleExponentialAverage') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_trix\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # True Strength Index # Returns the True Strength Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :low_period The number of observations, per period, to calculate low period Exponential Moving Average for smoothing in True Strength Index. (default to 13) # @option opts [Integer] :high_period The number of observations, per period, to calculate high period Exponential Moving Average for smoothing in True Strength Index. (default to 25) # @option opts [String] :price_key The Crypto Currency Price field to use when calculating True Strength Index. (default to close) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoTrueStrengthIndex] def get_crypto_price_technicals_tsi(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_tsi_with_http_info(opts) return data end # True Strength Index # Returns the True Strength Index values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :low_period The number of observations, per period, to calculate low period Exponential Moving Average for smoothing in True Strength Index. # @option opts [Integer] :high_period The number of observations, per period, to calculate high period Exponential Moving Average for smoothing in True Strength Index. # @option opts [String] :price_key The Crypto Currency Price field to use when calculating True Strength Index. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoTrueStrengthIndex, Fixnum, Hash)>] ApiResponseCryptoTrueStrengthIndex data, response status code and response headers def get_crypto_price_technicals_tsi_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_tsi ..." end if @api_client.config.client_side_validation && !opts[:'low_period'].nil? && opts[:'low_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"low_period"]" when calling TechnicalApi.get_crypto_price_technicals_tsi, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'high_period'].nil? && opts[:'high_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"high_period"]" when calling TechnicalApi.get_crypto_price_technicals_tsi, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_tsi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/tsi" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'low_period'] = opts[:'low_period'] if !opts[:'low_period'].nil? query_params[:'high_period'] = opts[:'high_period'] if !opts[:'high_period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoTrueStrengthIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_tsi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Ultimate Oscillator # Returns the Ultimate Oscillator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :short_period The number of observations, per period, to calculate the short period for Ultimate Oscillator. (default to 7) # @option opts [Integer] :medium_period The number of observations, per period, to calculate the medium period for Ultimate Oscillator. (default to 14) # @option opts [Integer] :long_period The number of observations, per period, to calculate the long period for Ultimate Oscillator. (default to 28) # @option opts [Float] :short_weight The weight of short Buying Pressure average for Ultimate Oscillator. (default to 4.0) # @option opts [Float] :medium_weight The weight of medium Buying Pressure average for Ultimate Oscillator. (default to 2.0) # @option opts [Float] :long_weight The weight of long Buying Pressure average for Ultimate Oscillator. (default to 1.0) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoUltimateOscillator] def get_crypto_price_technicals_uo(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_uo_with_http_info(opts) return data end # Ultimate Oscillator # Returns the Ultimate Oscillator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :short_period The number of observations, per period, to calculate the short period for Ultimate Oscillator. # @option opts [Integer] :medium_period The number of observations, per period, to calculate the medium period for Ultimate Oscillator. # @option opts [Integer] :long_period The number of observations, per period, to calculate the long period for Ultimate Oscillator. # @option opts [Float] :short_weight The weight of short Buying Pressure average for Ultimate Oscillator. # @option opts [Float] :medium_weight The weight of medium Buying Pressure average for Ultimate Oscillator. # @option opts [Float] :long_weight The weight of long Buying Pressure average for Ultimate Oscillator. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoUltimateOscillator, Fixnum, Hash)>] ApiResponseCryptoUltimateOscillator data, response status code and response headers def get_crypto_price_technicals_uo_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_uo ..." end if @api_client.config.client_side_validation && !opts[:'long_period'].nil? && opts[:'long_period'] < 4 fail ArgumentError, 'invalid value for "opts[:"long_period"]" when calling TechnicalApi.get_crypto_price_technicals_uo, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_uo, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/uo" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'short_period'] = opts[:'short_period'] if !opts[:'short_period'].nil? query_params[:'medium_period'] = opts[:'medium_period'] if !opts[:'medium_period'].nil? query_params[:'long_period'] = opts[:'long_period'] if !opts[:'long_period'].nil? query_params[:'short_weight'] = opts[:'short_weight'] if !opts[:'short_weight'].nil? query_params[:'medium_weight'] = opts[:'medium_weight'] if !opts[:'medium_weight'].nil? query_params[:'long_weight'] = opts[:'long_weight'] if !opts[:'long_weight'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoUltimateOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_uo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Vortex Indicator # Returns the Vortex Indicator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Vortex Indicator. (default to 14) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoVortexIndicator] def get_crypto_price_technicals_vi(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_vi_with_http_info(opts) return data end # Vortex Indicator # Returns the Vortex Indicator values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to calculate Vortex Indicator. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoVortexIndicator, Fixnum, Hash)>] ApiResponseCryptoVortexIndicator data, response status code and response headers def get_crypto_price_technicals_vi_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_vi ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_vi, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_vi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/vi" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoVortexIndicator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_vi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Volume-price Trend # Returns the Volume-price Trend values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoVolumePriceTrend] def get_crypto_price_technicals_vpt(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_vpt_with_http_info(opts) return data end # Volume-price Trend # Returns the Volume-price Trend values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoVolumePriceTrend, Fixnum, Hash)>] ApiResponseCryptoVolumePriceTrend data, response status code and response headers def get_crypto_price_technicals_vpt_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_vpt ..." end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_vpt, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/vpt" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoVolumePriceTrend') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_vpt\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Volume Weighted Average Price # Returns the Volume Weighted Average Price values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoVolumeWeightedAveragePrice] def get_crypto_price_technicals_vwap(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_vwap_with_http_info(opts) return data end # Volume Weighted Average Price # Returns the Volume Weighted Average Price values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoVolumeWeightedAveragePrice, Fixnum, Hash)>] ApiResponseCryptoVolumeWeightedAveragePrice data, response status code and response headers def get_crypto_price_technicals_vwap_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_vwap ..." end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_vwap, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/vwap" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoVolumeWeightedAveragePrice') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_vwap\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Williams %R # Returns the Williams %R values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to look-back when calculating Williams %R. (default to 14) # @option opts [String] :timeframe The time interval for the prices when calculating technicals. (default to d1) # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. (default to UTC) # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseCryptoWilliamsR] def get_crypto_price_technicals_wr(opts = {}) data, _status_code, _headers = get_crypto_price_technicals_wr_with_http_info(opts) return data end # Williams %R # Returns the Williams %R values of Crypto Currency Prices for a Crypto Currency Pair # @param [Hash] opts the optional parameters # @option opts [String] :pair Return technicals for the given Crypto Currency Pair. # @option opts [String] :exchange Return technicals for a Crypto Currency on the given Crypto Exchange. # @option opts [String] :currency Return technicals for the given Crypto Currency. # @option opts [Integer] :period The number of observations, per period, to look-back when calculating Williams %R. # @option opts [String] :timeframe The time interval for the prices when calculating technicals. # @option opts [String] :timezone Return technical date/times in this timezone, also interpret start/end date/time parameters in this timezone. # @option opts [Date] :start_date Return technicals on or after this date. # @option opts [String] :start_time Return technicals at or after this time (24-hour). # @option opts [Date] :end_date Return technicals on or before this date. # @option opts [String] :end_time Return technicals at or before this time (24-hour). # @option opts [Integer] :page_size An integer greater than or equal to 1 for specifying the number of results on each page. # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseCryptoWilliamsR, Fixnum, Hash)>] ApiResponseCryptoWilliamsR data, response status code and response headers def get_crypto_price_technicals_wr_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_crypto_price_technicals_wr ..." end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_crypto_price_technicals_wr, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'timeframe'] && !['d1', 'h8', 'h6', 'h4', 'h3', 'h2', 'h1', 'm30', 'm15', 'm5', 'm1'].include?(opts[:'timeframe']) fail ArgumentError, 'invalid value for "timeframe", must be one of d1, h8, h6, h4, h3, h2, h1, m30, m15, m5, m1' end if @api_client.config.client_side_validation && opts[:'timezone'] && !['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu'].include?(opts[:'timezone']) fail ArgumentError, 'invalid value for "timezone", must be one of Africa/Algiers, Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Johannesburg, Africa/Monrovia, Africa/Nairobi, America/Argentina/Buenos_Aires, America/Bogota, America/Caracas, America/Chicago, America/Chihuahua, America/Denver, America/Godthab, America/Guatemala, America/Guyana, America/Halifax, America/Indiana/Indianapolis, America/Juneau, America/La_Paz, America/Lima, America/Lima, America/Los_Angeles, America/Mazatlan, America/Mexico_City, America/Mexico_City, America/Monterrey, America/Montevideo, America/New_York, America/Phoenix, America/Regina, America/Santiago, America/Sao_Paulo, America/St_Johns, America/Tijuana, Asia/Almaty, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Bangkok, Asia/Chongqing, Asia/Colombo, Asia/Dhaka, Asia/Dhaka, Asia/Hong_Kong, Asia/Irkutsk, Asia/Jakarta, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Karachi, Asia/Kathmandu, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Magadan, Asia/Muscat, Asia/Muscat, Asia/Novosibirsk, Asia/Rangoon, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tokyo, Asia/Tokyo, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/South_Georgia, Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Melbourne, Australia/Melbourne, Australia/Perth, Australia/Sydney, Etc/UTC, UTC, Europe/Amsterdam, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Copenhagen, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/London, Europe/Madrid, Europe/Minsk, Europe/Moscow, Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/Sarajevo, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Pacific/Apia, Pacific/Auckland, Pacific/Auckland, Pacific/Chatham, Pacific/Fakaofo, Pacific/Fiji, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Majuro, Pacific/Midway, Pacific/Midway, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Port_Moresby, Pacific/Tongatapu' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_crypto_price_technicals_wr, must be smaller than or equal to 10000.' end # resource path local_var_path = "/crypto/prices/technicals/wr" # query parameters query_params = {} query_params[:'pair'] = opts[:'pair'] if !opts[:'pair'].nil? query_params[:'exchange'] = opts[:'exchange'] if !opts[:'exchange'].nil? query_params[:'currency'] = opts[:'currency'] if !opts[:'currency'].nil? query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil? query_params[:'timezone'] = opts[:'timezone'] if !opts[:'timezone'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'start_time'] = opts[:'start_time'] if !opts[:'start_time'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'end_time'] = opts[:'end_time'] if !opts[:'end_time'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseCryptoWilliamsR') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_crypto_price_technicals_wr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Accumulation/Distribution Index # Returns the Accumulation/Distribution Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAccumulationDistributionIndex] def get_security_price_technicals_adi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_adi_with_http_info(identifier, opts) return data end # Accumulation/Distribution Index # Returns the Accumulation/Distribution Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAccumulationDistributionIndex, Fixnum, Hash)>] ApiResponseSecurityAccumulationDistributionIndex data, response status code and response headers def get_security_price_technicals_adi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_adi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_adi" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_adi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/adi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAccumulationDistributionIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_adi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Average Daily Trading Volume # Returns the Average Daily Trading Volume values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average Daily Trading Volume (default to 22) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAverageDailyTradingVolume] def get_security_price_technicals_adtv(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_adtv_with_http_info(identifier, opts) return data end # Average Daily Trading Volume # Returns the Average Daily Trading Volume values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average Daily Trading Volume # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAverageDailyTradingVolume, Fixnum, Hash)>] ApiResponseSecurityAverageDailyTradingVolume data, response status code and response headers def get_security_price_technicals_adtv_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_adtv ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_adtv" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_adtv, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_adtv, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/adtv".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAverageDailyTradingVolume') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_adtv\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Average Directional Index # Returns the Average Directional Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average Directional Index (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAverageDirectionalIndex] def get_security_price_technicals_adx(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_adx_with_http_info(identifier, opts) return data end # Average Directional Index # Returns the Average Directional Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average Directional Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAverageDirectionalIndex, Fixnum, Hash)>] ApiResponseSecurityAverageDirectionalIndex data, response status code and response headers def get_security_price_technicals_adx_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_adx ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_adx" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 3 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_adx, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_adx, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/adx".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAverageDirectionalIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_adx\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Awesome Oscillator # Returns the Awesome Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :short_period The number of observations, per period, to calculate short period Simple Moving Average of the Awesome Oscillator (default to 5) # @option opts [Integer] :long_period The number of observations, per period, to calculate long period Simple Moving Average of the Awesome Oscillator (default to 34) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAwesomeOscillator] def get_security_price_technicals_ao(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_ao_with_http_info(identifier, opts) return data end # Awesome Oscillator # Returns the Awesome Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :short_period The number of observations, per period, to calculate short period Simple Moving Average of the Awesome Oscillator # @option opts [Integer] :long_period The number of observations, per period, to calculate long period Simple Moving Average of the Awesome Oscillator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAwesomeOscillator, Fixnum, Hash)>] ApiResponseSecurityAwesomeOscillator data, response status code and response headers def get_security_price_technicals_ao_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_ao ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_ao" end if @api_client.config.client_side_validation && !opts[:'long_period'].nil? && opts[:'long_period'] < 5 fail ArgumentError, 'invalid value for "opts[:"long_period"]" when calling TechnicalApi.get_security_price_technicals_ao, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_ao, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/ao".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'short_period'] = opts[:'short_period'] if !opts[:'short_period'].nil? query_params[:'long_period'] = opts[:'long_period'] if !opts[:'long_period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAwesomeOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_ao\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Average True Range # Returns the Average True Range values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average True Range (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAverageTrueRange] def get_security_price_technicals_atr(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_atr_with_http_info(identifier, opts) return data end # Average True Range # Returns the Average True Range values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average True Range # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAverageTrueRange, Fixnum, Hash)>] ApiResponseSecurityAverageTrueRange data, response status code and response headers def get_security_price_technicals_atr_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_atr ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_atr" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_atr, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_atr, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/atr".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAverageTrueRange') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_atr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Bollinger Bands # Returns the Bollinger Bands values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Bollinger Bands (default to 20) # @option opts [Float] :standard_deviations The number of standard deviations to calculate the upper and lower bands of the Bollinger Bands (default to 2.0) # @option opts [String] :price_key The Stock Price field to use when calculating Bollinger Bands (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityBollingerBands] def get_security_price_technicals_bb(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_bb_with_http_info(identifier, opts) return data end # Bollinger Bands # Returns the Bollinger Bands values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Bollinger Bands # @option opts [Float] :standard_deviations The number of standard deviations to calculate the upper and lower bands of the Bollinger Bands # @option opts [String] :price_key The Stock Price field to use when calculating Bollinger Bands # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityBollingerBands, Fixnum, Hash)>] ApiResponseSecurityBollingerBands data, response status code and response headers def get_security_price_technicals_bb_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_bb ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_bb" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_bb, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_bb, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/bb".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'standard_deviations'] = opts[:'standard_deviations'] if !opts[:'standard_deviations'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityBollingerBands') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_bb\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Commodity Channel Index # Returns the Commodity Channel Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Commodity Channel Index (default to 20) # @option opts [Float] :constant The number of observations, per period, to calculate Commodity Channel Index (default to 0.015) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityCommodityChannelIndex] def get_security_price_technicals_cci(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_cci_with_http_info(identifier, opts) return data end # Commodity Channel Index # Returns the Commodity Channel Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Commodity Channel Index # @option opts [Float] :constant The number of observations, per period, to calculate Commodity Channel Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityCommodityChannelIndex, Fixnum, Hash)>] ApiResponseSecurityCommodityChannelIndex data, response status code and response headers def get_security_price_technicals_cci_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_cci ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_cci" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_cci, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_cci, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/cci".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'constant'] = opts[:'constant'] if !opts[:'constant'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityCommodityChannelIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_cci\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Chaikin Money Flow # Returns the Chaikin Money Flow values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Chaikin Money Flow (default to 20) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityChaikinMoneyFlow] def get_security_price_technicals_cmf(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_cmf_with_http_info(identifier, opts) return data end # Chaikin Money Flow # Returns the Chaikin Money Flow values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Chaikin Money Flow # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityChaikinMoneyFlow, Fixnum, Hash)>] ApiResponseSecurityChaikinMoneyFlow data, response status code and response headers def get_security_price_technicals_cmf_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_cmf ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_cmf" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_cmf, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_cmf, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/cmf".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityChaikinMoneyFlow') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_cmf\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Donchian Channel # Returns the Donchian Channel values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Donchian Channel (default to 20) # @option opts [String] :price_key The Stock Price field to use when calculating Donchian Channel (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityDonchianChannel] def get_security_price_technicals_dc(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_dc_with_http_info(identifier, opts) return data end # Donchian Channel # Returns the Donchian Channel values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Donchian Channel # @option opts [String] :price_key The Stock Price field to use when calculating Donchian Channel # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityDonchianChannel, Fixnum, Hash)>] ApiResponseSecurityDonchianChannel data, response status code and response headers def get_security_price_technicals_dc_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_dc ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_dc" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_dc, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_dc, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/dc".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityDonchianChannel') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_dc\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Detrended Price Oscillator # Returns the Detrended Price Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Detrended Price Oscillator (default to 20) # @option opts [String] :price_key The Stock Price field to use when calculating Detrended Price Oscillator (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityDetrendedPriceOscillator] def get_security_price_technicals_dpo(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_dpo_with_http_info(identifier, opts) return data end # Detrended Price Oscillator # Returns the Detrended Price Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Detrended Price Oscillator # @option opts [String] :price_key The Stock Price field to use when calculating Detrended Price Oscillator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityDetrendedPriceOscillator, Fixnum, Hash)>] ApiResponseSecurityDetrendedPriceOscillator data, response status code and response headers def get_security_price_technicals_dpo_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_dpo ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_dpo" end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_dpo, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/dpo".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityDetrendedPriceOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_dpo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Ease of Movement # Returns the Ease of Movement values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Ease of Movement (default to 20) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityEaseOfMovement] def get_security_price_technicals_eom(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_eom_with_http_info(identifier, opts) return data end # Ease of Movement # Returns the Ease of Movement values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Ease of Movement # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityEaseOfMovement, Fixnum, Hash)>] ApiResponseSecurityEaseOfMovement data, response status code and response headers def get_security_price_technicals_eom_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_eom ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_eom" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_eom, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_eom, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/eom".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityEaseOfMovement') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_eom\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Force Index # Returns the Force Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityForceIndex] def get_security_price_technicals_fi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_fi_with_http_info(identifier, opts) return data end # Force Index # Returns the Force Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityForceIndex, Fixnum, Hash)>] ApiResponseSecurityForceIndex data, response status code and response headers def get_security_price_technicals_fi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_fi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_fi" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_fi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/fi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityForceIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_fi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Ichimoku Kinko Hyo # Returns the Ichimoku Kinko Hyo values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :low_period The number of observations, per period, to calculate Tenkan Sen (Conversion Line) of Ichimoku Kinko Hyo (default to 9) # @option opts [Integer] :medium_period The number of observations, per period, to calculate Kijun Sen (Base Line), Senkou Span A (Leading Span A), and Chikou Span (Lagging Span) of Ichimoku Kinko Hyo (default to 26) # @option opts [Integer] :high_period The number of observations, per period, to calculate Senkou Span B (Leading Span B) of Ichimoku Kinko Hyo (default to 52) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityIchimokuKinkoHyo] def get_security_price_technicals_ichimoku(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_ichimoku_with_http_info(identifier, opts) return data end # Ichimoku Kinko Hyo # Returns the Ichimoku Kinko Hyo values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :low_period The number of observations, per period, to calculate Tenkan Sen (Conversion Line) of Ichimoku Kinko Hyo # @option opts [Integer] :medium_period The number of observations, per period, to calculate Kijun Sen (Base Line), Senkou Span A (Leading Span A), and Chikou Span (Lagging Span) of Ichimoku Kinko Hyo # @option opts [Integer] :high_period The number of observations, per period, to calculate Senkou Span B (Leading Span B) of Ichimoku Kinko Hyo # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityIchimokuKinkoHyo, Fixnum, Hash)>] ApiResponseSecurityIchimokuKinkoHyo data, response status code and response headers def get_security_price_technicals_ichimoku_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_ichimoku ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_ichimoku" end if @api_client.config.client_side_validation && !opts[:'medium_period'].nil? && opts[:'medium_period'] < 2 fail ArgumentError, 'invalid value for "opts[:"medium_period"]" when calling TechnicalApi.get_security_price_technicals_ichimoku, must be greater than or equal to 2.' end if @api_client.config.client_side_validation && !opts[:'high_period'].nil? && opts[:'high_period'] < 4 fail ArgumentError, 'invalid value for "opts[:"high_period"]" when calling TechnicalApi.get_security_price_technicals_ichimoku, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_ichimoku, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/ichimoku".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'low_period'] = opts[:'low_period'] if !opts[:'low_period'].nil? query_params[:'medium_period'] = opts[:'medium_period'] if !opts[:'medium_period'].nil? query_params[:'high_period'] = opts[:'high_period'] if !opts[:'high_period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityIchimokuKinkoHyo') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_ichimoku\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Keltner Channel # Returns the Keltner Channel values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Kelter Channel (default to 10) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityKeltnerChannel] def get_security_price_technicals_kc(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_kc_with_http_info(identifier, opts) return data end # Keltner Channel # Returns the Keltner Channel values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Kelter Channel # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityKeltnerChannel, Fixnum, Hash)>] ApiResponseSecurityKeltnerChannel data, response status code and response headers def get_security_price_technicals_kc_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_kc ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_kc" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_kc, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_kc, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/kc".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityKeltnerChannel') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_kc\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Know Sure Thing # Returns the Know Sure Thing values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :roc1 The number of observations, per period, to calculate the rate-of-change for RCMA1 (default to 10) # @option opts [Integer] :roc2 The number of observations, per period, to calculate the rate-of-change for RCMA2 (default to 15) # @option opts [Integer] :roc3 The number of observations, per period, to calculate the rate-of-change for RCMA3 (default to 20) # @option opts [Integer] :roc4 The number of observations, per period, to calculate the rate-of-change for RCMA4 (default to 30) # @option opts [Integer] :sma1 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA1 (default to 10) # @option opts [Integer] :sma2 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA2 (default to 10) # @option opts [Integer] :sma3 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA3 (default to 10) # @option opts [Integer] :sma4 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA4 (default to 15) # @option opts [String] :price_key The Stock Price field to use when calculating Know Sure Thing (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityKnowSureThing] def get_security_price_technicals_kst(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_kst_with_http_info(identifier, opts) return data end # Know Sure Thing # Returns the Know Sure Thing values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :roc1 The number of observations, per period, to calculate the rate-of-change for RCMA1 # @option opts [Integer] :roc2 The number of observations, per period, to calculate the rate-of-change for RCMA2 # @option opts [Integer] :roc3 The number of observations, per period, to calculate the rate-of-change for RCMA3 # @option opts [Integer] :roc4 The number of observations, per period, to calculate the rate-of-change for RCMA4 # @option opts [Integer] :sma1 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA1 # @option opts [Integer] :sma2 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA2 # @option opts [Integer] :sma3 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA3 # @option opts [Integer] :sma4 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA4 # @option opts [String] :price_key The Stock Price field to use when calculating Know Sure Thing # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityKnowSureThing, Fixnum, Hash)>] ApiResponseSecurityKnowSureThing data, response status code and response headers def get_security_price_technicals_kst_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_kst ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_kst" end if @api_client.config.client_side_validation && !opts[:'roc4'].nil? && opts[:'roc4'] < 3 fail ArgumentError, 'invalid value for "opts[:"roc4"]" when calling TechnicalApi.get_security_price_technicals_kst, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'sma4'].nil? && opts[:'sma4'] < 3 fail ArgumentError, 'invalid value for "opts[:"sma4"]" when calling TechnicalApi.get_security_price_technicals_kst, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_kst, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/kst".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'roc1'] = opts[:'roc1'] if !opts[:'roc1'].nil? query_params[:'roc2'] = opts[:'roc2'] if !opts[:'roc2'].nil? query_params[:'roc3'] = opts[:'roc3'] if !opts[:'roc3'].nil? query_params[:'roc4'] = opts[:'roc4'] if !opts[:'roc4'].nil? query_params[:'sma1'] = opts[:'sma1'] if !opts[:'sma1'].nil? query_params[:'sma2'] = opts[:'sma2'] if !opts[:'sma2'].nil? query_params[:'sma3'] = opts[:'sma3'] if !opts[:'sma3'].nil? query_params[:'sma4'] = opts[:'sma4'] if !opts[:'sma4'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityKnowSureThing') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_kst\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Moving Average Convergence Divergence # Returns the Moving Average Convergence Divergence values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :fast_period The number of observations, per period, to calculate the fast moving Exponential Moving Average for Moving Average Convergence Divergence (default to 12) # @option opts [Integer] :slow_period The number of observations, per period, to calculate the slow moving Exponential Moving Average for Moving Average Convergence Divergence (default to 26) # @option opts [Integer] :signal_period The number of observations, per period, to calculate the signal line for Moving Average Convergence Divergence (default to 9) # @option opts [String] :price_key The Stock Price field to use when calculating Moving Average Convergence Divergence (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityMovingAverageConvergenceDivergence] def get_security_price_technicals_macd(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_macd_with_http_info(identifier, opts) return data end # Moving Average Convergence Divergence # Returns the Moving Average Convergence Divergence values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :fast_period The number of observations, per period, to calculate the fast moving Exponential Moving Average for Moving Average Convergence Divergence # @option opts [Integer] :slow_period The number of observations, per period, to calculate the slow moving Exponential Moving Average for Moving Average Convergence Divergence # @option opts [Integer] :signal_period The number of observations, per period, to calculate the signal line for Moving Average Convergence Divergence # @option opts [String] :price_key The Stock Price field to use when calculating Moving Average Convergence Divergence # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityMovingAverageConvergenceDivergence, Fixnum, Hash)>] ApiResponseSecurityMovingAverageConvergenceDivergence data, response status code and response headers def get_security_price_technicals_macd_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_macd ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_macd" end if @api_client.config.client_side_validation && !opts[:'slow_period'].nil? && opts[:'slow_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"slow_period"]" when calling TechnicalApi.get_security_price_technicals_macd, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'signal_period'].nil? && opts[:'signal_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"signal_period"]" when calling TechnicalApi.get_security_price_technicals_macd, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_macd, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/macd".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'fast_period'] = opts[:'fast_period'] if !opts[:'fast_period'].nil? query_params[:'slow_period'] = opts[:'slow_period'] if !opts[:'slow_period'].nil? query_params[:'signal_period'] = opts[:'signal_period'] if !opts[:'signal_period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityMovingAverageConvergenceDivergence') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_macd\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Money Flow Index # Returns the Money Flow Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Money Flow Index (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityMoneyFlowIndex] def get_security_price_technicals_mfi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_mfi_with_http_info(identifier, opts) return data end # Money Flow Index # Returns the Money Flow Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Money Flow Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityMoneyFlowIndex, Fixnum, Hash)>] ApiResponseSecurityMoneyFlowIndex data, response status code and response headers def get_security_price_technicals_mfi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_mfi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_mfi" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_mfi, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_mfi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/mfi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityMoneyFlowIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_mfi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Mass Index # Returns the Mass Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :ema_period The number of observations, per period, to calculate the single Exponential Moving Average and the Double Exponential Moving Average for Mass Index (default to 9) # @option opts [Integer] :sum_period The number of observations, per period, to calculate the sum of the Exponetinal Moving Average Ratios for Mass Index (default to 25) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityMassIndex] def get_security_price_technicals_mi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_mi_with_http_info(identifier, opts) return data end # Mass Index # Returns the Mass Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :ema_period The number of observations, per period, to calculate the single Exponential Moving Average and the Double Exponential Moving Average for Mass Index # @option opts [Integer] :sum_period The number of observations, per period, to calculate the sum of the Exponetinal Moving Average Ratios for Mass Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityMassIndex, Fixnum, Hash)>] ApiResponseSecurityMassIndex data, response status code and response headers def get_security_price_technicals_mi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_mi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_mi" end if @api_client.config.client_side_validation && !opts[:'ema_period'].nil? && opts[:'ema_period'] < 2 fail ArgumentError, 'invalid value for "opts[:"ema_period"]" when calling TechnicalApi.get_security_price_technicals_mi, must be greater than or equal to 2.' end if @api_client.config.client_side_validation && !opts[:'sum_period'].nil? && opts[:'sum_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"sum_period"]" when calling TechnicalApi.get_security_price_technicals_mi, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_mi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/mi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'ema_period'] = opts[:'ema_period'] if !opts[:'ema_period'].nil? query_params[:'sum_period'] = opts[:'sum_period'] if !opts[:'sum_period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityMassIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_mi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Negative Volume Index # Returns the Negative Volume Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityNegativeVolumeIndex] def get_security_price_technicals_nvi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_nvi_with_http_info(identifier, opts) return data end # Negative Volume Index # Returns the Negative Volume Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityNegativeVolumeIndex, Fixnum, Hash)>] ApiResponseSecurityNegativeVolumeIndex data, response status code and response headers def get_security_price_technicals_nvi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_nvi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_nvi" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_nvi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/nvi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityNegativeVolumeIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_nvi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # On-balance Volume # Returns the On-balance Volume values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityOnBalanceVolume] def get_security_price_technicals_obv(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_obv_with_http_info(identifier, opts) return data end # On-balance Volume # Returns the On-balance Volume values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityOnBalanceVolume, Fixnum, Hash)>] ApiResponseSecurityOnBalanceVolume data, response status code and response headers def get_security_price_technicals_obv_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_obv ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_obv" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_obv, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/obv".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityOnBalanceVolume') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_obv\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # On-balance Volume Mean # Returns the On-balance Volume Mean values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate On-balance Volume Mean (default to 10) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityOnBalanceVolumeMean] def get_security_price_technicals_obv_mean(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_obv_mean_with_http_info(identifier, opts) return data end # On-balance Volume Mean # Returns the On-balance Volume Mean values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate On-balance Volume Mean # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityOnBalanceVolumeMean, Fixnum, Hash)>] ApiResponseSecurityOnBalanceVolumeMean data, response status code and response headers def get_security_price_technicals_obv_mean_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_obv_mean ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_obv_mean" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_obv_mean, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_obv_mean, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/obv_mean".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityOnBalanceVolumeMean') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_obv_mean\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Relative Strength Index # Returns the Relative Strength Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Relative Strength Index (default to 14) # @option opts [String] :price_key The Stock Price field to use when calculating Relative Strength Index (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityRelativeStrengthIndex] def get_security_price_technicals_rsi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_rsi_with_http_info(identifier, opts) return data end # Relative Strength Index # Returns the Relative Strength Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Relative Strength Index # @option opts [String] :price_key The Stock Price field to use when calculating Relative Strength Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityRelativeStrengthIndex, Fixnum, Hash)>] ApiResponseSecurityRelativeStrengthIndex data, response status code and response headers def get_security_price_technicals_rsi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_rsi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_rsi" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_rsi, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_rsi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/rsi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityRelativeStrengthIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_rsi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Simple Moving Average # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Simple Moving Average (default to 20) # @option opts [String] :price_key The Stock Price field to use when calculating Simple Moving Average (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecuritySimpleMovingAverage] def get_security_price_technicals_sma(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_sma_with_http_info(identifier, opts) return data end # Simple Moving Average # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Simple Moving Average # @option opts [String] :price_key The Stock Price field to use when calculating Simple Moving Average # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecuritySimpleMovingAverage, Fixnum, Hash)>] ApiResponseSecuritySimpleMovingAverage data, response status code and response headers def get_security_price_technicals_sma_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_sma ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_sma" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_sma, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_sma, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/sma".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecuritySimpleMovingAverage') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_sma\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Stochastic Oscillator # Returns the Stochastic Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate %K of Stochastic Oscillator (default to 14) # @option opts [Integer] :signal_period The number of observations, per period, to calculate the %D (the Simple Moving Average of %K) as a signal line for Stochastic Oscillator (default to 3) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityStochasticOscillator] def get_security_price_technicals_sr(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_sr_with_http_info(identifier, opts) return data end # Stochastic Oscillator # Returns the Stochastic Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate %K of Stochastic Oscillator # @option opts [Integer] :signal_period The number of observations, per period, to calculate the %D (the Simple Moving Average of %K) as a signal line for Stochastic Oscillator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityStochasticOscillator, Fixnum, Hash)>] ApiResponseSecurityStochasticOscillator data, response status code and response headers def get_security_price_technicals_sr_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_sr ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_sr" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 3 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_sr, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'signal_period'].nil? && opts[:'signal_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"signal_period"]" when calling TechnicalApi.get_security_price_technicals_sr, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_sr, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/sr".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'signal_period'] = opts[:'signal_period'] if !opts[:'signal_period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityStochasticOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_sr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Triple Exponential Average # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Exponential Moving Average for Triple Exponential Average (default to 15) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityTripleExponentialAverage] def get_security_price_technicals_trix(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_trix_with_http_info(identifier, opts) return data end # Triple Exponential Average # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Exponential Moving Average for Triple Exponential Average # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityTripleExponentialAverage, Fixnum, Hash)>] ApiResponseSecurityTripleExponentialAverage data, response status code and response headers def get_security_price_technicals_trix_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_trix ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_trix" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 2 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_trix, must be greater than or equal to 2.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_trix, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/trix".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityTripleExponentialAverage') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_trix\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # True Strength Index # Returns the True Strength Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :low_period The number of observations, per period, to calculate low period Exponential Moving Average for smoothing in True Strength Index (default to 13) # @option opts [Integer] :high_period The number of observations, per period, to calculate high period Exponential Moving Average for smoothing in True Strength Index (default to 25) # @option opts [String] :price_key The Stock Price field to use when calculating True Strength Index (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityTrueStrengthIndex] def get_security_price_technicals_tsi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_tsi_with_http_info(identifier, opts) return data end # True Strength Index # Returns the True Strength Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :low_period The number of observations, per period, to calculate low period Exponential Moving Average for smoothing in True Strength Index # @option opts [Integer] :high_period The number of observations, per period, to calculate high period Exponential Moving Average for smoothing in True Strength Index # @option opts [String] :price_key The Stock Price field to use when calculating True Strength Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityTrueStrengthIndex, Fixnum, Hash)>] ApiResponseSecurityTrueStrengthIndex data, response status code and response headers def get_security_price_technicals_tsi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_tsi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_tsi" end if @api_client.config.client_side_validation && !opts[:'low_period'].nil? && opts[:'low_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"low_period"]" when calling TechnicalApi.get_security_price_technicals_tsi, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'high_period'].nil? && opts[:'high_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"high_period"]" when calling TechnicalApi.get_security_price_technicals_tsi, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_tsi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/tsi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'low_period'] = opts[:'low_period'] if !opts[:'low_period'].nil? query_params[:'high_period'] = opts[:'high_period'] if !opts[:'high_period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityTrueStrengthIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_tsi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Ultimate Oscillator # Returns the Ultimate Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :short_period The number of observations, per period, to calculate the short period for Ultimate Oscillator (default to 7) # @option opts [Integer] :medium_period The number of observations, per period, to calculate the medium period for Ultimate Oscillator (default to 14) # @option opts [Integer] :long_period The number of observations, per period, to calculate the long period for Ultimate Oscillator (default to 28) # @option opts [Float] :short_weight The weight of short Buying Pressure average for Ultimate Oscillator (default to 4.0) # @option opts [Float] :medium_weight The weight of medium Buying Pressure average for Ultimate Oscillator (default to 2.0) # @option opts [Float] :long_weight The weight of long Buying Pressure average for Ultimate Oscillator (default to 1.0) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityUltimateOscillator] def get_security_price_technicals_uo(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_uo_with_http_info(identifier, opts) return data end # Ultimate Oscillator # Returns the Ultimate Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :short_period The number of observations, per period, to calculate the short period for Ultimate Oscillator # @option opts [Integer] :medium_period The number of observations, per period, to calculate the medium period for Ultimate Oscillator # @option opts [Integer] :long_period The number of observations, per period, to calculate the long period for Ultimate Oscillator # @option opts [Float] :short_weight The weight of short Buying Pressure average for Ultimate Oscillator # @option opts [Float] :medium_weight The weight of medium Buying Pressure average for Ultimate Oscillator # @option opts [Float] :long_weight The weight of long Buying Pressure average for Ultimate Oscillator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityUltimateOscillator, Fixnum, Hash)>] ApiResponseSecurityUltimateOscillator data, response status code and response headers def get_security_price_technicals_uo_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_uo ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_uo" end if @api_client.config.client_side_validation && !opts[:'long_period'].nil? && opts[:'long_period'] < 4 fail ArgumentError, 'invalid value for "opts[:"long_period"]" when calling TechnicalApi.get_security_price_technicals_uo, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_uo, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/uo".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'short_period'] = opts[:'short_period'] if !opts[:'short_period'].nil? query_params[:'medium_period'] = opts[:'medium_period'] if !opts[:'medium_period'].nil? query_params[:'long_period'] = opts[:'long_period'] if !opts[:'long_period'].nil? query_params[:'short_weight'] = opts[:'short_weight'] if !opts[:'short_weight'].nil? query_params[:'medium_weight'] = opts[:'medium_weight'] if !opts[:'medium_weight'].nil? query_params[:'long_weight'] = opts[:'long_weight'] if !opts[:'long_weight'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityUltimateOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_uo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Vortex Indicator # Returns the Vortex Indicator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Vortex Indicator (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityVortexIndicator] def get_security_price_technicals_vi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_vi_with_http_info(identifier, opts) return data end # Vortex Indicator # Returns the Vortex Indicator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Vortex Indicator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityVortexIndicator, Fixnum, Hash)>] ApiResponseSecurityVortexIndicator data, response status code and response headers def get_security_price_technicals_vi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_vi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_vi" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_vi, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_vi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/vi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityVortexIndicator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_vi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Volume-price Trend # Returns the Volume-price Trend values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityVolumePriceTrend] def get_security_price_technicals_vpt(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_vpt_with_http_info(identifier, opts) return data end # Volume-price Trend # Returns the Volume-price Trend values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityVolumePriceTrend, Fixnum, Hash)>] ApiResponseSecurityVolumePriceTrend data, response status code and response headers def get_security_price_technicals_vpt_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_vpt ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_vpt" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_vpt, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/vpt".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityVolumePriceTrend') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_vpt\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Volume Weighted Average Price # Returns the Volume Weighted Average Price values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityVolumeWeightedAveragePrice] def get_security_price_technicals_vwap(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_vwap_with_http_info(identifier, opts) return data end # Volume Weighted Average Price # Returns the Volume Weighted Average Price values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityVolumeWeightedAveragePrice, Fixnum, Hash)>] ApiResponseSecurityVolumeWeightedAveragePrice data, response status code and response headers def get_security_price_technicals_vwap_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_vwap ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_vwap" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_vwap, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/vwap".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityVolumeWeightedAveragePrice') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_vwap\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Williams %R # Returns the Williams %R values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to look-back when calculating Williams %R (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Float] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityWilliamsR] def get_security_price_technicals_wr(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_wr_with_http_info(identifier, opts) return data end # Williams %R # Returns the Williams %R values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to look-back when calculating Williams %R # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Float] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityWilliamsR, Fixnum, Hash)>] ApiResponseSecurityWilliamsR data, response status code and response headers def get_security_price_technicals_wr_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_wr ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_wr" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_wr, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_wr, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/wr".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityWilliamsR') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_wr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end