Skip to main content

LNMarkets Trading Bot

A trading bot for LNMarkets, using the LNMarkets API in Python.

To install: pip install LNMarketBot

An abstract class LNMarketBot.Strategy is provided, which must be extended with implementation of LNMarketBot.Strategy.init() and LNMarketBot.Strategy.execute() methods. The init() method will be called only once, before the bot starts processing price information, while execute() is called repetedly, for every new price bar that bot recieves. Any parameters required by the strategy, can be passed during instantiation, and will be accessible using LNMarketBot.Strategy.params dictionary. An example strategy is provided in LNMarketBot/Examples/LowestPriceStrat.py on github.

The price information is obtained from Kraken, using Pykrakenapi, as the methods for same are currently not working for LNMarkets API. This may result in price discrepancy between strategy and broker execution. The price bars are of 1 minute duration, and at present, only supplied for last 12 hours.

Bot interacts with LNMarkets through LNMarketBot.Broker class, which provides methods for buying/selling, as well as properties for viewing opne/closed positions, balance, etc.

You can enable Telegram or Pushover notifications through LNMarketBot.Notifier, which provides methods enableTelegram(chatID, token) and enablePushover(userkey, APIkey) for the same. A notifier instance is added to broker on instantiation and access via broker.notifier and all position updates through broker will automatically be notified. If you want to disable the automatic notification, instantiate broker with silent=False.

Example Usage:

import LNMarketBot

LNMToken = '<YOUR TOKEN>'
broker = LNMarketBot.Broker(LNMToken, <Starting Balance>)
telegramToken = '<Telegram Bot Token>'
chatId = <Your Chat Id with Telegram Bot>
broker.notifier.enableTelegram(chatID = chatId, token = telegramToken)

#LowestPriceStrat is provided in LNMarketBot/Examples/ on git
strategy = LowestPriceStrat(
    broker=broker,
    BollingerPeriod=20, Deviation=2.0,
    AveragePeriod=240,
    StopMargin=0.02,
    BuyLimit=1.05,
    TradeDistance=0.1,
    RiskPercent=0.01,
    TrailPercent=0.1,
    CashLimit=1.0e06,
)

bot = LNMarketBot.Bot()
bot.addStrategy(strategy)
bot.run()

Note:

  • LNMarket token needs only 'positions' scope. This ensures leaking it cannot result in loss of funds through withdrawal.
  • This project is under development and not well tested. You are advised to review the code if you plan to use it for trading.
  • The author is not responsible for any loss that may result from use of this project.

Metadata

Release files for LNMarketBot 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for LNMarketBot 0.1.0
File Size Uploaded
LNMarketBot-0.1.0.tar.gz 4.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for LNMarketBot 0.1.0
File Interpreter ABI Platform
LNMarketBot-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.9 kB

Release files / LNMarketBot-0.1.0.tar.gz

Download URL LNMarketBot-0.1.0.tar.gz
Size 4.6 kB
Tags Source
SHA-256 checksum
How to use checksums
115bd7dfb0be6bd96e85fa103b7b1b41f5c7dc459d0e0632471db329070c52ce
BLAKE2b-256 checksum
How to use checksums
8640588f0083dbac335c01cbf939eaabcf9da41f5a2b9ec5925acf493b791fd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

Release files / LNMarketBot-0.1.0-py3-none-any.whl

Download URL LNMarketBot-0.1.0-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
224d0c200041c1043f67bf580bfa49d9fee55f9b58e96c0a725a64daf5efc391
BLAKE2b-256 checksum
How to use checksums
5bf17aa42fff6a59421821189b3d39ad81286a59e47a7f25b2f0036b1e9535f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

Release history Release notifications | RSS feed

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.2

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page