Bitcoin Forum
October 18, 2017, 03:41:02 PM *
News: Latest stable version of Bitcoin Core: 0.15.0.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 »  All
  Print  
Author Topic: ▂ ▅ ▆ ▇ █ BOT █ ▇ ▆ ▅ ▂ ARBI - High Frequency Triangular Arbitrage Trading Bot  (Read 605 times)
bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 03, 2017, 04:50:07 PM
 #1

What is ARBI?

Arbi is high frequency triangular arbitrage trading bot for Poloniex.It is designed to be as lightweight and fast as possible so you won't miss an arbitrage opportunity.



What is Triangular Arbitrage ?

Placing transactions in three crypto currencies to exploit a market inefficiency for a theoretical risk free trade is called Triangular Arbitrage .

Example:

https://i.imgur.com/74q4hlo.png

BTC/XMR@0.02235274 -> XMR/BLK@0.00227243 -> BTC/BLK@0.00005134 -> Profit % 0.8219
Total time for all trades: ~2 seconds.See the screenshots bellow for example of executed trades.


How fast is ARBI ?

ARBI gets the data from websocket feed. The prices are updated in real-time.Prices are updated few times per second.ARBI can generate new nonce every 2ms and it can make 8 trades per second (theoretically up to 500 trades per second, but Poloniex limit is 8 calls per second).ARBI follow 20 different pair combinations each on its own thread so you can't miss an arbitrage opportunity.


Supported Operating Systems:

ARBI works both on Windows and Linux.
For Windows you need .NET Framework v4.6.2.
For Linux you need mono-devel package.
Tested on: Windows 7 , Windows Server 2016 , Ubuntu 16.0.4.



How to use:

There is api.txt and secret.txt where you need to put your api key and secret that you will receive from Poloniex.
In EthBank.txt and XmrBank.txt ARBI stores the amount and price from unfilled orders and their average price.In most cases you do not need to touch those files.
Configuration file is config.js.In that file you set the btc amount per trade that will be used and which pair combinations to be active(in case you want to disable some of them).
ARBI is a console app and does not need a GUI so it can be used on almost every computer.It is working great on vps with 1 cpu core and 512 mb ram.When you edit your api , secret , and config you are ready to start the bot.There is few shortcuts that you can use while ARBI is running:
S - Shows you the connection status.If it is connected evertyhing is fine. If the connection status shows you that you are not connected, you should restart the bot.
B - Gives you details about the amount and prices for both XMR and ETH banks.
Q - Stops the bot and saves all data to the banks(normally the banks are auto-saved when need but its recommended to stop the bot that way).

WARNING:Its recommended to disable withdraw access to the api key that you will use.



Price:

