Ver BitMEX PNL em valores em USD – ferramenta de conversão de USD para Bitmex.com
Novo no BitMEX? Inscreva-se usando nosso link para obter 10% de desconto em suas taxas de negociação:
https://www.bitmex.com/register/fMRfzN
BitMEX é uma plataforma de negociação totalmente denominada em Bitcoin. A maioria de vocês, traders, sabe que esta bolsa só aceita depósitos Bitcoin. Ele paga todos os seus lucros em XBT e mostra apenas seu PnL lançado / não lançado em XBT / BTC. Não seria bom se o Bitmex exibisse a denominação em USD para o seu PnL junto com os valores BTC?
Os populares contratos de troca perpétua XBTUSD, ETHUSD, XRPUSD são todos inversos. Isso significa que eles são avaliados em dólares americanos. No entanto, todo o seu PNL (Lucro e Perda) é calculado em Bitcoin. Pode ser muito difícil de entender no início, pois não é tão simples quanto calcular seu PnL no mercado spot. Portanto, é inteligente alterar a moeda de XBT para USD para tornar as coisas mais fáceis. Especialmente, isso é ótimo para usuários que estão rastreando seu PnL em dólares americanos.
O guia a seguir explica como adicionar denominação em USD à coluna PNL do Bitmex.com.
Como exibir BitMEX PnL em valores USD
A plataforma de negociação de derivativos Bybit exibe PNL em USD e BTC.

Embora o Bitmex não ofereça esse recurso por padrão, ainda podemos usar um plug-in de navegador para marcar o PnL em USD.
Para implementar isso, precisamos de duas coisas: 1. Extensão de navegador de terceiros e 2. Um código JavaScript de código aberto.
Instalando a extensão do navegador Tampermonkey
Tampermonkey é um gerenciador de scripts de usuário popular. Esta extensão está disponível para Chrome, Firefox, navegador Brave, Microsoft Edge, Safari e Opera.
Navegador Chrome e Brave: https://chrome.google.com/webstore/search/tampermonkey

Para Firefox, você pode usar Tampermonkey ou Greasemonkey. Ambas as extensões funcionam. De qualquer forma, neste guia, usaremos Tampermonkey.
Raposa de fogo: https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/
https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/
Ou apenas vá para https://www.tampermonkey.net e adicione a extensão a qualquer navegador relevante em que você esteja operando.
Depois de adicionar a extensão ao seu navegador, você deve ver o ícone Tampermonkey no canto superior direito.

