https://github.com/jacekmaciag/xtb
XTB API client for Ruby
https://github.com/jacekmaciag/xtb
gem rails ruby-gem xapi xtb xtb-api xtb-trading
Last synced: 4 months ago
JSON representation
XTB API client for Ruby
- Host: GitHub
- URL: https://github.com/jacekmaciag/xtb
- Owner: jacekmaciag
- License: mit
- Created: 2024-10-13T13:51:06.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-23T19:40:39.000Z (about 1 year ago)
- Last Synced: 2025-01-04T12:11:38.089Z (about 1 year ago)
- Topics: gem, rails, ruby-gem, xapi, xtb, xtb-api, xtb-trading
- Language: Ruby
- Homepage:
- Size: 126 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
## ⚠️ End of life notice
XTB has announced that they will be discontinuing the API access on 14th of March 2025.
This gem will no longer work after that date and will be archived.
# XTB API client for Ruby
Xtb is a Ruby implementation of the [XTB broker API (xAPI) version 2.5.0](http://developers.xstore.pro/documentation/2.5.0).
At the time of writing this it's the latest version of the API.
This gem allows you to connect to the XTB broker and execute trades, get account information, and more.
## Installation
Install the gem and add to the application's Gemfile by executing:
$ bundle add xtb
If bundler is not being used to manage dependencies, install the gem by executing:
$ gem install xtb
## Usage
### Configuration
Before you can connect to the XTB API, you need to configure the connection.
```ruby
Xtb.configure do |config|
config.user_id = 'your_user_id'
config.password = 'your_password'
end
```
NOTE: If you're using the Ruby on Rails framework, you can put the configuration in the `config/application.rb` file.
Here's a list of all available configuration options:
```ruby
```
### Connect to the XTB API
```ruby
require 'xtb'
# You're ready to use the API
Xtb::Command::CurrentUserData.call
```
Note that there is no need to log in first or log out afterwards. The gem handles the connection for you.
### Subscribing to the XTB API streaming commands
Your message handler class should implement the `#call` method that will be called when a message is received from the XTB API.
```ruby
Xtb.configure do |config|
config.user_id = 'your_user_id'
config.password = 'your_password'
config.wss.message_handler = 'SomeClass'
end
```
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/jacekmaciag/xtb.
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).