License for 1 api key: 0.09 BTC
License for 2 api keys: 0.16 BTC
Due to the high BTC price the bot price is fixed to the bitcoin equivalent of 250$ .That price will be valid until further notice. (Conversion at http://preev.com/)


How to buy:

Send me a PM.


Vouch copies:

For now 3 vouch copies will be given.Send me PM if you want a vouch copy.Every 24 hours 1 vouch copy will be given.


Program output log example:

https://ybin.me/p/43cd0101be18a766#LfY5aLfM7AXF8AHbN/BYLs5mlru+jwYfFj8VKbdsViY=

Screenshots from trading history:

https://i.imgur.com/mzijCqa.png
https://i.imgur.com/yHmrTOo.png
https://i.imgur.com/2Lhetd7.png

https://i.imgur.com/fzCDhyP.png

https://i.imgur.com/nfJZ3Gt.png
https://i.imgur.com/q1Ok5HO.png
https://i.imgur.com/a1mY8io.png
https://i.imgur.com/ZgLit0s.png
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
btctube
Hero Member
*****
Offline Offline

Activity: 560



View Profile
October 03, 2017, 04:54:51 PM
 #2

I'd wait for the feedbacks of those who bought.  I already saw some software like this before. How many exchanges are there in the list for comparing prices?
I find it very pricey actually 0.05 btc would be considerable.


░░░░░░░░░░▄▄░░░░░░▄██▄
░░░░░░░░▄████▄░░░▀█████▄
░░░░░░▄████████▄░░░▀█████▄
░░░░▄█████▀▀█████▄░░░▀█████▄
░░▄█████▀░░░░▀█████▄░░░▀█████▄
█████▀░░░░░░░▀█████░░░░▀█████
████▀░░░░░██▄░░░░▀████░░░░░▀████
████░░░░░░████░░░░████░░░░░░████
████░░░░░░████░░░░████░░░░░░████
████░░░░░░████░░░░████░░░░░░████
████░░░░░░████░░░░████░░░░░░████
████░░░░░░████░░░░████░░░░░░████
████░░░░░░████░░░░████░░░░░░████
████▄░░░░░████▄░░░░▀██░░░░░▄████
█████▄░░░░█████▄░░░░░░░▄█████
░░▀█████▄░░░▀█████▄░░░░▄█████▀
░░░░▀█████▄░░░▀█████▄▄█████▀
░░░░░░▀█████▄░░░▀████████▀
░░░░░░░░▀█████▄░░░▀████▀
░░░░░░░░░░▀██▀░░░░░░▀▀
CommerceBlock
.Creating Decentralised Financial Infrastructure.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬   Whitepaper ▬  ANN Thread   ▬▬

bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 03, 2017, 05:09:33 PM
 #3

I'd wait for the feedbacks of those who bought.  I already saw some software like this before. How many exchanges are there in the list for comparing prices?
I find it very pricey actually 0.05 btc would be considerable.
Exchange is only one - Poloniex Smiley.This bot is not doing arbitrage between exchanges.Its doing in-house arbitrage on Poloniex.Take a look at the logs.
bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 05, 2017, 06:08:50 AM
 #4

Vouch copy given to ybsok .
ybsok
Jr. Member
*
Offline Offline

Activity: 56


View Profile
October 05, 2017, 07:12:24 AM
 #5

received the vouch copy. thank you very much!
but it shows" license status: invalid"   ?

ybsok
Jr. Member
*
Offline Offline

Activity: 56


View Profile
October 05, 2017, 07:40:24 AM
 #6

fixed .
license status valid now
let's have a try

p0nts
Newbie
*
Offline Offline

Activity: 15


View Profile
October 05, 2017, 10:02:47 AM
 #7

I would like to try as well Smiley
kolesozw
Legendary
*
Offline Offline

Activity: 966


GOOO DeepOnion!! To The Moon :)


View Profile
October 05, 2017, 04:10:57 PM
 #8

Do you offer trials?

I think you should clean bugs like

9/30/2017 3:02:19 PM: {"error":"Total must be at least 0.0001."}
9/30/2017 3:02:19 PM: Sold 0 BTCD For: 0.0000 BTC
9/30/2017 3:02:19 PM: PROFIT % : -100.0000 Bank used: False

And the bot shouldn't initialize the trade on 1st coin if the order later will be under  0.0001

                               
           ░▓█████████████████▓░
          ▒▓██▓▓▓▓▓▓▓▓▓▓▒▓▒▒▒██▓▒░
      ░▒▓███▓                 ▒██▓▓▒░░    ░
▓▒███████▓▒        ░▒▒▒▒▒▒▒░    ░▓▓▓██▓▓▓▒▓
▒░██▒░░         ▒▓▓▓▓▒▒▒▒▓▓██▓▒     ░ ▒▓▓░▓
░▒▓█▒         ▒█▓▓▒▒▒▒▒▒▒▓▓▓████▓▓▒   ▒█▓▒▒
 ▒░██        ██▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒░██▒   ██▒▒
 ▓░▓█▒      ██▒▒▒▒▒▒░▒░░▒▒▒░░▒▓██▓   ▒██░▒
 ░▓░█▓     ▓█▓▒░▒▒▒▒▒▒▒░░░▒▒▓▓▓▓▓▒   ██░▓░
  ▓▒▒█▓  ▓▒█▓▒▒▓▓▒░▒░░░▒▒▒▒▒▒▒▒ █▒  ██▓░▓
   █░▒█▓ ▓███▓▒▒░░▒▒▒▒▒▒▒▒▒▒▒░ ▓█  ██▓ ▓
    █░▓█▓ ░██▓███▓▓▒▒▒▒▒▒▒░▒▒▓██  ██▓░▓
    ░█░▒██  ░ ░▓███████▓██████▒  ██▒░▓
      █▒░██▓      ░▒▒▓▓▓▓▒▒░   ▓██░▒▓
       ▓▓░▒██▒               ▒██▓░▓▓
        ░█▓░▓██▒           ▒██▓░▓█░
          ▒█▓░▓██▓       ▓██▓▒▓█▒
            ▒█▓▒▒███░ ▒███▒▒▓█▒
              ▒██▓▒▓███▓▒▒██▒
                ░▓██▒▒▒███░
                   ▒███▒














bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 05, 2017, 06:18:21 PM
 #9

Do you offer trials?
Sorry, there is no trials.Only vouch copies (2 left).Im giving 1 each 24hours.Feel free to apply for a copy.

I think you should clean bugs like

9/30/2017 3:02:19 PM: {"error":"Total must be at least 0.0001."}
9/30/2017 3:02:19 PM: Sold 0 BTCD For: 0.0000 BTC
9/30/2017 3:02:19 PM: PROFIT % : -100.0000 Bank used: False

And the bot shouldn't initialize the trade on 1st coin if the order later will be under  0.0001
Im not sure what you consider as "bug".Let me explain what you see in the output log and how it is getting to that point.

9/30/2017 2:55:42 PM: -------------------------------------------------------------------------------------------------------
9/30/2017 3:02:19 PM: Total bank: 0.0644143684400392016039740254 XMR Avrg. price: 0.0223386507960937499999999998
9/30/2017 3:02:19 PM: BTC_XMR
9/30/2017 3:02:19 PM: We want to buy: 0.0179726734486549925166280928 XMR Available volume: 30.04200000 Price: 0.02225601
9/30/2017 3:02:19 PM: {"orderNumber":"204247458204","resultingTrades":[{"amount":"0.01797267","date":"2017-09-30 12:02:18","rate":"0.02225601","total":"0.00039999","tradeID":"13466008","type":"buy"}],"amountUnfilled":"0.00000000"}
9/30/2017 3:02:19 PM: We bought: 0.0179276715444234970224735913
9/30/2017 3:02:19 PM: XMR_BTCD
9/30/2017 3:02:19 PM: We want to buy: 0.0132643717968714960714777408 BTCD Available volume: 1.55986823 Price: 1.35156582
9/30/2017 3:02:19 PM: {"orderNumber":"18145023944","resultingTrades":[],"amountUnfilled":"0.01326437"}
9/30/2017 3:02:19 PM: We bought: 0
9/30/2017 3:02:19 PM: BTC_BTCD
9/30/2017 3:02:19 PM: {"error":"Total must be at least 0.0001."}
9/30/2017 3:02:19 PM: Sold 0 BTCD For: 0.0000 BTC
9/30/2017 3:02:19 PM: PROFIT % : -100.0000 Bank used: False
9/30/2017 3:02:19 PM: Current XMR Bank Values: [Amount] 0.0644143684400392016039740254 [Avrg.Price] 0.0223386507960937499999999998
9/30/2017 3:02:19 PM: -------------------------------------------------------------------------------------------------------

When the bot found an arbitrage opportunity it compares your balance per trade to the available volume at the specified price.The trades are executed only if the volume is few times higher than your balance per trade(currently set to 3 * pair1AmountToBuy, 9 * pair2AmountToBuy and 3 * pair3AmountToSell), so the bot is not initializing trades on lower volumes than needed.Sometimes due to server/network latency and/or other factors(someone else bought it before you and etc) the amount (in this example BTCD) you want to buy may become unfilled.So in that case we are left with XMR balance.Those balance is added to the other left xmr amounts and the price of the total xmr amount is averaged.Later that balance is used in the next arbitrage(if it will be profitable), also every 45seconds the xmr sell price is checked and if it is higher than our bought price the bot sell the left xmr amount.The same logic applies for ETH.
BestWebCreator
Hero Member
*****
Offline Offline

Activity: 536



View Profile WWW
October 06, 2017, 05:43:43 AM
 #10

