Lihat BitMEX PNL dalam nilai USD – alat pengubah USD untuk Bitmex.com
Baru mengenal BitMEX? Daftar menggunakan tautan kami untuk diskon 10% dari biaya perdagangan Anda:
https://www.bitmex.com/register/fMRfzN
BitMEX adalah platform perdagangan yang sepenuhnya berdenominasi Bitcoin. Sebagian besar dari Anda pedagang tahu bahwa pertukaran ini hanya menerima setoran Bitcoin. Ini membayar semua keuntungan Anda di XBT dan itu hanya menunjukkan PnL Anda yang dirilis / belum dirilis di XBT / BTC. Bukankah lebih baik jika Bitmex menampilkan denominasi USD ke PnL Anda bersama dengan nilai BTC?
Kontrak pertukaran abadi XBTUSD, ETHUSD, XRPUSD yang populer semuanya terbalik. Artinya, mereka dihargai dalam USD. Namun semua PNL (Untung dan Rugi) Anda dihitung dalam Bitcoin. Ini bisa sangat sulit untuk dipahami pada awalnya karena tidak semudah menghitung PnL Anda di pasar spot. Jadi, pintarlah mengubah mata uang dari XBT ke USD untuk mempermudah segalanya. Terutama ini bagus untuk pengguna yang melacak PnL mereka dalam USD.
Panduan berikut menjelaskan cara menambahkan denominasi USD ke kolom PNL Bitmex.com Anda.
Cara menampilkan BitMEX PnL dalam nilai USD
Platform perdagangan derivatif Bybit menampilkan PNL dalam USD dan BTC.

Meskipun Bitmex tidak menawarkan fitur ini secara default, kami masih dapat menggunakan plugin browser untuk menandai PnL dalam USD.
Untuk menerapkan ini, kita memerlukan dua hal: 1. Ekstensi browser pihak ketiga dan 2. Kode JavaScript open source.
Menginstal ekstensi browser Tampermonkey
Tampermonkey adalah manajer skrip pengguna yang populer. Ekstensi ini tersedia untuk Chrome, Firefox, Brave browser, Microsoft Edge, Safari dan Opera.
Chrome dan browser Brave: https://chrome.google.com/webstore/search/tampermonkey

Untuk Firefox, Anda dapat menggunakan Tampermonkey atau Greasemonkey. Kedua ekstensi berfungsi. Bagaimanapun dalam panduan ini kami akan menggunakan Tampermonkey.
Firefox: https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/
https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/
Atau langsung saja ke https://www.tampermonkey.net dan menambahkan ekstensi ke browser relevan mana pun yang Anda operasikan.
Setelah Anda menambahkan ekstensi ke browser Anda, Anda akan melihat ikon Tampermonkey di sudut kanan atas.

