Module: Xtb

Defined in:
lib/xtb.rb,
lib/xtb/http.rb,
lib/xtb/error.rb,
lib/xtb/config.rb,
lib/xtb/version.rb,
lib/xtb/http/news.rb,
lib/xtb/http/ping.rb,
lib/xtb/http/login.rb,
lib/xtb/web_socket.rb,
lib/xtb/http/client.rb,
lib/xtb/http/logout.rb,
lib/xtb/http/symbol.rb,
lib/xtb/http/trades.rb,
lib/xtb/http/command.rb,
lib/xtb/http/version.rb,
lib/xtb/error_factory.rb,
lib/xtb/http/calendar.rb,
lib/xtb/request_queue.rb,
lib/xtb/http/step_rules.rb,
lib/xtb/http/all_symbols.rb,
lib/xtb/http/server_time.rb,
lib/xtb/http/tick_prices.rb,
lib/xtb/http/margin_level.rb,
lib/xtb/http/margin_trade.rb,
lib/xtb/web_socket/client.rb,
lib/xtb/http/trade_records.rb,
lib/xtb/http/trading_hours.rb,
lib/xtb/http/commission_def.rb,
lib/xtb/http/trades_history.rb,
lib/xtb/http/current_user_data.rb,
lib/xtb/http/trade_transaction.rb,
lib/xtb/http/chart_last_request.rb,
lib/xtb/http/profit_calculation.rb,
lib/xtb/http/chart_range_request.rb

Defined Under Namespace

Modules: Http, RequestQueue, WebSocket Classes: AccountCannotTradeOnSymbolError, AlreadyLoggedInError, BlacklistedError, CannotCloseOrderError, CommandNotAllowedError, Config, ConnectionLimitError, DataLimitExceededError, Error, ErrorFactory, IncorrectCommandFormatError, IncorrectPeriodError, InternalError, InvalidLoginOrPasswordError, InvalidParametersError, InvalidPriceError, InvalidStopLossOrTakeProfitError, InvalidTokenError, InvalidVolumeError, LoginDisabledError, MarketClosedError, MethodDoesNotExistError, MismatchedParametersError, MissingDataError, ModificationDeniedError, NoAccessError, NoSuchTransactionError, NotEnoughMoneyError, NotLoggedInError, OffQuotesError, OppositePositionsProhibitedError, OtherError, PendingOrderCannotBeClosedError, PriceChangedError, RequestTooFrequentError, SessionTimedOutError, ShortPositionsProhibitedError, SymbolDoesNotExistError, SymbolDoesNotExistForAccountError, TooManyTradeRequestsError, TradingOnInstrumentDisabledError, TradingTimeoutError, UnknownInstrumentSymbolError, UnknownTransactionTypeError

Constant Summary collapse

PERIODS =

Periods in minutes.

{
  m1: 1,
  m5: 5,
  m15: 15,
  m30: 30,
  h1: 60,
  h4: 240,
  d1: 1_440,
  w1: 10_080,
  mn1: 43_200
}.freeze
OPERATIONS =

Operations with XTB broker codes.

{
  buy: 0,
  sell: 1,
  buy_limit: 2,
  sell_limit: 3,
  buy_stop: 4,
  sell_stop: 5,
  balance: 6,
  credit: 7
}.freeze
TRADE_TRANSACTION_TYPES =

Trade transaction type with XTB broker codes.

{
  open: 0,
  pending: 1,
  close: 2,
  modify: 3,
  delete: 4
}.freeze
SymbolRecord =
Data.define(:ask, :bid, :category_name, :contract_size, :currency, :currency_pair, :currency_profit,
:description, :exemode, :expiration, :group_name, :high, :initial_margin,
:instant_max_volume, :leverage, :long_only, :lot_max, :lot_min, :lot_step, :low,
:margin_hedged, :margin_hedged_strong, :margin_maintenance, :margin_mode, :percentage,
:pips_precision, :precision, :profit_mode, :quote_id, :quote_id_cross, :short_selling,
:spread_raw, :spread_table, :starting, :step_rule_id, :stops_level, :swap_rollover3days,
:swap_enable, :swap_long, :swap_short, :swap_type, :symbol, :tick_size, :tick_value,
:time, :time_string, :trailing_enabled, :type)
TradeRecord =
Data.define(:close_price, :close_time, :close_time_string, :closed, :cmd, :comment, :commission,
:custom_comment, :digits, :expiration, :expiration_string, :margin_rate, :offset,
:open_price, :open_time, :open_time_string, :order, :order2, :position, :profit, :sl,
:storage, :symbol, :timestamp, :tp, :volume)
VERSION =
'0.1.1'