Giter VIP home page Giter VIP logo

kraken-dca's People

Contributors

adocquin avatar dependabot[bot] avatar joergrs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kraken-dca's Issues

Hourly delay instead of days

Hey there, I would like to buy several times a day. Is it possible to change it to hours or even disable at all? Then control via crontab would be possible easily!

Thanks 😊

Some pairs only accept 1 digit

When running the script for BTCEUR (XXBTZEUR) I get an error the API only accepts 1 digit and the order is not placed.

ValueError: Kraken API error -> EOrder:Invalid price:XXBTZEUR price can only be specified up to 1 decimals.

DCA up to a certain price

Hello and thank you for the bot, it's awesome. I'd like to suggest a new option for the config, max_price or something similar, to stop DCAing after a certain price milestone. It might be useful for someone who wants to accumulate but doesn't want to increase the cost basis of the existing positions. Please consider adding this. Cheers.

Use logging instead of print

In order to have more versatile logging output (timestamps, warning levels, optional debug output) it would be good to use the Python logging functionality instead of print.

No DCA pairs specified

Whenever I run kraken-dca I get the error:

Configuration file incorrectly formatted: No DCA pairs specified.

However my config/yaml looks valid to me
It passes yaml validation and includes:

dca_pairs:
  - pair: "XBTGBP"
    delay: 1
    amount: 15

I've also tried different combinations of pair name etc.

Any advice on this? Cheers

Proposal: Allow mixing of manually set orders and DCAing

Problem: If a manually set open or closed order exists for the currency pair, all DCAing will be skipped.

Solution: When DCAing, only check open/closed orders that have an amount within a 1% range of the desired DCA amount.

OSError: Too much lag -> Check your internet connection speed or synchronize your system time

The order is not placed with the error: OSError: Too much lag -> Check your internet connection speed or synchronize your system time.

  • System used is Windows 11 with Python 3.9
  • The local time is auto synced with time.windows.com

The script kraken-dca logs: It's 2022-07-06 05:54:29 on Kraken, 2022-07-06 05:54:28 on system

After triggering the sync manually (sync now), the kraken-dca script executed correctly - placing the order.
The script kraken-dca logs: It's 2022-07-06 06:02:58 on Kraken, 2022-07-06 06:02:58 on system

Proposal: Enhance DCA order and DCA count

Hi,
thanks for the script - great work!

I want to suggest two additional options.

Order details:
Each DCA order to be expired at a defined time. Rational: if the order was not executed because the limit factor was set to low, then the next day an order not be created as there's still a pending order

  • Add expiration time (hh:mm) to DCA order as optional value (default value blank)

DCA count:
The DCA count (per day) is currently based on the pair. If there's was a separate order on that day, then the dca will be skip for that day

  • Use the transaction ID or timestamp to evaluate whether there was already an dca order on a specific day

Would be great to see these additions. And thanks again.

Kraken API rate limit exceeded

Hi,
Thanks for your script, works very well !

I'm using your docker image and my config.yaml is composed of 11 pairs, at the eighth pair the script show me this error:

Kraken API rate limit exceeded. Waiting 10sc...

Then next time the script start again by the first pair and failed at the eight. So, my last pairs are never processed.

What do you think about adding a sleep() between each pairs ?

Already DCA - but dind't so

Hi,
first of all, thank you for your awesome work!
Currently I'm facing the problem that my script is responding with Already DCA but there wasn't any executed buy order since serveral days. The configured delay is pair: "XXBTZEUR" delay: 1.
There's enough funds in my account. Do you have any idea how to troubleshoot this issue?

Thank you

Multiple Pair Investment

Hello,

I checked in the code and i'm not sure that kraken-dca is able to invest in multiple pairs at the same time;

Say; BTC & ETH

Can you please confirm ?

Thanks

BTC/EUR Pair

Hello,

When i check on the kraken page, the BTCEUR is not found.... which seems very weird to me.

There are TBTCEUR or WBTCEUR but not BTCEUR... weird no ?

Ced

How to specify buy or sell orders?

Hi and thanks for providing the repo!
I am looking into the configuration, and in the pairs specification, I see no way to specify whether an order is a buy order or a sell order.
For instance, for placing an order to buy BTC (XXBT) with EUR, I can find the XXBTZEUR pair, but not the reverse.
(from here):
"XXBTZEUR":{"altname":"XBTEUR","wsname":"XBT/EUR","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","cost_decimals":5,"pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3,4,5],"leverage_sell":[2,3,4,5],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],

Kraken API support informed me that there is no reverse pair and I have to specify whether it is a buy or sell order. However, through a brief look at the code and config, I do not understand how that would be possible.

Improvement: Prevent accidential committing of config.yaml

The config.yaml file is part of the repository. Although, it must be edited by the user by adding their private key and other information.

This has two drawbacks:

  1. The local working copy is usually "dirty" as this file is changed. When pulling a newer version of the repository that also changed this file, conflicts may occur
  2. When developing in the same local copy, it may accidentally happen that this file is committed (including the private key)

Possible solution:

  • By default only provide a file config-sample.yaml that must be copied to config.yaml by the user
  • Add config.yaml to .gitignore

Limit orders to catch the dips

Hello,
how about an option in the config on how much below the current spot price the order should be set? This would allow to catch little dips and offset the fee on kraken that way.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.