JSFiddle - React, Tailwind, and code Playground
by Ilya Kanatov
HTML
<table>
<tr>
<td>Баланс BTC </td>
<td><input id="balance" type="text" value="0.01"></td>
</tr>
<tr>
<td>Продать BTC за USD</td>
<td><input id="sellCurrency" type="text" value="2495"></td>
</tr>
<tr>
<td>Купить BTC за USD </td>
<td><input id="buyCurrency" type="text" value="2395"></td>
</tr>
<tr>
<td>Комиссия площадки за продажу %</td>
<td><input id="sellFee" type="text" value="0.1"></td>
</tr>
<tr>
<td>Комиссия площадки за покупку %</td>
<td><input id="buyFee" type="text" value="0.2"></td>
</tr>
</table>
<div id="calc"></div>
<input id="button" type="button" value="Посчитать">
JavaScript
var result = document.getElementById("calc");
var button = document.getElementById("button");
function render(_result, _buyCurrency)
{
h = 'Вигода: ';
h += 'BTC ' + _result;
h += ', USD ' + getRound(_result * _buyCurrency);
result.innerHTML = h;
}
function getRound(_n)
{
return parseFloat(_n).toFixed(4);
}
function getPercent(_percent, _number)
{
var number = getRound(_number);
console.log('percent input:', _percent * 100, number);
var p = 0
if (number < 1) {
(_percent * 100) * number;
} else {
(_percent * 100) / number;
}
p = getRound(p);
console.log('percent result:', p);
return p;
}
function trade(_action, _balance, _currency)
{
var summ = 0;
switch(_action) {
case 'buy':
summ = _balance / _currency;
summ = getRound(summ);
console.log('buy summ:',summ, _balance, _currency);
summ -= getPercent(0.2, summ);
summ = getRound(summ);
console.log('buy percent:',summ);
break;
case 'sell':
summ = _currency * _balance;
summ = getRound(summ);
console.log('sell summ:',summ, _balance, _currency);
summ -= getPercent(0.1, summ);
summ = getRound(summ);
console.log('sell percent:',summ);
break;
default:
summ = null;
break;
}
return summ;
}
function calc(_balance, _buyCurrency, _sellCurrency, _sellFee, _buyFee)
{
var newBalance = trade('sell', _balance, _sellCurrency);
console.log(' sell balance:', newBalance)
newBalance = trade('buy', newBalance, _buyCurrency);
console.log(' buy balance:', newBalance)
var profit = newBalance - _balance;
profit = getRound(profit);
render(profit, _buyCurrency);
}
function onPress()
{
var balance = document.getElementById("balance").value;
var buyCurrency = document.getElementById("buyCurrency").value;
var sellCurrency = document.getElementById("sellCurrency").value;
var sellFee = document.getElementById("sellFee").value;
var buyFee = document.getElementById("buyFee").value;
...