One of my many issues opened (closed instantly):
https://github.com/CounterpartyXCP/counterpartyd/issues/189PhantomPhreak opens an issue:
https://github.com/CounterpartyXCP/counterpartyd/issues/191With a proposed fix:
https://github.com/CounterpartyXCP/counterpartyd/commit/0229f63008fdbdd2d363d96646136e16a1006bd4Here is my email writing out the basic arithmetic. The funny thing is I basically wrote it out before he posted that issue with a broken "fix".
If you're not going to listen to my explanations than please test your
solutions yourself - before posting them.
One more time though - the math is not working again:
delta = (initial_value - value) * leverage * config.UNIT
bear_credit = bear_escrow + (delta * Fraction(bear_escrow,
bear_wager_quantity))
bull_credit = (escrow_less_fee - bear_escrow) - (delta *
Fraction(bull_escrow, bull_wager_quantity))
delta= 1
bear_escrow(10) + ( delta(1) * (bear_escrow(10)/bear_wager_quantity(1000))
10.01
bull_credit = (escrow(20) - bear_escrow(10)) - (delta(1) *
(bull_escrow(10)/bull_wager(10)) = 9
Notice it was a total of 20 (the wager) - but out of escrow comes only 19.01 - .99 just disappear!
What I'm saying is overall is leverages don't match - more so let's assume
you always take the first leverage (or Fraction ratio) and default the
bull to the second one (to fix the sanity error).
I make a bet:
10/10 (wager-counterwager)
if matched with 10/10 (wager-counterwager):
movement per price delta = 1:1
if matched with a 10 from 1000/1000 (wager-countergwager):
movement per price delta = 1/100
result: No user control over the bet movement.
And it's not like this is the only problem with CFD's, this whole business
of monkey patching, and ignoring the what's happening and the purpose of
these instruments is just absurd.
Thank you very much for what you are doing!! Will try to keep this thread up top for people to read!