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.49.1.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

tradelocker-0.49.1-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tradelocker-0.49.1.tar.gz
  • Upload date:
  • Size: 21.4 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.49.1.tar.gz
Algorithm Hash digest
SHA256 afb74a78f7aa5748a091136f4478e43f81511de93ab0b4c819c754288959ac1d
MD5 b81de1a9626c906aef523ef7c1c09b6f
BLAKE2b-256 ab81ab0ad00a33529313df23f0df85bfb519e3afdf534be2b516aa622c3c3b4d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tradelocker-0.49.1-py3-none-any.whl
  • Upload date:
  • Size: 21.4 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.49.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9a9cee6c9b43d7c48215bab11af1ee4fa46de05af770923dfb0617d22afff3a2
MD5 f002ea16242a9ec08fc0b5990ae053cd
BLAKE2b-256 5772f660df43f8135cd7415222ad7e033d2ead420d9b408c32109e803257ad5e

See more details on using hashes here.

Supported by

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