Instalando o script do conversor BitMEX USD
Clique no ícone Tampermonkey no canto superior direito e escolha “Criar um novo script” no menu.
Agora exclua tudo do editor e cole o seguinte script.
// == UserScript ==
// @name BitMex USD Converter
// @namespace https://bitmex.com/
// @ versão 0.11
// denominação @description em USD para BitMEX PnL
// @author koinkraft
// @grant none
// @include https://bitmex.com/*
// @include https://www.bitmex.com/*
// @require https://code.jquery.com/jquery-2.1.4.min.js
// == / UserScript ==
(função () {
‘use estrito’;
// Script vars
deixe indexPrice = 0;
deixe currentBalance = {total: 0, disponibilidade: 0};
// Extrair preço BitMex
const updateIndexPrice = () => {
$ (‘. instrumento’). each (função () {
let obj = this;
if ($ (obj) .children (‘. símbolo’). comprimento > 0 && $ (obj) .children (‘. símbolo’). html () == ‘.BXBT’) {
indexPrice = $ (obj) .children (‘. preço’). html ();
}
});
setTimeout (function () {
updateIndexPrice ();
}, 1000);
};
// Extrair Saldo da Carteira
const extractWalletBalance = (callback) => {
deixe saldos = currentBalance;
$ (‘a [href ="/ app / wallet"] > período > tabela > tbody > tr ‘). each (função () {
deixe currentLabel = ”;
$ (this) .children (‘td’). each (function () {
if ($ (this) .html () == ‘Total’ || $ (this) .html () == ‘Disponível’) {
currentLabel = $ (this) .html ();
} outro {
if (currentLabel == ‘Total’) {
let balanceTotal = formatXBTString ($ (this) .html ());
if (balanceTotal! == false) balances.total = balanceTotal;
} else if (currentLabel == ‘Disponível’) {
deixe balanceAvail = formatXBTString ($ (this) .html ());
if (balanceAvail! == false) balances.avail = balanceAvail;
}
}
});
});
currentBalance = saldos;
retorno de chamada (saldos);
};
// Definir saldo da carteira em USD
const setWalletBalance = (updatedBalances) => {
if (updatedBalances.total + ‘USD’! = $ (‘. balance-usd-total’). html ()) $ (‘. balance-usd-total’). html (updatedBalances.total + ‘USD’);
if (updatedBalances.avail + ‘USD’! = $ (‘. balance-usd-avail’). html ()) $ (‘. balance-usd-avail’). html (updatedBalances.avail + ‘USD’);
};
// Converter string XBT
const formatXBTString = (string) => {
let parts = string.split (" ");
if (parts.length == 2) {
if (partes [1] == ‘XBT’) {
return parts [0] .replace (",",".");
} else if (partes [1] == ‘mXBT’) {
return parts [0] .replace (",",".") * 0,001;
} else if (partes [1] == ‘XBt’) {
return parts [0] .replace (".","") * 0,00001;
} else if (partes [1] == ‘μXBT’) {
return parts [0] .replace (".","").substituir(",",".") * 0,000001;
}
}
retorna falso;
};
// Atualizar saldos da carteira
const updateWalletBalances = () => {
setTimeout (function () {
if (indexPrice! = 0) {
extractWalletBalance (function (balances) {
deixe updatedBalances = {total: (balances.total * indexPrice) .toLocaleString (‘en-US’, {minimumFractionDigits: 2, maximumFractionDigits: 2}), disponibilidade: (balances.avail * indexPrice) .toLocaleString (‘en-US’ , {minimumFractionDigits: 2, maximumFractionDigits: 2})};
setWalletBalance (updatedBalances);
});
}
updateWalletBalances ();
}, 1000);
};
// Atualizar PNLs
const updatePNLs = (setTimeoutCycle) => {
if (indexPrice! = 0) {
// PNL não realizado
$ (‘td.unrealisedPnl’). each (function () {
let obj = this;
deixe o conteúdo;
let isSpan = false;
if ($ (this) .children (‘div: first-child’). children (‘span’). length > 0) {
content = $ (this) .children (‘div: first-child’). children (‘span: first-child’). html ();
isSpan = true;
} outro {
content = $ (this) .children (‘div: first-child’). html ();
}
let parts = content.split (" ");
if (partes [1] == ‘XBT’ || partes [1] == ‘mXBT’ || partes [1] == ‘XBt’ || partes [1] == ‘μXBT’) {
deixe formatUnrealizedPNL = formatXBTString (partes [0] + ” + partes [1]);
deixe unrealizedPNLUSD = (formatUnrealizedPNL * indexPrice) .toLocaleString (‘en-US’, {minimumFractionDigits: 2, maximumFractionDigits: 2});
let newDivContent;
if (! isSpan) {
newDivContent = unrealizedPNLUSD + ‘USD | ‘+’ BTC ‘+ formatUnrealizedPNL +’ ‘+ partes [2];
} outro {
newDivContent = ” + unrealizedPNLUSD + ‘USD | ‘+’ BTC ‘+ formatUnrealizedPNL +’ ‘+ partes [2] +’ ‘;
}
if (newDivContent! = $ (obj) .children (‘div.unrealizedPnlUSD’). html ()) {
$ (obj) .children (‘div.unrealizedPnlUSD’). html (newDivContent);
if (formatUnrealizedPNL * indexPrice < 0) {
if (! $ (obj) .children (‘div.unrealizedPnlUSD’). hasClass (‘neg’)) {
$ (obj) .children (‘div.unrealizedPnlUSD’). addClass (‘neg’). removeClass (‘pos’);
}
} outro {
if (! $ (obj) .children (‘div.unrealizedPnlUSD’). hasClass (‘pos’)) {
$ (obj) .children (‘div.unrealizedPnlUSD’). addClass (‘pos’). removeClass (‘neg’);
}
}
}
}
});
// Realized PNL
$ (‘td.combinedRealisedPnl’). each (function () {
let obj = this;
deixe realizadoPNLhover = formatXBTString ($ (obj) .children (‘. hoverContainer: primeiro filho’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). html ());
deixe percebeuPNL = formatXBTString ($ (obj) .children (‘. hoverContainer: primeiro filho’). children (‘. hoverHidden’). children (‘span’). html ());
deixe percebeuPNLUSDhoverContent = (percebeuPNLhover * indexPrice) .toLocaleString (‘en-US’, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + ‘USD’;
deixe percebeuPNLUSDContent = (percebeuPNL * indexPrice) .toLocaleString (‘en-US’, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + ‘USD’;
if ($ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). html ()! = percebeuPNLUSDhoverContent) {
$ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). html (percebeuPNLUSDhoverContent);
if (percebeuPNLhover * indexPrice < 0) {
if (! $ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). hasClass (‘neg’)) {
$ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). addClass (‘neg’). removeClass (‘pos’);
}
} outro {
if (! $ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). hasClass (‘pos’)) {
$ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). addClass (‘pos’). removeClass (‘neg’);
}
}
}
if ($ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverHidden’). children (‘span’). html ()! = percebeuPNLUSDContent) {
$ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverHidden’). children (‘span’). html (percebeuPNLUSDContent);
if (percebeuPNL * indexPrice < 0) {
if (! $ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverHidden’). children (‘span’). hasClass (‘neg’)) {
$ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverHidden’). children (‘span’). addClass (‘neg’). removeClass (‘pos’);
}
} outro {
if (! $ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverHidden’). children (‘span’). hasClass (‘pos’)) {
$ (obj) .children (‘. percebeuPNLContainer’). children (‘. hoverHidden’). children (‘span’). addClass (‘pos’). removeClass (‘neg’);
}
}
}
});
}
if (setTimeoutCycle) {
setTimeout (function () {
updatePNLs (verdadeiro);
}, 50);
}
};
// Inicializa o invólucro PNL
const initPNLWrapper = (setTimeoutCycle) => {
if ($ (‘td.unrealisedPnl’). comprimento > 0 && $ (‘. unrealizedPnlUSD’). length == 0) {
// PNL não realizado
$ (‘td.unrealisedPnl’). css (‘posição’, ‘relativo’);
$ (‘td.unrealisedPnl > div ‘). css (‘ opacidade ‘,’ 0 ‘). css (‘ posição ‘,’ absoluto ‘). css (‘ esquerda ‘,’ 0 ‘). css (‘ topo ‘,’ 0 ‘). css ( ‘direita’, ‘0’). css (‘inferior’, ‘0’);
$ (‘td.unrealisedPnl > div ‘). after (‘ 0,00 USD (0,00%) ‘);
// Realized PNL
$ (‘td.combinedRealisedPnl > .hoverContainer ‘). hide ();
$ (‘td.combinedRealisedPnl > .hoverContainer ‘). after (‘ 0,00 USD0,00 USD ‘);
}
if (setTimeoutCycle) {
setTimeout (function () {
initPNLWrapper (verdadeiro);
}, 100);
}
};
// Espere a janela carregar
$ (janela) .load (função () {
// Ocultar caixa de balanço BTC
$ (‘._ 1mNCXSUh: primeiro’). Hide ();
$ (‘._ 2UCMYPbC > ._2wx45MYS: primeiro ‘). Hide ();
// Init PNL Wrapper
initPNLWrapper (verdadeiro);
$ (janela) .resize (function () {
initPNLWrapper (falso);
});
// Inserir saldo em USD div
$ (‘. announcementsDropdown’). before (‘
| Total | 0,00 USD |
| Aproveitar | 0,00 USD |
‘);
// Atualizar funções
setInterval (() => {
console.log (‘Atualizando ….’);
updateIndexPrice ();
updateWalletBalances ();
updatePNLs (verdadeiro);
$ (‘td.unrealisedPnl > div ‘). hover (function () {
updatePNLs (falso);
});
}, 30000);
});
}) ();
O código acima é um código JavaScript de código aberto escrito por KoinKraft.
Referência: https://gist.github.com/btc-zz/6b8315f93969ee7caf6c3d66e70ec721

Quando terminar, clique em Arquivo >> Salve .
Em seguida, certifique-se de que as ferramentas de conversão de Tampermonkey e BitMEX USD estejam ativadas. Você pode desativar o script sempre que desejar.

Agora atualize a página de negociação do Bitmex.com e aguarde alguns momentos para o script carregar. Depois de carregado, ele deve mostrar os valores em USD em sua coluna PNL. Ele exibe os valores em USD e BTC em vez de apenas em USD. Além disso, a conversão do USD ocorre em tempo real.

Plug-in não funciona?
Este método funciona com todos os principais navegadores da web. Para que este plug-in funcione corretamente, certifique-se de definir sua exibição de moeda BitMEX para XBT (Bitcoin). Não funcionará com outras moedas, como Satoshi, micro-Bitcoin e milli-Bitcoin. Além disso, inicialmente, demora um pouco para carregar os valores em USD, então dê um tempo.
Esperamos que de agora em diante você não precise fazer nenhuma conversão básica da moeda BTC para Fiat ou Satoshi para USD para avaliar quanto é o lucro em USD. O script faz o trabalho para você.

Facebook
Pinterest