decred / dcrticketbuyer

An automated smart ticket purchaser.
0 stars 7 forks source link

maxpricescale buys too early #34

Closed raedah closed 7 years ago

raedah commented 8 years ago

The purpose of minpricescale is to raise the expected ticket price for the next window if it looks like it will fall too low. The default is 0.7. Raising ones default to 0.8 means that you will likely be the only one buying tickets, because the majority will still be using the default value of 0.7 and will not be buying tickets at all because you are the only one holding the price up. This is a disincentive for deviating from the default and from helping to stabilize the price.

A way to fix this would be to make mixpricescale wait till the end of the ticket purchasing window to buy. By calculating the number of tickets purchase slots remaining in a window, the amount of tickets you have funds to purchase, the number of tickets purchases needed to raise the estimate price to the target amount, and the maxperblock setting, it would be possible to wait towards the end of the ticket window to determine that it is time to buy for minpricescale. This would create a group effect where more participants would be helping to raise the ticket price, as well as not buying too early (before other parties make purchases) and causing the ticket price to go too high.

raedah commented 7 years ago

closing because minpricescale is no longer used

raedah commented 7 years ago

I should apply this logic to maxpricescale behavior

raedah commented 7 years ago

closing because this is a dup of https://github.com/decred/dcrticketbuyer/issues/78