Skip to main content

Python client for TradeLocker's Trading API

Project description

TradeLocker Python API Wrapper

This project provides a Python wrapper for TradeLocker's public API. It simplifies the process of making requests to the API by providing Pythonic interfaces.

A full description of the TradeLocker's public API can be found at TradeLocker API Documentation


Table of Contents

  1. Getting Started
  2. Installation
  3. Usage
  4. Contributing
  5. License

Getting Started

To use this Python wrapper, you'll need the username, password and the id of the server that you use to access TradeLocker. If you don't already have access, you need to find a broker that supports TradeLocker and create an account.

Installation

This package requires Python 3.11 or later. The easiest way to install this package is using pip:

pip install tradelocker

Usage

Here's a simple example on how to use the TradeLocker Python API wrapper. The code below initializes a TLAPI object with authentication data. It then: fetches price history and latest price, creates an order that converts into a position, waits for 2 seconds, and finally closes the same position.

from tradelocker import TLAPI
import time, random

# Initialize the API client with the information you use to login
tl = TLAPI(environment = "https://demo.tradelocker.com", username = "user@email.com", password = "YOUR_PASS", server = "SERVER_NAME")

symbol_name = "BTCUSD" # "RANDOM"
all_instruments = tl.get_all_instruments()
if symbol_name == "RANDOM":
	instrument_id = int(random.choice(all_instruments['tradableInstrumentId']))
else:
	instrument_id = tl.get_instrument_id_from_symbol_name(symbol_name)
price_history = tl.get_price_history(instrument_id, resolution="1D", start_timestamp=0, end_timestamp=0,lookback_period="5D")
latest_price = tl.get_latest_asking_price(instrument_id)
order_id = tl.create_order(instrument_id, quantity=0.01, side="buy", type_="market")
if order_id:
	print(f"Placed order with id {order_id}, sleeping for 2 seconds.")
	time.sleep(2)
	tl.close_position(order_id)
	print(f"Closed order with id {order_id}.")
else:
	print("Failed to place order.")

For more detailed examples, see the examples directory.

Contributing

To contribute to the development of this project, please create an issue, or a pull request.

Steps to create a pull request:

  1. Clone the project.
  2. Create your feature branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Create a new Merge Request.

License

This project is licensed under the terms of the MIT license. See LICENSE for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tradelocker-0.56.2.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tradelocker-0.56.2-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file tradelocker-0.56.2.tar.gz.

File metadata

  • Download URL: tradelocker-0.56.2.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/23.5.0

File hashes

Hashes for tradelocker-0.56.2.tar.gz
Algorithm Hash digest
SHA256 cc097176f65ea091bc0b55fc6a62d1eee738c6842632d247561e133bcd0974f1
MD5 2dc5d67e5b15cca1bd52ddbe6b4e9f2c
BLAKE2b-256 8c93ca1f8042048bd2c7472f67c2597b32e2658d714709b5c2bfce6f3aa67b98

See more details on using hashes here.

File details

Details for the file tradelocker-0.56.2-py3-none-any.whl.

File metadata

  • Download URL: tradelocker-0.56.2-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/23.5.0

File hashes

Hashes for tradelocker-0.56.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4463bfd66f49c5cb957418925f25f93372310eb2411073c7d01a156d1a360759
MD5 fbeb277fbc9246be2ff015ae30d91d9e
BLAKE2b-256 75b0601a989b9d67f397f6990ecbae71dcde8e3ff8f40fcb420b828324d044a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page