Why do you ask me for my API key to activate the vouch copy? As far as I know u don't need my API to give me a vouch copy. API key is for managing my account through a command line. So I don't know whetether u just a scammer or offering a real product.

Hero Member/Legendary
bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 06, 2017, 06:19:31 AM
 #11

Why do you ask me for my API key to activate the vouch copy? As far as I know u don't need my API to give me a vouch copy. API key is for managing my account through a command line. So I don't know whetether u just a scammer or offering a real product.
Because ,my friend your license is tied to your api key that will be used in the bot.And if you had some previous experience with bot trading and how api/secret works you wouldn ask that question.

P.S. Guys dont ask for vouch copy if you dont have any previous experience with trading bots or at least have a minimum understanding of how those things works.Thanks!
BestWebCreator
Hero Member
*****
Offline Offline

Activity: 536



View Profile WWW
October 06, 2017, 06:50:31 AM
 #12

Why do you ask me for my API key to activate the vouch copy? As far as I know u don't need my API to give me a vouch copy. API key is for managing my account through a command line. So I don't know whetether u just a scammer or offering a real product.
Because ,my friend your license is tied to your api key that will be used in the bot.And if you had some previous experience with bot trading and how api/secret works you wouldn ask that question.

P.S. Guys dont ask for vouch copy if you dont have any previous experience with trading bots or at least have a minimum understanding of how those things works.Thanks!
I know that a bot should not save your API key anywhere, it justs needs to be there te access the account and not be saved on the cloud or stored by you. You can say I am wrong, but an API key can be used to screw over people, therefor I am not giving my API key for this vouch copy. I hold way too much money in my Poloniex account to just take the risk of trusting you.

Hero Member/Legendary
bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 06, 2017, 07:12:41 AM
 #13

Why do you ask me for my API key to activate the vouch copy? As far as I know u don't need my API to give me a vouch copy. API key is for managing my account through a command line. So I don't know whetether u just a scammer or offering a real product.
Because ,my friend your license is tied to your api key that will be used in the bot.And if you had some previous experience with bot trading and how api/secret works you wouldn ask that question.

P.S. Guys dont ask for vouch copy if you dont have any previous experience with trading bots or at least have a minimum understanding of how those things works.Thanks!
I know that a bot should not save your API key anywhere, it justs needs to be there te access the account and not be saved on the cloud or stored by you. You can say I am wrong, but an API key can be used to screw over people, therefor I am not giving my API key for this vouch copy. I hold way too much money in my Poloniex account to just take the risk of trusting you.

It's your decision if you are gonna trust me or not(anyway you dont have to trust me I reconsidered giving a vouch copy to you because I dont want users to be fooled be reviewers who dont know how even the basics of how api key works) .Anyway let me give you some info because you are wrong about the api usage.This bot (or any other trading bot) can not operate without api and secret being given to it.
Most trading bots uses your api key for a license handling.Also the api key on its own is not enough for someone to access you account.They will need both your api and secret and nonce higher than your last generated one.If someone have both your api and secret they can withdraw your coins.Im not asking for your api secret in any way.Additionally you could see the bolded red warning in my post stating that you should disable withdraw access to the api key that the bot will use.

I guess the previous user that i gaved vouch copy didnt knew how api key and secret are functioning and sent me both his key and secret.You can see in the screenshot bellow what I told him.
https://snag.gy/8VY9Er.jpg

Its not cool to put false blame on someone for something that you dont understand.
bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 07, 2017, 07:03:54 AM
 #14

Yesterday's screenshots from ARBI.

https://i.imgur.com/FmN7sVC.png
https://i.imgur.com/AZsCz9l.png

Output log:

https://ybin.me/p/79cd98db72c16a0f#nW733XH6NlaIyUh3XWDZC7Ab8j8tFpEWK2uV2o5GIXk=

If you have questions PM me.
bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 08, 2017, 10:15:53 AM
 #15

Vouch copy given to MoreThanMiles .
MoreThanMiles
Newbie
*
Offline Offline

Activity: 10


View Profile
October 08, 2017, 10:32:23 AM
 #16

Just got my copy and started ARBI on my VPS. So far the communication was very nice and helpful, I´m going to report back in a day about the results.

Edit: I have been running it for about 24 hours now as a test with a small btc per trade amount of 0.0002 BTC.

https://ybin.me/p/ddbe6f2ffd819367#8lHx98Gm6CJ6ma9lREw5MRgY3gipDROI0ii2G41sbs4=

I´m going to test 0.0001 BTC for today to see the difference.
bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 10, 2017, 08:19:30 AM
 #17

New options added to ARBI:

OPTION                          ACCEPTED VALUE
Pair1_Price                      0-9
Pair2_Price                      0-9
Pair3_Price                      0-9
Pair1_Volume_Multiplier   0-255
Pair2_Volume_Multiplier   0-255
Pair3_Volume_Multiplier   0-255

----------------------------------------------------------------------------------------------
With PairX_Price you select which price from the ordebook you are going to use.
0 - lowest value
9 - highest value
For pairs where you buy your best price is lowest - 0.
For pairs where  you sell your best price is highest - 9.
Pair1 and Pair2 buys, Pair3 sells.
----------------------------------------------------------------------------------------------
With PairX_Volume_Multiplier you select how much volume must be available on
your chosen price.
Example: Volume available: 5 | PairX_Volume_Multiplier = 5
Arbitrage triggered if available volume is higher than
Your_Balance_Per_Trade * PairX_Volume_Multiplier
----------------------------------------------------------------------------------------------

Current example of config.js

{
  "XMR_Pairs": true,
  "ETH_Pairs": true,
  "BalancePerTrade": 0.0002,
  "Pair1_Price": 0,
  "Pair2_Price": 1,
  "Pair3_Price": 9,
  "Pair1_Volume_Multiplier": 3,
  "Pair2_Volume_Multiplier": 5,
  "Pair3_Volume_Multiplier": 1
}
bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 11, 2017, 06:44:56 AM
 #18

Last few hours log:
https://ybin.me/p/47f35bae57a4ecbc#E492vT4/QbXKDWLS8q4D6RTZus1o/SiechbRKcpKZM8=

Trade history screenshot:
https://i.imgur.com/hSZfMjd.png
BTC-BTC-BTC
Hero Member
*****
Offline Offline

Activity: 924



View Profile
October 11, 2017, 12:09:05 PM
 #19

People should not use the account with all their holding for trading bot. Just create another account and deposit the amount willing to put it on the line to test the bot.

.
.

icoico
icoico
icoico
.
.
.

icoico
icoico
icoico
.
.
.
.

icoico
icoico
icoico
.
.
bzcorp
Newbie
*
Offline Offline

Activity: 16


View Profile
October 12, 2017, 11:28:11 AM
 #20

New options added to ARBI:

OPTION                          ACCEPTED VALUE
DynamicStartBalance       Boolean(true/false)

Examples:

DynamicStartBalance set to false:
When DSB is set to false the bot will look only for arbitrages that matches your BalancePerTrade value.
If the is arbitrage occurrence is for smaller amount than your BalancePerTrade  it will be ignored.

DynamicStartBalance set to true:
When DSB is set to true the bot will treat your BalancePerTrade value as max balance per trade.
If there is arbitrage occurence for any amount smaller than your BalancePerTrade trades will be executed.

How is the BalancePerTrade per trade calculated if DSB is set to true ?
Without DSB activated the bot checks if the available volume is > than BalancePerTrade * PairX_Volume_Multiplier.
If DSB is set to true the bot calculates the balance per trade like that: BalancePerTrade = Available volume / PairX_Volume_Multiplier

Due to the high BTC price the bot price is fixed to the bitcoin equivalent of 250$ .That price will be valid until further notice. (Conversion at http://preev.com/)

Current example of config.js

{
  "XMR_Pairs": true,
  "ETH_Pairs": true,
  "DynamicStartBalance": true,
  "BalancePerTrade": 0.0002,
  "Pair1_Price": 0,
  "Pair2_Price": 1,
  "Pair3_Price": 9,
  "Pair1_Volume_Multiplier": 3,
  "Pair2_Volume_Multiplier": 5,
  "Pair3_Volume_Multiplier": 1
}
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!