Code Monkey home page Code Monkey logo

kryptobot's People

Contributors

cpmcgee avatar eristoddle avatar exdx avatar justinhop 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

kryptobot's Issues

Batching similar (pair/exchange/interval) strategies duplicates candles in the database

This may have been caused by my refactoring of the original Titan code. I don't have 100% handle on python PubSub, Threads and Queues and may have broken something. So there were at least 4 tickers running.
The fix is to go to using Celery to replace most of this functionality. But a prevention would be a better handling of duplicate candles in the database similar to the way I save strategy data.
But the duplicate ticker problem also becomes an issue with exchange api limits.

Get everything using celery

Queues and Threads and Pypubsub are being used in the ticker, market_watcher, and PortfolioBase strategy like the original Titan algorithms. These can be replaced with celery, celerybeat and Redbeat or something similar to Redbeat. See how the harvesters run.

This issue's priority is only as high as the current method's resource usage which I have yet to investigate.

Get restarts working

Right now i can restart the jobs on launch, but although it picks up the strategy from the database and doesn't duplicate that, each run of the strategy is unique. This does not matter much on backtests or even simulation.
But with live trading, if something crashes the workers:

  • i want them to come back up and pick up where they left off.
  • i want them to know how many positions are open.
  • I want them to figure out the gap between the current candle and the last and use that data to calculate what should be done but not trade until caught up.
  • I want them to pick up the last run key. And maybe need to store an extra state key in json data, to signify worker downtime when running stats.

This a pretty complex problem

Work on harvester signals

I need a base harvester that receives an exchange parameter, one or an array of quote_currencies, and a signal to run. This will work the same a regular strategy except track an the complete market.

I will probably want to put a volume filter on it to ignore coins that may be a waste of time with not enough liquidity.

Turn multi-period pyti algos into signals

i have some pyti indicators commented out in the kitchen_sink_analysis. This is because they have multiple data points with varying periods. So they are more suitable as signals.

Result ratings and parameter testing mode

Make sure not to over-optimize or overfit, but create a process to find the best middle of the road parameters for say the dual simple moving average algo with ETH/BTC on bittrex. Backtesting and walk-forward testing automatically and finding the set of parameters that worked best on average.

In order to do this, i need a new set of classes or functions to determine fitness, since i know this can vary using data like total profit, average profit per interval, drawdown, # of trades. These should be able to built up or composed or mix and matched like indicators can in signals.

Add more talib indicators

I stopped adding talib indicators once I got a good idea that most of them would work for me. I did add all the pyti indicators, but there are many more talib ones, including candle patterns.

Add buy and start mode

Sometimes I get a signal somewhere else and I want and algorithm to put in an order right then, maybe with a set quantity or % of liquid quote currency. And then continue on with the selected algorithm.

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.