eristoddle / kryptobot Goto Github PK
View Code? Open in Web Editor NEWCryptocurrency Trading Platform
License: Apache License 2.0
Cryptocurrency Trading Platform
License: Apache License 2.0
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.
I'd like to develop the Deep Learning based strategies based on your project.
Figure out what causes this. May just be exchanges themselves being jangly since they are and that candle is gone for posterity.
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.
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:
This a pretty complex problem
May be in one of the indicators. But not sure.
It happens intermittently but often enough to catch.
This matters in simulation and live mode since live mode syncs historical to get a running start
The connection details for celery are currently hardcoded for celery.
This will affect it's ability to be distributed eventually.
The file to target is
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.
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.
So far cryptopia
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.
Send a signal through chat, email, text, etc, with links to trigger the default action. i.e. a signal doesn't instantly buy or sell, but is put on hold until it messages you and you answer.
If you set your balance to 1 BTC, and a high order quantity. Orders will happen but the btc balance will stay at 1.
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.
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.
Like STEEM-BTC or CRB-BTC on bittrex. It seems to be lower volume coins. But somehow the quote balance (i.e. BTC) is always at 0 or around it the whole run. The ohlcv graph itself looks legit.
See kitchen_sink_analysis. These should be handled before hitting there.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.