Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write a trading bot using the Bisq API #1054

Closed
ManfredKarrer opened this issue Dec 4, 2017 · 19 comments
Closed

Write a trading bot using the Bisq API #1054

ManfredKarrer opened this issue Dec 4, 2017 · 19 comments

Comments

@ManfredKarrer
Copy link
Contributor

Write a trading bot using the Bisq API. Best to build on existing trading bot frameworks.

@ManfredKarrer
Copy link
Contributor Author

@dan-da @mrosseel Maybe you can add some input here.

@dan-da
Copy link
Contributor

dan-da commented Dec 5, 2017

yeah, I had planned to do this, but having trouble finding time. on holiday right now. Any pointers to existing trading bot frameworks?

@mrosseel
Copy link
Contributor

mrosseel commented Dec 5, 2017

@r8d8 @dulanov

@r8d8
Copy link
Contributor

r8d8 commented Dec 5, 2017

We (with @dulanov) started drafting bot here: https://github.com/1531/bisq-bot
geeko and zenbot BTC trading bots looks like mature one, will take a look into them.
If anyone has non Javascript examples, they will be also usefull.

@ghost
Copy link

ghost commented Dec 5, 2017

@mrosseel our main idea - write a simple cli application running via docker to simplify this step to automate final steps for BTC/ETH, ETH/BTC, BTC/ETC, ETC/BTC pairs trading. bisq-bot should just monitor both blockchain explorers in order to know when the BTC or ETH or ETC will come and make confirmation via Trading API in bisq automatically. That's all for beggining, just a simple prototype in Go language.

@mrosseel
Copy link
Contributor

mrosseel commented Dec 5, 2017

sounds good, do you need a dockerfile for the headless API?

@ManfredKarrer
Copy link
Contributor Author

Please consider the issues I posted at: #1047
"One challenge will be how to assign the transaction if there are several transactions with the smae amount and sender/receiver address. It can be that the same trade pair traded repeatedly with the same amount.
Another challenge is that many users do not use the altcoin address defined in the account for sending the altcoin, only for receiving we have that guaranteed. So that can also lead to unclear situations."

@r8d8
Copy link
Contributor

r8d8 commented Dec 5, 2017

@mrosseel, yeap, docker file will be very usefull.
@ManfredKarrer, thanks, will take this in account.

@mrosseel
Copy link
Contributor

mrosseel commented Dec 5, 2017

@r8d8 docker file was pushed, just do 'docker-compose up -d' and point your browser to localhost:8080/swagger (takes a few seconds to start up)

@ghost
Copy link

ghost commented Dec 12, 2017

FYI: I made a quick overview for actual java trading frameworks (more here):

  1. https://github.com/gazbert/bxbot
  2. https://github.com/paritytrading/parity

Also take some interest:

@mrosseel
Copy link
Contributor

mrosseel commented Dec 12, 2017

Thx for the overview @dulanov - my personal opinion is that at the moment Bisq is not suited for high frequency trading type techniques, you probably just have to work with the spread and profit from that. So I don't think these traditional bots are a good fit for the Bisq API - but happy to be proven wrong of course.

My idea of a 'minimum viable product' Bisq bot is this:

  • choose a market pair with good block explorers (BTC/LTC, BTC/ETH)
  • bot makes sure you always have a buy offer at e.g. -3% off market price and a sell offer at +3% market price
  • bot handles lifecycle of the offer: creation, checking that crypto arrives at your address, advancing offer status

@Quenos
Copy link

Quenos commented Jan 2, 2018

The problem using Bisq for automated trading other than market making is the fact that it is costly to cancel orders. Since cancelling orders is key to successful trading IMO (you want to be the maker, rather than the taker) it is probably not easy to rewrite existing bots.
From the white paper I took that the costs for cancelling orders is a design choice this will probably not chance either.

So I concur with @mrosseel that a market maker bot should be created first.

@ManfredKarrer
Copy link
Contributor Author

ManfredKarrer commented Jan 3, 2018

It is on open issue to figure out how we can do that without breaking the security function of the trade fee:
See: #1043

@stale
Copy link

stale bot commented Jan 18, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@dginovker
Copy link

Has further progress or new ideas been made on this subject? I don't see anything in the API that would support making a bot yet.

@rocket-pig
Copy link

I too am interested.

..aside from functional trading bots, how does one ever expect a (active, volume-inous) market to develop on bisq?

@csaroff
Copy link

csaroff commented Aug 2, 2019

@Quenos Could you elaborate on the cost of canceling orders? When would orders need to be canceled?

@Quenos
Copy link

Quenos commented Aug 3, 2019 via email

@MaxHillebrand
Copy link

I was looking through the issues, if there was already some discussion about having an automated fiat cost average trading bot. So, that a certain amount of fiat [or shitcoin] is always sold for bitcoin for every time period.

this issue seems to be the closest to the idea, so I'm asking here.

What I imagine being tricky is that the trading partner might be a different one for every trade, thus there cannot be a recurring fiat bank transfer, as the receiver is different all the time.

Further, bisq trades to require user interaction to review and approve the trade, signing the multisig transaction.

So, I'm not sure how to do this, but it would be a fantastic feature for sure!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants