Advertisement
JudeAustin

BTC-E Arbitrage Indicator

May 30th, 2013
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.93 KB | None | 0 0
  1. <?php
  2. function btce_query($method, array $req = array()) {
  3.    
  4.         static $ch = null;
  5.         if (is_null($ch)) {
  6.                 $ch = curl_init();
  7.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  8.                 curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; BTCE PHP client; '.php_uname('s').'; PHP/'.phpversion().')');
  9.         }
  10.         curl_setopt($ch, CURLOPT_URL, 'https://btc-e.ru/tapi/');
  11.         curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
  12.         curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  13.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  14.  
  15.         // run the query
  16.         $res = curl_exec($ch);
  17.         if ($res === false) throw new Exception('Could not get reply: '.curl_error($ch));
  18.         $dec = json_decode($res, true);
  19.         if (!$dec) throw new Exception('Invalid data received, please make sure connection is working and requested API exists');
  20.         return $dec;
  21. }
  22.  
  23.  
  24. function GetJsonFeed($json_url)
  25. {
  26.     $feed = file_get_contents($json_url);
  27.     return json_decode($feed, true);
  28. }
  29. $BTC_RUR = GetJsonFeed("http://btc-e.com/api/2/btc_rur/ticker");
  30. $BTC_RUR_SELL = $BTC_RUR["ticker"]["sell"];
  31. $BTC_RUR_BUY = $BTC_RUR["ticker"]["buy"];
  32. // LTC - RUR
  33. $LTC_RUR = GetJsonFeed("http://btc-e.com/api/2/ltc_rur/ticker");
  34. $LTC_RUR_SELL = $LTC_RUR["ticker"]["sell"];
  35. $LTC_RUR_BUY = $LTC_RUR["ticker"]["buy"];
  36. // USD - RUR
  37. $USD_RUR = GetJsonFeed("http://btc-e.com/api/2/usd_rur/ticker");
  38. $USD_RUR_SELL = $USD_RUR["ticker"]["sell"];
  39. $USD_RUR_BUY = $USD_RUR["ticker"]["buy"];
  40. // BTC -  EUR
  41. $BTC_EUR = GetJsonFeed("http://btc-e.com/api/2/btc_eur/ticker");
  42. $BTC_EUR_SELL = $BTC_EUR["ticker"]["sell"];
  43. $BTC_EUR_BUY = $BTC_EUR["ticker"]["buy"];
  44. // LTC - BTC
  45. $LTC_BTC = GetJsonFeed("http://btc-e.com/api/2/ltc_btc/ticker");
  46. $LTC_BTC_SELL = $LTC_BTC["ticker"]["sell"];
  47. $LTC_BTC_BUY = $LTC_BTC["ticker"]["buy"];
  48. // EUR - USD
  49. $EUR_USD = GetJsonFeed("http://btc-e.com/api/2/eur_usd/ticker");
  50. $EUR_USD_SELL = $EUR_USD["ticker"]["sell"];
  51. $EUR_USD_BUY = $EUR_USD["ticker"]["buy"];
  52. // LTC - USD
  53. $LTC_USD = GetJsonFeed("http://btc-e.com/api/2/ltc_usd/ticker");
  54. $LTC_USD_SELL = $LTC_USD["ticker"]["sell"];
  55. $LTC_USD_BUY = $LTC_USD["ticker"]["buy"];
  56. // BTC - USD
  57. $BTC_USD = GetJsonFeed("http://btc-e.com/api/2/btc_usd/ticker");
  58. $BTC_USD_SELL = $BTC_USD["ticker"]["sell"];
  59. $BTC_USD_BUY = $BTC_USD["ticker"]["buy"];
  60. // Possible Conversions
  61. // BTC -> LTC, USD, EUR, RUR
  62. // LTC -> USD, RUR
  63. // USD -> RUR, EUR
  64.  
  65. echo('<meta http-equiv="refresh" content="5">');
  66. echo "<center><pre>";
  67. echo "SELL / BUY</br>";
  68. echo "BTC -> USD : ".$BTC_USD_SELL." / ".$BTC_USD_BUY."</br>";
  69. echo "BTC -> RUR : ".$BTC_RUR_SELL." / ".$BTC_RUR_BUY."</br>";
  70. echo "BTC -> EUR : ".$BTC_EUR_SELL." / ".$BTC_EUR_BUY."</br>";
  71. echo "LTC -> BTC : ".$LTC_BTC_SELL." / ".$LTC_BTC_BUY."</br>";
  72. echo "LTC -> USD : ".$LTC_USD_SELL." / ".$LTC_USD_BUY."</br>";
  73. echo "LTC -> RUR : ".$LTC_RUR_SELL." / ".$LTC_RUR_BUY."</br>";
  74. echo "USD -> RUR : ".$USD_RUR_SELL." / ".$USD_RUR_BUY."</br>";
  75. echo "EUR -> USD : ".$EUR_USD_SELL." / ".$EUR_USD_BUY."</br>";
  76.  
  77. echo "</br>~ Trade ~";
  78. echo "</br><a href='#'>1 BTC -> USD</a> - <a href='#'>BTC <- ALL USD</a>";
  79. echo "</br><a href='#'>1 BTC -> RUR</a> - <a href='#'>BTC <- ALL RUR</a>";
  80. echo "</br><a href='#'>1 BTC -> EUR</a> - <a href='#'>BTC <- ALL EUR</a>";
  81. echo "</br><a href='#'>1 BTC -> LTC</a> - <a href='#'>BTC <- ALL LTC</a>";
  82. echo "</br><a href='#'>ALL LTC -> USD</a> - <a href='#'>LTC <- ALL USD</a>";
  83. echo "</br><a href='#'>ALL LTC -> RUR</a> - <a href='#'>LTC <- ALL RUR</a>";
  84. echo "</br><a href='#'>ALL USD -> RUR</a> - <a href='#'>USD <- ALL RUR</a>";
  85. echo "</br><a href='#'>ALL EUR -> USD</a> - <a href='#'>EUR <- ALL USD</a>";
  86.  
  87. echo "</br></br>~Arbitrage~</br>";
  88. // BTC -> LTC -> USD -> EUR -> BTC
  89. $BTC_LTC_USD_EUR_BTC = 1 / $LTC_BTC_BUY * 0.998 * $LTC_USD_SELL * 0.998 / $EUR_USD_BUY * 0.998 / $BTC_EUR_BUY * 0.998;
  90. if ($BTC_LTC_USD_EUR_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> LTC -> USD -> EUR -> BTC - ".$BTC_LTC_USD_EUR_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  91. // BTC -> LTC -> USD -> RUR -> BTC
  92. $BTC_LTC_USD_RUR_BTC = 1 / $LTC_BTC_BUY * 0.998 * $LTC_USD_SELL * 0.998 * $USD_RUR_SELL * 0.995 / $BTC_RUR_BUY * 0.998;
  93. if ($BTC_LTC_USD_RUR_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> LTC -> USD -> RUR -> BTC - ".$BTC_LTC_USD_RUR_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  94. // BTC -> LTC -> RUR -> USD -> BTC
  95. $BTC_LTC_RUR_USD_BTC = 1 / $LTC_BTC_BUY * 0.998 * $LTC_RUR_SELL * 0.995 / $USD_RUR_BUY * 0.995 / $BTC_USD_BUY * 0.998;
  96. if ($BTC_LTC_RUR_USD_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> LTC -> RUR -> USD -> BTC - ".$BTC_LTC_RUR_USD_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  97. // BTC -> USD -> RUR -> LTC -> BTC
  98. $BTC_USD_RUR_LTC_BTC = 1 * $BTC_USD_SELL * 0.998 * $USD_RUR_SELL * 0.995 / $LTC_RUR_BUY * 0.998 * $LTC_BTC_SELL * 0.995;
  99. if ($BTC_USD_RUR_LTC_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> USD -> RUR -> LTC -> BTC - ".$BTC_USD_RUR_LTC_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  100. // BTC -> USD -> LTC -> RUR -> BTC
  101. $BTC_USD_LTC_RUR_BTC = 1 * $BTC_USD_SELL * 0.998 / $LTC_USD_BUY * 0.998 * $LTC_RUR_SELL * 0.998 / $BTC_RUR_BUY * 0.998;
  102. if ($BTC_USD_LTC_RUR_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> USD -> LTC -> RUR -> BTC - ".$BTC_USD_LTC_RUR_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  103. // BTC -> RUR -> USD -> LTC -> BTC
  104. $BTC_RUR_USD_LTC_BTC = 1 * $BTC_RUR_SELL * 0.998 / $USD_RUR_BUY * 0.995 / $LTC_USD_BUY * 0.998 * $LTC_BTC_SELL * 0.998;
  105. if ($BTC_RUR_USD_LTC_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> RUR -> USD -> LTC -> BTC - ".$BTC_RUR_USD_LTC_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  106. // BTC -> RUR -> LTC -> USD -> BTC
  107. $BTC_RUR_LTC_USD_BTC = 1 * $BTC_RUR_SELL * 0.998 / $LTC_RUR_BUY * 0.998 * $LTC_USD_BUY * 0.998 / $BTC_USD_BUY * 0.998;
  108. if ($BTC_RUR_LTC_USD_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> RUR -> LTC -> USD -> BTC - ".$BTC_RUR_LTC_USD_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  109.  
  110. // BTC -> EUR -> USD -> BTC
  111. $BTC_EUR_USD_BTC = 1 * $BTC_EUR_SELL * 0.998 * $EUR_USD_SELL * 0.998 / $BTC_USD_BUY * 0.998;
  112. if ($BTC_EUR_USD_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> EUR -> USD -> BTC - ".$BTC_EUR_USD_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  113. // BTC -> USD -> EUR -> BTC
  114. $BTC_USD_EUR_BTC = 1 * $BTC_USD_SELL * 0.998 / $EUR_USD_BUY * 0.998 / $BTC_EUR_BUY * 0.998;
  115. if ($BTC_USD_EUR_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> USD -> EUR -> BTC - ".$BTC_USD_EUR_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  116.  
  117. // BTC -> RUR -> USD -> BTC
  118. $BTC_RUR_USD_BTC = 1 * $BTC_RUR_SELL * 0.998 / $USD_RUR_BUY * 0.995 / $BTC_USD_BUY * 0.998;
  119. if ($BTC_RUR_USD_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> RUR -> USD -> BTC - ".$BTC_RUR_USD_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  120. // BTC -> USD -> RUR -> BTC
  121. $BTC_USD_RUR_BTC = 1 * $BTC_USD_SELL * 0.998 * $USD_RUR_SELL * 0.995 / $BTC_RUR_BUY * 0.998;
  122. if ($BTC_USD_RUR_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> USD -> RUR -> BTC - ".$BTC_USD_RUR_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  123.  
  124. // BTC -> LTC -> USD -> BTC
  125. $BTC_LTC_USD_BTC = 1 / $LTC_BTC_BUY * 0.998 * $LTC_USD_SELL * 0.998 / $BTC_USD_BUY * 0.998;
  126. if ($BTC_LTC_USD_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> LTC -> USD -> BTC - ".$BTC_LTC_USD_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  127. // BTC -> USD -> LTC -> BTC
  128. $BTC_USD_LTC_BTC = 1 * $BTC_USD_SELL * 0.998 / $LTC_USD_BUY * 0.998 * $LTC_BTC_SELL * 0.998;
  129. if ($BTC_USD_LTC_BTC > 1.01) { echo "<script>alert('Arbitrage Found!')</script>BTC -> USD -> LTC -> BTC - ".$BTC_USD_LTC_BTC."</br>"; echo "<title>Arbitrage Found</title>"; };
  130.  
  131. echo "</pre></center>";
  132. echo "<title>No Arbitrage</title>";
  133. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement