Crypto Trading Bots

I (like many others) have been trying to write a crypto trading bot for some time now. And it's quite confusing,

Anyone out there with experience with this? I'm curious how you tell when you've actually got something good. Like, I can tweak parameters to get a good backtest on any data set, but other parameters lead to an absolute shit show. I feel like I'm just writing an algo to be good at trading on a specific data set at any given time, and I'm not sure how to tell when I've got something good.

Any advice would be greatly appreciated.

Attached: 4.jpg (640x960, 64K)

Other urls found in this thread:

Trading bots are as only good as the people that program them.
For retards on Veeky Forums, it's not even worth trying.

There are some really smart guys on this board who've written bots

Program it to buy low sell high

Ah, great advice. Thank you.

Evaluation and Optimization of Trading Strategies by Robert Pardo.

You're welcome.

unless you have a degree in economics, your best bet is to try and use tensorflow and machine learning to make your buy/sell decisions for you.

I’v written some on Enigma Catalyst. Highly recommend using Catalyst if you are not already. If you have any questions ask away.

an engineering degree would help more actually

creating a bot is easy
making it interact with an API and execute trades is easy
telling it what parameters to consider when determining buy/sell is the billion dollar question

by all means, feed it whatever rules you want.
but I think a degree in economic trends would be most beneficial if you don't plan on using machine learning or AI

Thank you, I'll look into it

I have been looking into machine learning quite heavily. My original question still stands: How do you know when you've got something good versus just getting lucky with parameter tweaking on a specific backtest?

Surprised I've never heard of that, thanks for the heads up! I was googling around and found some random stuff like this but they didn't work very well with my use case so I just ended up doing everything by hand.

I guess my main question is what I originally asked: How do you know when you've got something good versus just getting lucky with parameter tweaking on a specific backtest?

I've got a CS and math degree thankfully

I'm very familiar with the whole API use and what not. My original question still stands: How do you know when you've got something good versus just getting lucky with parameter tweaking on a specific backtest?

>How do you know when you've got something good versus just getting lucky with parameter tweaking on a specific backtest?

Your best opportunity to run a trading bot, believe it or not, is during a market like this.
In answer to your question, you don't. Ever really.
This market has violated so much analysis on a weekly basis. Let alone talking about timespans over 6 months.
If (when) the next "bull market" begins, most trading bots will be struggling to keep up, even if they consider previous bull markets.

This guy gets it You can buy/download a bot anywhere, there are tons of them. You need to configure it properly to make any money. You can also buy/rent other people's trading strategies for bots.

i've been using cryptohopper trading bot for past two months and so far i invested $1000 and purchased a zcash mining contract, 100 oz silver, and 25 quantum as well as pay my fee for the service. I still currently have $800 worth ethereum in assets on exchange. I generally have around 150-300 trades a day with 2-3% gains. when the market crashes i usually get stuck holding bags and either have to wait it out or sell as losses, haven't figured that part out yet. I don't know much about it, I just happened upon settings that worked.

>just know your parameters

Attached: vO7lRZ7.png (621x702, 56K)

I see, thank you. So maybe I should be backtesting on time periods where the market is relatively calm? And if I get a consistently good backtest during calm periods I can use it to trade during this calm period we're currently in

Suppose your algorithm has two parameters, p and q. What you are doing is looking for a pair of numbers that maximize your profits. But the problem is, you don't know what "true" values of p and q are since the process you're modelling is noisy and nonstationary. So what you need to do is explore the region around values of p and q that you found. You can do a grid search, for instance, and plot the landscape of returns depending on p and q. Then you can see if the values you're working with are on top of a sharp peak (bad) or a wide plateau (good). You can also try perturbing p and q with some random noise and see what happens to your returns (you want small changes to p and q to result in small changes to returns). If your algorithm is not stable under small changes to parameters then your results are probably spurious.

If you have a math degree you should know asset prices are a geometric brownian motion.

You cant forecast them

math brainlet here, does that mean that price prediction is impossible using forecasting? Then how would you actually algorithmically determine prices?

This is really good advice, thank you.

I should clarify I'm not math expert -- only have an undergrad math minor. Also, I'm not trying to forecast asset prices, I'm trying to develop an algorithm that can bet on which cryptos to buy in a manner in which the bets beat the market

>Then how would you actually algorithmically determine prices?

Attached: 1520435174442.jpg (1129x1200, 118K)

If you think even programming the bot is hard (this is the easy part), then I would really just stay away, you're bound to waste both time and money.

Again, I do not think this part is hard. I am an extremely competent software engineer and have had absolutely no problem getting all the APIs set up, managing and organizing huge amounts of data, etc etc.

