Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.25 KB | None | 0 0
  1. var checkOrder = $('#myOrdersTable .odd');
  2. $('.side').append('<input type="text" id="bl" style="width:100%"/><br/><br/><div class="checkbox"><label><input type="checkbox" id="autoBuySpread"> Tự động mua chênh lệch <input id="spreadSts" type="text" value="0.00000001" style="width:150px"/></label></div>')
  3. function setBl(){
  4. var bl = $('#primaryBalance').text();
  5. if(parseFloat(bl)>0.02){
  6. bl = (bl-=(bl/100*0)).toFixed(2);
  7. $('#bl').val(bl);
  8. }else{
  9. setTimeout(function(){
  10. setBl();
  11. },2000);
  12. }
  13. }
  14. setBl();
  15. var audio = new Audio('https://notificationsounds.com/soundfiles/7380ad8a673226ae47fce7bff88e9c33/file-sounds-869-coins.mp3');
  16. function autoBuy(){
  17. if($('#autoBuySpread').is(':checked')){
  18. var currentOrder = $('#myOrdersTable .odd');
  19. var currentType = $(currentOrder).find('.type').text();
  20. var rate = (parseFloat($('#bidsTableBody tr').eq(0).find('.orderRate').text()) - parseFloat($('#spreadSts').val())).toFixed(8);
  21. $('#buyRate').val(rate);
  22. switch(currentType){
  23. case 'Sell':
  24. $('#autoBuy').prop('checked',true);
  25. break;
  26.  
  27. case 'Buy':
  28. var currentRate = parseFloat($(currentOrder).find('.rate').text());
  29. if(currentRate<rate){
  30. //cancel
  31. $('#orderCurrent').remove();
  32. $('#myOrdersTable .action a').click();
  33. $('.cta .auto').prop('checked', false);
  34. setTimeout(function(){$('.buyCol button[type=submit]').click();},500);
  35. //autoBuywith rate
  36. }
  37. break;
  38. }
  39.  
  40. }
  41. setTimeout(function(){autoBuy();},500);
  42. }
  43. autoBuy();
  44. function alertOrder(checkOrder){
  45. if(checkOrder.length && (!$('#myOrdersTable .odd').length)){
  46. //DOne
  47. $('#orderCurrent').remove();
  48. var type = $(checkOrder).find('.type').text();
  49. var typeAuto = (type == 'Buy')?'Sell':'Buy';
  50. if($('#auto'+typeAuto).is(':checked')){
  51. $('#auto'+typeAuto).next('button').click();
  52. $('#auto'+typeAuto).prop('checked', false);
  53. if(typeAuto == 'Sell'){
  54. var rate = $('#bidsTableBody tr').eq(1).find('.orderRate').text();
  55. $('#buyRate').val(rate);
  56. $('#autoBuy').prop('checked',true);
  57. }
  58. }
  59. audio.play();
  60. var mess = {
  61. title:type,
  62. body:'Rate: '+$(checkOrder).find('.rate').text()+' - Total: '+$(checkOrder).find('.total').text()
  63. }
  64. notifyMe(mess);
  65. }
  66. checkOrder = $('#myOrdersTable .odd');
  67. var totalBtc = $('#bl').val();
  68. if(totalBtc !==''){
  69. $('#buyTotal,#sellTotal').val(totalBtc);
  70. $('#buyAmount').val((totalBtc/$('#buyRate').val()).toFixed(8));
  71. $('#sellAmount').val((totalBtc/$('#sellRate').val()).toFixed(8));
  72. }
  73. setTimeout(function(){
  74. alertOrder(checkOrder);
  75. },200);
  76. }
  77. alertOrder(checkOrder);
  78. function checkTotalOrder(dataCheck){
  79. if($('#orderCurrent').length && dataCheck.rate == (parseFloat($('#orderCurrent .rate').text()))){
  80. var currentTotal = parseFloat($('[id="'+dataCheck.rate+dataCheck.typeOrder+'"] .orderTotal').text());
  81. if(currentTotal > 0){
  82. var totalOrderBtc = 0;
  83. if(currentTotal<=dataCheck.total){
  84. totalOrderBtc = currentTotal;
  85. dataCheck.total = currentTotal;
  86. }else{
  87. totalOrderBtc = dataCheck.total;
  88. }
  89. var url = 'https://poloniex.com/public?command=returnTradeHistory&currencyPair=BTC_'+dataCheck.coin+'&start='+dataCheck.time;
  90. var typeHis = (dataCheck.type=='buy')?'sell':'buy';
  91. $.ajax({
  92. type:'GET',
  93. url:url,
  94. dataType:'json',
  95. }).success(function(res){
  96. var tt = parseFloat(0);
  97. $.each(res,function(key,value){
  98. if(value.type == typeHis && value.rate == dataCheck.rate){
  99. tt+=parseFloat(value.total);
  100. }
  101. });
  102. $('#orderCurrent .totalOrderBtc').text((totalOrderBtc-tt).toFixed(8));
  103. setTimeout(function(){
  104. checkTotalOrder(dataCheck);
  105. },5000);
  106. })
  107. }else{
  108. setTimeout(function(){
  109. checkTotalOrder(dataCheck)
  110. },500);
  111. }
  112. }
  113. }
  114. $('.cta .theButton').on('click',function(){
  115. var coin = $('.name.name2').text();
  116. $('#orderCurrent').remove();
  117. var type = ($(this).text().includes("Buy"))?'buy':'sell';
  118. var typeOrder = (type=='buy')?'bids':'asks';
  119. var rate = $('#'+type+'Rate').val();
  120. var total = $('#'+type+'Total').val();
  121. var time = Date.now().toString().substr(0,10);
  122. var totalOrderBtc = parseFloat($('[id="'+rate+typeOrder+'"] .orderTotal').text()).toFixed(8);
  123. //show order current
  124. var dataCheck = {
  125. 'coin':coin,
  126. 'rate':rate,
  127. 'time':time,
  128. 'type':type,
  129. 'total':totalOrderBtc,
  130. 'typeOrder':typeOrder,
  131. }
  132. $('body').append('<div id="orderCurrent"><span class="rate">'+dataCheck.rate+'</span> : <span class="totalOrderBtc">'+dataCheck.total+'</span></div>');
  133. var background = (type =='buy')?'#4caf50':'#f44336';
  134. $('#orderCurrent').css({
  135. 'position':'fixed',
  136. 'bottom':'10%',
  137. 'right': '5%',
  138. 'background':background,
  139. 'color':'white',
  140. 'padding':'10px',
  141. 'border-radius':'5px',
  142. });
  143. //checkTotalOrder(dataCheck);
  144. if(type == 'buy'){
  145. var newRate = (parseFloat(rate)+parseFloat($('#spreadSts').val())).toFixed(8);
  146. $('#sellRate').val(newRate);
  147. $('#autoSell').prop('checked',true);
  148. }
  149. setTimeout(function(){hideAlert();},5000);
  150. })
  151. function doc_keyUp(e) {
  152. if (e.ctrlKey && e.keyCode == 67) {
  153. //cancel
  154. if($('#myOrdersTable .action a').length){
  155. $('#orderCurrent').remove();
  156. var c = new Audio('https://notificationsounds.com/soundfiles/47d1e990583c9c67424d369f3414728e/file-05_oringz-pack-nine-13.mp3');
  157. $('#myOrdersTable .action a').click();
  158. $('.cta .auto').prop('checked', false);
  159. c.play();
  160. }
  161. }
  162. if(e.ctrlKey && e.keyCode == 88){
  163. $('#bl').val('');
  164. }
  165. if (e.keyCode == 13) {
  166. hideAlert();
  167. }
  168. }
  169. // register the handler
  170. document.addEventListener('keyup', doc_keyUp, false);
  171.  
  172. //notice
  173. function notifyMe(mess) {
  174.  
  175. if (Notification.permission !== "granted")
  176. Notification.requestPermission();
  177. else {
  178. var notification = new Notification(mess.title, {
  179. icon: 'https://poloniex.com/favicon.ico',
  180. body: mess.body,
  181. });
  182. $(notification).on('click', function() {
  183. this.close();
  184. window.focus();
  185. });
  186. }
  187.  
  188. }
  189. $('.buyCol .cta').prepend('<label for="autoBuy">Auto Buy </label><input class="auto" id="autoBuy" type="checkbox"/>')
  190. $('.sellCol .cta').prepend('<label for="autoSell">Auto Sell </label><input class="auto" id="autoSell" type="checkbox"/>')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement