24 ms·
Getting Started with Algorithmic Cryptocurrency Trading
- brndnmtthws 9y agoIf you want to lose money, this is a good way to do it. You're better off buying what you believe in and holding it. It's easy to fit a perfect model to historical data, but it rarely works going forward, unless you have insider information.
- senatorobama 9y agoChecked the GitHub. > Many people are reporting losses in live trading even if the simulation results and/or paper trading is positive. Someone's missing the big picture.
- paulgb 9y agoOh, the issues from that repo are entertaining. This issue alone should be enough to make the case that you shouldn't build a production trading system in JavaScript. https://github.com/DeviaVir/zenbot/issues/1037 https://github.com/DeviaVir/zenbot/issues/1037
- deleted 9y ago[deleted]
- swiftting 9y agoLmao Oh JavaScript first you steal time by being an unproductive language and now you help lose money because you’re not an industry grade language smh.
- RandomInteger4 9y agoUnproductive, how? Also, this isn't a javascript problem; this is a problem of trying to be too clever and not understanding implicit conversion, which happens in many languages.
- flavio81 9y ago>implicit conversion, which happens in many languages And that doesn't happen in many decent languages. That is, languages with strong typing.
- pcmaffey 9y ago`0 === false` is maybe the only thing that I actually hate about javascript. Mutability, I understand and thus can deal with it. Scope, no biggie. But resolving a number to false, when all other numbers resolve to true? Inexplicable. EDIT: `!0`
- RandomInteger4 9y agofalsiness of 0 is not unique to javascript. int main (int argc, char* argv[]) { return 0; }
- joosters 9y agoThat's nothing to do with the language! UNIX processes return an exit code, not a true/false flag.
- RandomInteger4 9y agoWhat question does the exit code answer? Are there any errors? No (0) there are no errors. The concept of using 0 to mean false is not new to javascript is what I was getting at.
- kbart 9y ago"Are there any errors? No (0) there are no errors." Not necessarily. It's just a (mostly POSIX and Linux kernel) convention to use 0 as "no error" result, but there are plenty of code that returns 0 as an error and >0 for success. It has nothing to do with C language itself, as C functions let you return pretty much anything or nothing at all (void functions).
- joosters 9y agoAgain, it's not a yes/no flag. The question is rather 'what error happened?' - in which case, it makes eminent sense for 'no error' to be the first exit code, hence 0.
- boomlinde 9y ago
- RandomInteger4 9y agoThis isn't a javascript problem. They were trying to be too clever and test whether a value was set in the same statement where that value was used for a comparison. The non-truthiness of 0 is something present in many languages.
- paulgb 9y agoIt's not specific to JavaScript (I've made the same bug in python), but it should be a sign that a language designed to make websites interactive fulfills different requirements than a language designed for building real money trading systems.
- RandomInteger4 9y agoMaybe, or maybe people just need to be less clever with their code?
- a13n 9y agoCan you expand on why you don't think algo trading with predictive algorithms is a viable strategy? GDAX has 0% fees on limit orders. Say you set a limit sell at +1% and a stop loss at -1%. You could trigger a buy whenever you predict that it's >80% likely to hit +1% before -1%. Plug in everything you can get (trades, order book, etc) from GDAX's WebSocket API into an RNN, and I'd guess you can be right more than you're wrong. Aka profitable.
- adjkant 9y agoAnother interesting idea is that patterns can hold if the market is mostly being affected by bots. Especially at the micro level. Even basic ML/AI strategies can be easily profitable with the current volatility. It drastically reduces the risk of the HOLD strategy, and while not necessarily the top profits, can be much safer. I've been running various algorithms for the past 4 months with varying success (whole system homemade in Python), all profitable. I'd also note that as mentioned elsewhere in the thread, what algorithm is very important. This market is like few others, and thus I have found lends itself to very different strategies.
- a13n 9y agoSee? Now there's a blog post I'd read!
- canttestthis 9y agoCould you link me to where it says GDAX has 0% fee on limit orders? I couldn't find it.
- ctchocula 9y ago"When you place an order at the market price that gets filled immediately, you are considered a taker and will pay a fee between 0.10% and 0.25% for BTC books and 0.10% and 0.30% for ETH books. When you place an order which is not immediately matched by an existing order, that order is placed on the order book. If another customer places an order that matches yours, you are considered the maker and your fee will be 0%. When you place an order that gets partially matched immediately, you pay a taker fee for that portion. The remainder of the order is placed on the order book and, when matched, is considered a maker order. The fee is 0% for that part of the total order." https://www.gdax.com/fees/ https://www.gdax.com/fees/
- spentcoin 9y agoI make profits on something like 95% of my trades when I'm trading manually. I do so because I have a bunch of rules that I stick to... If a market is too 'hot' I don't touch it. If the market turns right when I buy I set my profitable limit and let it sit until the market does eventually flip back around and the trade fills. This ruleset that I stick to is essentially a basic algorithm. An algorithm that could be improved upon vastly by adding on-the-fly TA and sound, complex math (that my brain is too slow to calculate). Those who believe an algo can't reliably make profits trading also believe that humans can't reliably make profits trading since every decision we make is a result of some form of algorithm.
- edf13 9y agoExactly... And one of the big benefits of algo trading is that it takes the emotion out of the decision. That's the main factor of human losses and mistakes. We always doubt ourselves. You turn your 95% trading rules into an algo you can be sure it won't take a quick out to cut it's loss when it looks like the market is going wrong... the machine will always trust itself.
- paulie_a 9y ago"In no way am I a financial advisor or an expert in this field" Yeah... No shit
- scottmsul 9y agoI was hoping to see some discussion about market-making bots or arbitrage bots, which I know for a fact can make money. Can these kinds of prediction bots actually beat random chance? I assumed price fluctuations mostly followed a random walk.
- joosters 9y agoThat's not really related to it being a bot, though. For any form of trading (whether manually or through some form of automation), of course there's going be some choice of buys & sells that return a profit. How you choose such a profitable strategy is a huge area of discussion. However, it's a completely different subject to the article, which is just focused on the mechanism of running a bot.
- oil7abibi 9y agoAll this post is how to set up a github project. Nothing more. I’d hope to rather see writing on portfolio management, risk management, or other strategies. That said, Zenbot actually provides a decent platform to start trading.
- lvturner 9y agoThanks for this - would be nice if the article included an example on how a strategy was built, or how to add additional ones into the framework.
- jiggunjer 9y agoI've heard of strategies where multiple accounts can collude to manipulate the solo bots that make statistical decisions. Is this a real danger when professional companies start getting involved in crypto?
- a13n 9y agoHmm, just looking at GDAX's API, you aren't able to tell who's making an order. You don't know if it's one account with ten orders, or ten accounts with one each. So I don't see why multiple accounts would be an advantage.
- lvturner 9y agoOne thing that springs to mind is that it would allow you to have POSITIONS on both sides of the market, you could use this to create a series of small sell orders that would lure the bots down towards a larger buy order. You could do this by just placing orders, but I guess in some instances it would be beneficial to be able to hold positions in both directions.
- RandomInteger4 9y agoThe API let's you take positions on both sides with a single account, or prevent yourself from self-trades by setting a flag. EDIT: Nvm, the flag just specifies what the behavior is in the event that the system encounters a self-trade: decrement and cancel, cancel resting, cancel incoming, cancel both.
- locusm 9y agoThis reminded me of Tradewave back in 2014, any idea what happened to it?
- senatorobama 9y agohttps://archive.is/ZvE6z https://archive.is/ZvE6z
- locusm 9y agoThanks.
- bigiain 9y ago> # Install NPM dependencies > $ npm install So we know for sure that there's not a malicious leftpad.js getting pulled in there that looks for and exfiltrates your exchange credentials? Yeah - I'm not going there... Not anywhere near there...