I have an algorithm set up, and my question was about how to tell if it's good because you could just be tweaking parameters to fit a specific backtest well.

I don't even want a bot that trades for me. I just want a customizable GUI that can connect to whiever exchange I'm using and helps me deploy my orders in a faster manner than having to calculate shit and then click and type all over the screen just to get an order.

Is Coinigy what you're looking for?

Coinigy is buggy as hell and only offers the option of using specified percentages of my portfolio on a trade (and don't allow setting both take profit and stop losses simultaneously). I want something much more customizable than that.

I see. I've also heard they don't track your previous trades very well. All of this sort of makes me want to make a competitor to them but I feel like they could just fix their shit at any moment and BTFO my team's work

Yeah they have the right idea but a poor execution. I guess they do have a first move advantage (and who knows what they're working on behind the scenes). A competitor would be nice though.

the engineering degree doesn't write the bot for you, you fucking retard

So you are programming an artificial neural network that trades in cryptocurrency?

you keep asking this question in sort of the peak autist way

obviously you cannot actually make easy money in quant trading on crypto. finance as a theory is arbitrage of mispriced risk, not mispriced assets (as others seem to conflate).

in practice that means crypto bots are usually taking lower prices for cryptocurrencies on shady exchanges and trying to move the crypto (the presumably safe currency) to more legitimate exchanges with higher prices. but the reverse is very difficult to do, because then you're selling at higher prices on shadier exchanges, and the whole reason they're shady is that you don't actually successfully withdraw the cash in the end.

your bot is exploiting mispriced risk there.

when you just backtest, yes obviously you're just learning useless patterns. indeed people use backtesting to evaluate different risk scenarios (e.g., will you go bankrupt if instead of a 2% drop, there's a 5% drop? how about a 20%?)

backtesting is just one part of a design. feasibility is an important one (can you actually execute a risk arbitrage trade?) but mostly in the risk arbitrage business—i.e. the **finance** business—it's about whether engaging in the activity actually nonlinearly increases your exposure to the underlying risk just by attempting to make money off of it.

and that's where the dominos fell for successful bots. the only people trying to withdraw huge amounts of cash from shady exchanges were bot traders, and because they all were trying to do it at once they failed.

just don't be a fucking idiot and don't trade crypto. nobody actually makes any money off of it, surely you see that's a fiction.

>nobody actually makes any money off of it
this is why you will be infinitely poor forever. also, you are wrong

i like to stick my meanest points at the end, to see who reads that far

Whoever said OP was making an arbitrage bot. Sounds like it's a day trading bot.

because in order to not tell him what to actually do, which a million idiots will do, i thought sharing experience in something that actually works would be better

i would hate to author a day trading bot, since its owner will just feel great about the days it gains and not cash out, and then inadvertently let it tank and sell at a loss.

I think with crypto you need multiple algorithms and have to switch between them depending on the scenario\market sentiment.

I think could make way more money by manually trading using a Telegram chat bot and sending custom commands over my phone when I am on the go.

I was planning on doing a non arbitrage bot lol, AKA day trading but not HFT. I would like to make one that wins some days and loses some days, but wins more than it loses of course, and then just never cash out and let it run for a long period of time.

The only code you need is right here. Off top of my head so I haven't debugged it.

from math import *

entryprice = input("Buy price")
entryprice = float(entryprice)

#code here to connect to your live trading price, pass it to a float named tradeprice

while entryprice > tradeprice:

You'll need to format the spacing though. GL user.

Here's the core piece of my own bot's internal logic:

if(price = high) {shitcoin.marketBuy() }

>You can't forecast a geometric brownian motion
This is wrong though.

Nice stop loss, see we made it

Question: how much money can you daytrade in a single transaction so that the order is filled quick enough? Obviously volume matters, so could you daytrade with like 20k on bitcoin and have it filled quickly if you put the price close to market? Because even just 1% daily gains is decent, and I think I can easily make at least 2% just by following MACD on 5 min charts for coins that are doing well on that day.

Attached: 1508381312192.jpg (2176x786, 260K)

yeah, thing is you need to be able to make a profit manually

Guys my bot finally works, i'm so fucking happy to be honest. Months and months of method research and i'm making 4 - 5% daily now

tell us more?

waht indicators
plz sir

Attached: 1521202200959.jpg (660x716, 72K)

I use Profit Trailer with ETH pairs and trade manually on a secondary account.

The bot works great, getting an easy 2-3% a day, but sometimes it gets stucks in bags because I dont believe in stoploss and I'll have to wait a week or two before it starts rolling again.

Its nothing revolutionary but its doubling my trades and has already paid off the license cost, so I'm happy.