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

Suggestion: allow a fixed "budget" per bot #611

Closed
Pat71 opened this issue Jan 30, 2018 · 13 comments
Closed

Suggestion: allow a fixed "budget" per bot #611

Pat71 opened this issue Jan 30, 2018 · 13 comments

Comments

@Pat71
Copy link

Pat71 commented Jan 30, 2018

I am using multiple bots on different coins, all on USDT.
The problem is, that e.g. the TBP(%) and the profit calculation is based on the USD, so if one bot buys a lot of coins, the tbp(%) for the other bots gets reduced and vice versa.

It would be nice if there was an option "budget" or similar where you can specify how much of the base currency the bot can use (i.e. "use 500USDT") and all dependant calculations are based on this (like profit).

@ctubio
Copy link
Owner

ctubio commented Jan 30, 2018

nice idea many thanks'¡ will do soOn''

@Pat71
Copy link
Author

Pat71 commented Feb 14, 2018

wallet-limit does not work (yet) as intended:
I started K with "--wallet-limit=50" on ETCUSD, set tbpand maxbidsize to 10% and the first bid goes with 28$ (maximum should be 5$ if I understood the new option right).
Furthermore, in the "value"-box on the far left the full base currency is printed (I think the wallet-limit should be listed there).

Or is wallet-limit a relative (%) value?

Ok, I found out that "--wallet-limit=50" means that the limit is set to FV*50... in my opinion it would be better to take the base currency, i.e. 50 means: take max. 50$...now, I have to calculate, for example DIMUSD has a FV of 0.00590000, so if I would like to spend a max. of 50$, I have to set the wallet-limit to 8474...

And nevertheless, the TBP/pdiv resp. maxasksize are not working correctly...I set the wallet-limit so low that the max. ist 35$ and the first bis goes with 28$ (on tbp 10% and maxasksize 10%).

@ctubio
Copy link
Owner

ctubio commented Feb 14, 2018

if the market is ETCUSD, --wallet-limit=50 means 50ETC; that is, the bot will not have more than 50ETC on both wallet sides.

the limit is not set to FV*x, FV is used to calculate the USD after the remaining ETC

@ctubio
Copy link
Owner

ctubio commented Feb 14, 2018

are you using poloniex?

@Pat71
Copy link
Author

Pat71 commented Feb 14, 2018

No, HITBTC.

@ctubio
Copy link
Owner

ctubio commented Feb 14, 2018

mm.. what you explained may happen at poloniex cos in poloniex the sides in the wallet of base/quote currencies are opposite.

all other exchanges should work as i said, so if you notice it doesnt must be a bug or a missunderstanding

for sure i can tell the calculation for ask/bidSize when using % was not modified; so if you feel that you bidSize is wrong may be because another reason.

what we modified here is a limit of wallet values. (the possible 100% of available wallet funds used to calculate everything else)

can you maybe show/explain again what is your value for --wallet-limit and what are the wallet values that you see in your balance panel (left)? (i hope we can see then were is the bug/missunderstanding cos i really didnt understood your previous comment)

anyway this afternoOn ima rereview thiz last commit

@Pat71
Copy link
Author

Pat71 commented Feb 14, 2018

hm. like you implemented it now: what is the difference to TBP (manual mode)?

What I originally meant in my suggestion was that I specify --wallet-limit=50 (on ETCUSD, for example) and K sets 50$ as limit, i.e. K ""sees" only 50$ and can only spent 50$.
All values (TBP, ask/bidsize%, profit, ...) relate to that value, i.e. in this example, if I specify maxasksize=10%, the maximum ask size is 5$.

This way I could run multiple bots and they don't "interfere" which each other. Example:
I have 200$ in total. I let 4 bots run, each with --wallet-limit=50 (on ETCUSD, BTCUSD, ETHUSD, LTCUSD) and each one runs on its own coin with its separate budget. If one loses all of the 50$ (most unlikely), the others are not affected.

@ctubio
Copy link
Owner

ctubio commented Feb 14, 2018