Menginstal skrip konverter BitMEX USD
Klik pada ikon Tampermonkey dari sudut kanan atas dan pilih “Buat skrip baru” dari menu.
Sekarang hapus semuanya dari editor dan tempel skrip berikut.
// == UserScript ==
// @name Konverter BitMex USD
// @namespace https://bitmex.com/
// @versi 0.1
// @deskripsi denominasi USD untuk BitMEX PnL
// @ penulis koinkraft
// @ tidak ada hibah
// @include https://exex.com/*
// @include https://www.bitex.com/*
// @require https://code.jquery.com/jquery-2.1.4.min.js
// == / UserScript ==
(function () {
‘gunakan ketat’;
// Script vars
biarkan indexPrice = 0;
let currentBalance = {total: 0, avail: 0};
// Ekstrak harga BitMex
const updateIndexPrice = () => {
$ (‘. instrument’). each (function () {
biarkan obj = ini;
if ($ (obj) .children (‘. symbol’). length > 0 && $ (obj) .children (‘. symbol’). html () == ‘.BXBT’) {
indexPrice = $ (obj) .children (‘. price’). html ();
}
});
setTimeout (function () {
updateIndexPrice ();
}, 1000);
};
// Ekstrak Saldo Wallet
const extractWalletBalance = (callback) => {
biarkan saldo = currentBalance;
$ (‘a [href ="/ app / wallet"] > menjangkau > meja > tbody > tr ‘). each (function () {
biarkan currentLabel = ”;
$ (ini) .children (‘td’). each (function () {
if ($ (ini) .html () == ‘Total’ || $ (ini) .html () == ‘Tersedia’) {
currentLabel = $ (ini) .html ();
} lain {
if (currentLabel == ‘Total’) {
biarkan balanceTotal = formatXBTString ($ (ini) .html ());
jika (balanceTotal! == false) balances.total = balanceTotal;
} lain jika (currentLabel == ‘Tersedia’) {
biarkan balanceAvail = formatXBTString ($ (ini) .html ());
jika (balanceAvail! == false) balances.avail = balanceAvail;
}
}
});
});
currentBalance = saldo;
panggilan balik (saldo);
};
// Setel Saldo Wallet 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’);
};
// Ubah String XBT
const formatXBTString = (string) => {
biarkan bagian = string.split (" ");
if (parts.length == 2) {
jika (bagian [1] == ‘XBT’) {
mengembalikan bagian [0] .replace (",",".");
} lain jika (bagian [1] == ‘mXBT’) {
mengembalikan bagian [0] .replace (",",".") * 0,001;
} lain jika (bagian [1] == ‘XBt’) {
mengembalikan bagian [0] .replace (".","") * 0,00001;
} lain jika (bagian [1] == ‘μXBT’) {
mengembalikan bagian [0] .replace (".","").menggantikan(",",".") * 0,000001;
}
}
return false;
};
// Perbarui Saldo Wallet
const updateWalletBalances = () => {
setTimeout (function () {
if (indexPrice! = 0) {
extractWalletBalance (fungsi (saldo) {
biarkan updatedBalances = {total: (balances.total * indexPrice) .toLocaleString (‘en-US’, {minimumFractionDigits: 2, maximumFractionDigits: 2}), avail: (balances.avail * indexPrice) .toLocaleString (‘en-US’ , {minimumFractionDigits: 2, maximumFractionDigits: 2})};
setWalletBalance (updatedBalances);
});
}
updateWalletBalances ();
}, 1000);
};
// Perbarui PNL
const updatePNLs = (setTimeoutCycle) => {
if (indexPrice! = 0) {
// PNL yang belum terealisasi
$ (‘td.unrealisedPnl’). each (function () {
biarkan obj = ini;
biarkan konten;
biarkan isSpan = false;
if ($ (this) .children (‘div: first-child’). children (‘span’). length > 0) {
konten = $ (ini) .children (‘div: first-child’). children (‘span: first-child’). html ();
isSpan = true;
} lain {
konten = $ (ini) .children (‘div: first-child’). html ();
}
biarkan part = content.split (" ");
if (bagian [1] == ‘XBT’ || bagian [1] == ‘mXBT’ || bagian [1] == ‘XBt’ || bagian [1] == ‘μXBT’) {
biarkan formatUnrealizedPNL = formatXBTString (bagian [0] + ” + bagian [1]);
let unrealizedPNLUSD = (formatUnrealizedPNL * indexPrice) .toLocaleString (‘en-US’, {minimumFractionDigits: 2, maximumFractionDigits: 2});
biarkan newDivContent;
if (! isSpan) {
newDivContent = belum direalisasiPNLUSD + ‘USD | ‘+’ BTC ‘+ formatUnrealizedPNL +’ ‘+ bagian [2];
} lain {
newDivContent = ” + belum terealisasiPNLUSD + ‘USD | ‘+’ BTC ‘+ formatUnrealizedPNL +’ ‘+ bagian [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’);
}
} lain {
if (! $ (obj) .children (‘div.unrealizedPnlUSD’). hasClass (‘pos’)) {
$ (obj) .children (‘div.unrealizedPnlUSD’). addClass (‘pos’). removeClass (‘neg’);
}
}
}
}
});
// PNL yang terwujud
$ (‘td.combinedRealisedPnl’). each (function () {
biarkan obj = ini;
biarkan terealisasiPNLhover = formatXBTString ($ (obj) .children (‘. hoverContainer: first-child’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). html ());
biarkan terealisasiPNL = formatXBTString ($ (obj) .children (‘. hoverContainer: first-child’). children (‘. hoverHidden’). children (‘span’). html ());
biarkan realisasiPNLUSDhoverContent = (realisasiPNLhover * indexPrice) .toLocaleString (‘en-US’, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + ‘USD’;
biarkan realisasiPNLUSDContent = (realisasiPNL * indexPrice) .toLocaleString (‘en-US’, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + ‘USD’;
if ($ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). html ()! =realPNLUSDhoverContent) {
$ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). html (realisedPNLUSDhoverContent);
jika (realisasiPNLhover * indexPrice < 0) {
if (! $ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). hasClass (‘neg’)) {
$ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). addClass (‘neg’). removeClass (‘pos’);
}
} lain {
if (! $ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). hasClass (‘pos’)) {
$ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverVisible’). children (‘. tooltipWrapper’). children (‘span’). addClass (‘pos’). removeClass (‘neg’);
}
}
}
if ($ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverHidden’). children (‘span’). html ()! = realisedPNLUSDContent) {
$ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverHidden’). children (‘span’). html (realisedPNLUSDContent);
jika (realisasiPNL * indexPrice < 0) {
if (! $ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverHidden’). children (‘span’). hasClass (‘neg’)) {
$ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverHidden’). children (‘span’). addClass (‘neg’). removeClass (‘pos’);
}
} lain {
if (! $ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverHidden’). children (‘span’). hasClass (‘pos’)) {
$ (obj) .children (‘. realisedPNLContainer’). children (‘. hoverHidden’). children (‘span’). addClass (‘pos’). removeClass (‘neg’);
}
}
}
});
}
if (setTimeoutCycle) {
setTimeout (function () {
updatePNLs (benar);
}, 50);
}
};
// Inisialisasi pembungkus PNL
const initPNLWrapper = (setTimeoutCycle) => {
if ($ (‘td.unrealisedPnl’]. length > 0 && $ (‘. unrealizedPnlUSD’). length == 0) {
// PNL yang belum terealisasi
$ (‘td.unrealisedPnl’). css (‘position’, ‘relative’);
$ (‘td.unrealisedPnl > div ‘). css (‘ opacity ‘,’ 0 ‘). css (‘ position ‘,’ absolute ‘). css (‘ left ‘,’ 0 ‘). css (‘ top ‘,’ 0 ‘). css ( ‘kanan’, ‘0’). css (‘bottom’, ‘0’);
$ (‘td.unrealisedPnl > div ‘). setelah (‘ 0,00 USD (0,00%) ‘);
// PNL yang terwujud
$ (‘td.combinedRealisedPnl > .hoverContainer ‘). hide ();
$ (‘td.combinedRealisedPnl > .hoverContainer ‘). setelah (‘ 0,00 USD0.00 USD ‘);
}
if (setTimeoutCycle) {
setTimeout (function () {
initPNLWrapper (true);
}, 100);
}
};
// Tunggu jendela dimuat
$ (window) .load (function () {
// Sembunyikan kotak saldo BTC
$ (‘._ 1mNCXSUh: pertama’). Hide ();
$ (‘._ 2UCMYPbC > ._2wx45MYS: pertama ‘). Hide ();
// Init PNL Wrapper
initPNLWrapper (true);
$ (window) .resize (function () {
initPNLWrapper (false);
});
// Masukkan div Saldo USD
$ (‘. annoementsDropdown’). before (‘
| Total | 0,00 USD |
| Faedah | 0,00 USD |
‘);
// Perbarui Fungsi
setInterval (() => {
console.log (‘Memperbarui ….’);
updateIndexPrice ();
updateWalletBalances ();
updatePNLs (benar);
$ (‘td.unrealisedPnl > div ‘). hover (function () {
updatePNLs (salah);
});
}, 30000);
});
}) ();
Kode di atas adalah kode JavaScript open source yang ditulis oleh KoinKraft.
Referensi: https://gist.github.com/btc-zz/6b8315f93969ee7caf6c3d66e70ec721

Setelah selesai klik File >> Menyimpan.
Kemudian pastikan alat konverter Tampermonkey dan BitMEX USD diaktifkan. Anda dapat menonaktifkan skrip kapan saja Anda mau.

Sekarang segarkan halaman perdagangan Bitmex.com dan tunggu beberapa saat hingga skrip dimuat. Setelah dimuat itu akan menunjukkan nilai USD di kolom PNL Anda. Ini menampilkan nilai USD dan BTC, bukan hanya USD. Juga konversi USD terjadi secara real time.

Pengaya tidak berfungsi?
Metode ini berfungsi dengan semua browser web utama. Agar plugin ini berfungsi dengan baik, pastikan untuk mengatur tampilan mata uang BitMEX Anda ke XBT (Bitcoin). Ini tidak akan berfungsi dengan mata uang lain seperti Satoshi, mikro-Bitcoin, dan mili-Bitcoin. Juga awalnya butuh beberapa saat untuk memuat nilai USD jadi berikan waktu.
Kami berharap mulai sekarang Anda tidak perlu melakukan konversi dasar apa pun dari BTC ke mata uang Fiat atau Satoshi ke USD untuk menilai seberapa besar keuntungan dalam USD. Skrip melakukan pekerjaan untuk Anda.
