Fazer-dxmbot-008


#1

Proposal Name:
fazer-dxmbot-008

Owner:
Fazer as @fazer on discord

Cost:
500 BLOCK(fazer) (development + running experimental 24/7 liquidity bot for testing, debug, collect stats + add more liquidity to small orders)

Voting:
vote d4c0b496648d92433f9f86730d289b07d0f63683512a32712091df5833d1dc14 yes

Previous Work:

  • fazer-dxmbot-001
    – discussion and development dxmakerbot 001 has been already done.
    – dxmakerbot 001 can be found at https://github.com/nnmfnwl7/dxmakerbot/tree/fazer_dxmakerbot_update_001

  • fazer-dxmbot-002
    – working on slow development of upcoming features
    – doing support for ppl who are interested in dxmakerbot
    – div by zero bug fix

  • fazer-dxmbot-003
    – working on slow development of upcoming features
    – added add more validations and help messages https://github.com/nnmfnwl7/dxmakerbot/commit/3397670521c511a585beb5d329ab3935d4dec9a0
    – fix dxmakerbot exeption caused by balance-get in case when wallet disconnected https://github.com/nnmfnwl7/dxmakerbot/commit/3397670521c511a585beb5d329ab3935d4dec9a0
    – doing support for ppl who are interested in dxmakerbot
    – merging changes for upcoming dxmakerbot_v3
    – you can find latest version here: https://github.com/nnmfnwl7/dxmakerbot/tree/fazer_dxmakerbot_latest
    – you can find latest beta version here: https://github.com/nnmfnwl7/dxmakerbot/tree/fazer_dxmakerbot_latest_beta
    – dev add reopenfinishednum and reopenfinisheddelay config feature
    – dev add trading boundary config features boundary_*
    – dev upt delayinternal default value from 9 to 3 to increase timers accuracy

  • fazer-dxmbot-004 and fazer-dxmbot-005
    – research, development, testing, bugfixing, support, code refactoring, repeat
    – updated reopenfinished to reopenfinisheddelay and reopenfinishednum - finished orders will be reopened after specific number of filled orders or in specific timeout
    – added static/relative and asset-relative trading price boundaries
    – as easiest explanation, boundary features are very useful when you wanna from dxmakerbot to stop working when price of configured asset goes out of boundary (maximum minimum). Like to prevent selling BLOCK under specific or relative price.
    – all new stuff already in community testing pre-beta, details in commit https://github.com/nnmfnwl7/dxmakerbot/commit/7e164021d6a517b1825f49eb150601f4d4ff0e80

  • fazer-dxmbot-006
    – research, development, testing, bugfixing, support, code refactoring, repeat, 24/7 bot running and analysis, block dx liquidity support
    – working on dynamic spread(slide) feature fix and update. New params --slidedyntype ‘relative’/‘static’ and --slidedynzero for asymetric dynamic spread(slide) balance. Dynamic slide is functionality which can dynamically update slide when market center price still have no action but one side selling/buying already started. As bot detect unbalanced sells/buys it automatically move order price with dynamic slide as is it configured from +0 dynamic slide up to +max dynamic slide at specified amount.
    – updated internal balance measurement as total, reserved=locked by orders, available=left.

  • fazer-dxmbot-007
    – working on <–sellstartmin> and <–sellendmin> which are dynamic order size/dynamic taker size/partial orders.
    – Dynamic order size means, if there is not enough funds to add order with default size by <sellstart (size of first order)> <sellend (size of last order)>, bot will recompute highest size which is available to create and also must meets required minimum order size provided by <–sellstartmin> and <–sellendmin> For example if your bot is configured like <sellstart 300> <sellend 100> <sellstartmin 100> <sellendmin 50> <maxopen 3>. By default will bot try to create 3 orders: 1# maker with size 300, 2# maker with size 150 and 3# maker with size 100. If orders are somehow done, and there is not enough funds to create order ie. 1# at size 300, but available only 51, bot will not create 1# also 2# but last order which is at <sellend 100> <sellendmin 50> and maker size meets minium 50, so order at maker size 51-txfee will be created.
    – Partial orders means, to cooperate with upcoming BlockDX partial orders feature.
    – Dynamic taker size is to cooperate with upcoming makerbot <–takerbot> feature.
    – working on <–takerbot> feature. to “Keep checking for possible partial orders which meets requirements(size, price) and accept that orders.”
    ‘If this feature is enabled, takerbot is automatically searching for orders at size between … and at price +* and higher.’
    ‘This feature can be also understood as higher layer implementation of limit order feature on top of atomic swaps on BlockDX exchange, because Takerbot can possible cancel multiple opened orders to autotake orders which meets requirements’
    ‘(I.e. value 30 means check every 30 seconds)’
    ‘By default this feature is disabled.’
    – as always research, development, testing, bugfixing, support, code refactoring, repeat, 24/7 bot running and analysis, block dx liquidity support

PLEASE READ
All next followed features list will be prioritized on the fly by research and development of dxmakerbot.
Done/in testing updates of this “rolling up” proposal are moved from Overview: to Previous Work: section.

Overview:

  • Purpose of this proposal is to continue with dxmakerbot research, development, testing, bugfixing, support, code refactoring and rolling-up new features and makerbot versions.

  • in long term view mainly to release makerbot v3 which will be complex fileconfig BlockDX maker/taker bot with pre-configured multiple strategies which will be automatically executed/stopped by hiting conditions to ie: auto long, short, stabilize price.

  • possible features/work to be done:

  • add more dxmakerbot events/features(exit bot events, reset order events, reopen order events, wait order events)

  • add save and restore orders from file

  • save orders to db before exit, dxmakerbot session will be able to cancel only session specified orders on reconfig/exit/crash

  • update configuration verification if missing something to be more user friendly

  • analyze update_balances_unspent() and update_balances_left() possibility

  • update dxmakerbot and XBridge API to handle UTXOs:
    – details about this feature is included in previous proposals DOCS.

  • PUMP/DUMP auto management, feature is expected in V3 makerbot

  • autodetect and precompute possible next pump

  • dxtakerbot/dxmakerbot automatically selling all coins of wallet which is detected as going to dump…

  • feature is to automatically compute top price of next pump and cover it.

  • feature to opposite dxbot side to detect pump/dump to disable dxbot to not make a loss.

  • add logarithmic/exponential/normal staggered mods for orders size and price

  • educational examples & info-graphics & video tutorials how to use dxmakerbot

I believe that i gives you many reasons to vote up this proposal to continue dxmakerbot development and all stuff around.
Thanks for your time & MTFBWY
Hopefully see you later on upcoming dxmakerbot development.