I read almost the whole thread (yes!). I scripted a Zpool-based nicehash-order-manager, but I've lost quite a bit of cash, and I'm having a hard time figuring out what I'm missing.
Here's what I'm trying to do:
1. I pull the average rewards from ZPool algos from
THIS PAGE. (Why that page? Those numbers seem more conservative and less volatile than what Zpool reports on its site, and I've read somewhere that ZPool has a tendency to have its averages a bit off.) I look at all numbers (i.e. current, last 2h, last 24h) and take the lowest as the 'right' one, just to be a bit conservative.
2. I pull the orders from Nicehash to see what hashrate goes for.
3. If the reported reward is more than 135% of the selling price of some substantial hashrate on nicehash, I buy the hashpower and point it towards zpool.
4. I poll the rewards every 60 seconds, and if they drop such that profit gets below 115%, I limit the hashrate on NH to the minimum, and if it doesn't come up after 15 minutes, I remove the order. When it rises again to above 125%, I set the limit back up to my calculated maximum (see below).
So, basically, I would think that 3% nicehash mining fee, 1% buying fee, 2% pool fee and 5% delta (spilled hashrate) adds up to 11% potentially loss to cover for, so I think the 15% is a reasonable selling-threshold.
I ran this script for about a day, I think it picked up about 10 orders, and while I was hoping to make some profit, I only found out that I lost about half what I started with. Bollocks!
But seriously, I'm a bit dumbfounded right now. So, what am I missing?
Here are the decisions I made that I'm uncertain about:
1.
d=. And by max, I mean the max in the NH allowed range. I found out I had to specify it when Zpool gave an out-of-NH-range number, and when I set it to minimum, my hashrate delta was like 40%. I set it to the highest possible to prevent pool flooding, and now the hashrate delta stays nicely <5%. Is this totally idiotic? And if it is, how can I calculate what diff value I should provide? (As obviously I can't trust zpool to set them in NH's range)
2. I limit the orders to consume up to 35% of ZPool's total hashrate, and I have seen orders get there. I initially didn't think this could be a problem, but when I initially did 50%, I saw the rewards dropping significantly a few minutes later in some cases, so I thought those might be related to one another. I found out that I could take about a third without brining about major impact on the rewards. Maybe I'm wrong here though. Should I have only taken 10%? Or just a solid fixed amount based on the algo I'm trying to do?
3. I connect from both the EU and the US servers at Nicehash, whichever gives me the best rate. But EU-CA obviously has way more latency. Is that something to keep in mind, and should I just stick to Westhash?
4. I'm having trouble understanding the numbers at
https://www.zpool.ca/api/status. For example: Estimate Last 24h: 0.00052364, Actual Last 24h: 0.5686. The difference in order of magnitude, is that just GHS vs THS? And is the estimate made 24h ago, or is this really an estimate of the next 24h? Also, what does rental_current mean? Is that the reward based on the last mined coin? And last, but not least, what attributes to the difference in the ZPool API and the page I mentioned above? (And which one do you guys think I should be using?)
5. Could it be possible that this loss can be attributed to a single algo? If so, is there any way I can still figure that out without having to test every damn algo again? The vast majority I've mined is X11, I've had multiple of those orders, all very profitable. I've also seen orders on Lyra2v2, a bit of Neoscrypt and an odd SHA256, it was highly profitable for about an hour today. All on the above policy. (Although I might stop doing Neoscrypt, because at times the minimum limit is already something like 20% of Zpool's hashrate)
6. Anything else / more numbers I should keep in consideration?
Sorry for all the things I don't quite understand yet! I'm passionate about learning all this stuff.