many thanks for the info''', lets reopen this while rereviewing it

@allenhurff
Copy link

@Pat71 Thanks for this suggestion, as you stated it.

I want to provide a real world example, I THINK, further supports your example. If, after reading this, you see I am confused or misinterpreted your issue/comments -- please feel free to call me out with something like "Dude, Apples and Oranges" if I read the content/context wrong.

Since we don't have a "--wallet-limit" concept, one GDAX account cannot trade to USD for TWO currency pairings if they use the same destination fiat or coin (BTC to Cash and ETH to cash same gdax account). For real-world example, I am trading BTC-USD AND ETH-USD on GDAX. However, I was forced to use TWO seperate GDAX accounts SO they isolate the cash pools (USD) so they are not shared BTC-USD-ETH and vice versa.
image

So, GDAX Account #1 trades my BTC-USD and GDAX account #2 trades my ETH-USD. In a perfect world, hahah, I know, I know ... doesn't exist, but if it did: I could trade on ONE GDAX in separate pools trade all pairings to USD (i.e. LTC-USD, ETH-USD, BCH-USD, BTC-USD). Hopefully this is were you tell me that I'm a dumbass and that is easy to do -- I would love this to be user error, but doubt it.

It should, IMHO, ONLY trade on the USD it generated from BTC Trades AND ETH should only be allowed to use the USD it got from ETH-USD trades BUT NEVER should the BTC-USD then ETH use mixed pool of USD proceeds. So, for example, BTC-USD pool can't see/access the USD from USD-ETH market proceeds Hence I don't start today with 100 ETH and 10 BTC then they both convert 100% to USD but the next day I have 0.00 BTC AND $0.00 USD (in BTC-USD) BUT THEN there is 18.268903 ETH plus $2,623 USD (in ETH-USD) all the while the BTC-USD is now trying to do the reverse, and use that $2,623 USD to buy BTC, from the ETH-USD proceeds.

@ctubio
Copy link
Owner

ctubio commented Feb 15, 2018

morning allenhurff'''
just wanted to say that gdax is quite strict exchange, and only allows 1 connection by ip/account/apikey. but other exchanges allow multiple connection from the same ip or from the same account (with but also some without using multiple apikeys).

so, --wallet-limit makes lot of sense for hitbtc, but less sense for gdax.

@ctubio
Copy link
Owner

ctubio commented Feb 15, 2018

@Pat71 thanks for double explaining it; i totally understand your requirement and is what i wanted to develop; let me rereview it and retest it 💃

i just feel like need to correct one of your sentences, please let me know if you agree (maybe here is our missunderstanding):
when you say:

specify --wallet-limit=50 (on ETCUSD, for example) and K sets 50$ as limit, i.e. K ""sees" only 50$ and can only spent 50$.
All values (TBP, ask/bidsize%, profit, ...) relate to that value, i.e. in this example, if I specify maxasksize=10%, the maximum ask size is 5$.

i belive the currencies are wrong, cos on ETCUSD; the base is ETC, and the USD is the quote, therefore:

specify --wallet-limit=50 (on ETCUSD, for example) and K sets 50ETC as limit, i.e. K ""sees" only 50ETC and can only spent 50ETC.
All values (TBP, ask/bidsize%, profit, ...) relate to that value, i.e. in this example, if I specify maxasksize=10%, the maximum ask size is 5ETC.

do you agree?

@Pat71
Copy link
Author

Pat71 commented Feb 15, 2018

Hm, if it can be made only like this, ok. But what I really want is what I wrote:
I have a fixed budget I want to invest (like 200USDT) and I want to split this on 4 different bots. In your example, how could I split the 200$ equally on 4 bots? I would have to calculate how much ETC 50 USDT is to set the wallet size, then I would have to calculate how much LTC 50 USDT is and so on. This would be annoying...

@ctubio
Copy link
Owner

ctubio commented Feb 16, 2018

yea, same happens with EUR on BTC/EUR, and in IOTA in XMR/IOTA, same for all quote currencies

if we apply the limit as quote currency, then i will be the one complaining that i need to translate base currencies of BTC like in BTC/EUR

@ctubio ctubio closed this as completed Feb 16, 2018
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

3 participants