gazbert / bxbot

A simple Bitcoin trading bot written in Java.
MIT License
775 stars 275 forks source link

Improved Test-Adapters #137

Closed MarcDahlem closed 2 years ago

MarcDahlem commented 3 years ago

Describe the solution you'd like I would like to have a better test exchange adapter, which:

Describe alternatives you've considered

Additional context For the main feature, I created a (currently red/wrong code-formatted) PR: https://github.com/gazbert/bxbot/pull/136 Also for the alternative way, I added an example "backtest" adapter in https://github.com/gazbert/bxbot/pull/135 (This backtest adapter adds also ta4j examples for strategies).

Before I work further on those PRs (Tests, Formatting etc), I would like to discuss about the general idea. @gazbert can you please check the ideas of the PRs? Thx a lot!

gazbert commented 3 years ago

Hi Marc, sorry for delay getting back to you - lots going on at the moment!

Thanks for contributing these PRs - some awesome improvements there :+1:

I think the improved test adapter PR ( #136) is a definite yes to get cleaned up and merged. Much better than the current dummy adapter (it was originally conceived as a test adapter for the initial integration testing with exchanges, hence the limitations). I'll try and make time to review/merge/release when I can. So yes, please fix build/Sonar/docs updates etc, and we'll get this released in the next couple of weeks... :+1:

The back-testing adapter PR (#135) is a massive amount of work - thanks for doing this. Something that's been on the radar, but never time to do due 'real' work commitments and family life etc. I'll need to make time to have a good look over and review etc, but that might not be for a while, but it's definitely something the project needs and it will be included at some point. We'll need to get the README docs/Wiki updated too. I think it'll be sometime in the next month or two due to work commitments. You might want to run with your forked bot in the meantime, until I get a chance to go through all the code etc?

MarcDahlem commented 3 years ago

Great! Of course its fine for me if it takes a bit longer to merge and release. In the meanwhile, I created a bunch of strategies, helpers and so on in my fork. So I dont need the release for me :-)

As I know that you are interested in the PRs in general, I will finish the open PRs and will open a few more for other enhancements ;-)

Btw: I realized that it is really hard to share code/utils between the exchanges and the strategies (for example BreakEven-Calculations), between the core and the strategies (E-Mail sending e.g. on Buy and Sell events) or between the core and the exchanges (Inject classes and beans). Do you have a preference, where to put some utils or shared code? The *api modules would work, but it feels like the wrong place to put shared code in an interface module)

gazbert commented 2 years ago

Merged #136 to master.

TODO:

gazbert commented 2 years ago

Ready to go...

gazbert commented 2 years ago

Released.