Yes. I've developed a simple strategy that algorithmically trades cryptocurrencies (mainly ETH and BTC because volume, but it would apply successfully to any of the others as well). The strategies are simple, they are based on simple technical indicators, and result in about 2 trades executed per day. The strategy can be applied to "normal" equities as well but it performs particularly well on cryptocurrencies due to…
Care to share a bit more on the strategy? I've been looking at exchange APIs and looking up strategies online, but I haven't started implementing anything. Wondering how you approached it once you had the idea to trade algorithmically.
To get started, I worked backward. The strategy is simple enough that you can execute it manually (e.g. read/interpret the indicators on a chart/graph and trade when the time is right). Once I determined a given strategy might be viable I formalized the strategy by writing a script to backtest it on historical data. Once it checked out I wrote a script that accepted real-time data from exchanges (I use GDAX, but most others with a solid API will work equally as well) and traded based on the incoming data.
I wasn't comfortable/familiar with any of the "hosted" trading platforms out there for cryptocurrencies so I built my own. It's very simple but it gets the job done and has proven very stable.
The most important part, for me, was to get the data streaming right. I ended up writing a Node.js server that listens to the GDAX web socket and feeds the data to a Redis instance. From there I have a separate process for each strategy I'm running that listens via a redis pubsub channel for new data. This was important for scalability and reliability. It also served to make the platform modular. For example, it can handle any number of data sources (exchanges) simply by adding a "connector" to the data source that feeds the data to redis. It can also handle as many strategies as you can think to throw at it simply by adding another script/process that subscribes to the relevant pubsub channel for the data it needs to execute the strategy.
It's probably overkill but it's made testing new strategies very easy and fast. I can take an idea for a new strategy, code it up, and have data streaming to it in real time in less than 10 minutes. Then it's just a matter of fine tuning the strategy.
A little long winded but I hope that answered your question...