Author

Topic: BOT open source e free - Arbitragem com triangulação dentro da Binance! (Read 883 times)

newbie
Activity: 5
Merit: 0
Funcionou com alguém Huh
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
O Bot Arbitrage Triangular, Ele faz apenas a simulação mas não executa a ordem você ira atualizar esse bot de arbitragem para começar a realizar as operação ?

Eu já procurei por outros bots funcionais que tem o mesmo propósito, porém descobri que essa estratégia já é bastante explorada.
Se você quiser ter melhores resultados com isso precisará trabalhar em uma exchange bem menor que a Binance. Então, veja bem se vale a pena trabalhar em cima desse bot que é exclusivo pra ela.
legendary
Activity: 2758
Merit: 6830
O Bot Arbitrage Triangular, Ele faz apenas a simulação mas não executa a ordem você ira atualizar esse bot de arbitragem para começar a realizar as operação ?
Se estiver falando do bot do thread (do Matheus Grijó), falou que ia adicionar essa função no bot. Porém isso foi antes dele vender a empresa dele para outra empresa dúvidosa e simplesmente sumir do mapa com o bolso cheio de dinheiro. Então a resposta muito provavelmente é não. Só se alguém manjar de C# e quiser implementar essa função no mesmo.
newbie
Activity: 22
Merit: 0
O Bot Arbitrage Triangular, Ele faz apenas a simulação mas não executa a ordem você ira atualizar esse bot de arbitragem para começar a realizar as operação ?
legendary
Activity: 2758
Merit: 6830
boa tarde,
estou tentando rodar o bot aqui porem me daparei com este erro

-snip-

alguem consegue me ajudar a resolver-lo?
Bom, do dev não vai vir nenhuma ajuda, já que ele dumpou (vendeu) o projeto dele para uma empresa que tem altas chances de estar insolvente, deletou suas contas e sumiu do mapa. Smiley

Mas enfim, o erro ocorre em que momento? O que acontece antes? Ou é imediatamente ao executar o bot?
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
Não, ainda não faz os trades não. Essa parte eu nao consegui terminar no final de semana.

Ah, ótimo... eu já achei que tava bugado porque os parâmetros já estavam lá no config Grin

Enfim.... buscou diversas oportunidades também, acredito que a maioria seja na madrugada quando as baleias fazem o "ajuste do mercado", é que não tem as horas da oportunidade no console, seria interessante adicionar Wink
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
Mas como essa sintaxe não é tão compativel como eu pensei, fiz a alteração sugerida Tongue
Deve ser. Estou usando a 10.16.3 (LTS).
Idem por aqui, baixei a última versão estável para Windows.

Após fazer uns testes ontem a tarde e o bot aparentemente encontrar algumas oportunidades, eu configurei os parâmetros WATCH_ONLY e TEST para false, teoricamente ele deveria realizar os trades, certo?
No console até pintou algo interessante, mas no Order History da binance não tem nada realizado.

Não, ainda não faz os trades não. Essa parte eu nao consegui terminar no final de semana.
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
Mas como essa sintaxe não é tão compativel como eu pensei, fiz a alteração sugerida Tongue
Deve ser. Estou usando a 10.16.3 (LTS).
Idem por aqui, baixei a última versão estável para Windows.

Após fazer uns testes ontem a tarde e o bot aparentemente encontrar algumas oportunidades, eu configurei os parâmetros WATCH_ONLY e TEST para false, teoricamente ele deveria realizar os trades, certo?
No console até pintou algo interessante, mas no Order History da binance não tem nada realizado.
legendary
Activity: 2758
Merit: 6830
Dei uma pesquisada aqui e aparentemente é coisa da versão do node mesmo. Na versão 12 que você utilizou, é possível definir as variáveis fora do constructor caso elas não utilizem parâmetros passados pelo mesmo.

Quote
Instead of listing all variables with default values in the constructor, you can define them on the class level.

https://blog.risingstack.com/node-js-12-new-features/

Eu sempre utilizo a versão LTS, então não sabia dessa. Smiley
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
Mas como essa sintaxe não é tão compativel como eu pensei, fiz a alteração sugerida Tongue
Deve ser. Estou usando a 10.16.3 (LTS).

meritei toda a galera que testou e achou probelmas. Brigadão galera!
legendary
Activity: 2758
Merit: 6830
Mas como essa sintaxe não é tão compativel como eu pensei, fiz a alteração sugerida Tongue
Deve ser. Estou usando a 10.16.3 (LTS).
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
-snip-
Enquanto o girino nao da uma olhada nisso, remova tudo da linha 176-181. Parou o erro e no meu caso deu de "invalid API" por que nao tenho conta na Binance, entao nao posso continuar testando.

hum, isso deve ter a ver com a versão do nodejs instalada. qual versão vcs tem? a minha é :

Code:
$ node --version
v12.3.1
$ npm --version
6.9.0

Mas como essa sintaxe não é tão compativel como eu pensei, fiz a alteração sugerida Tongue
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
(...)
Sem as linhas 176-181 o bot rodou, mas ocorreu outro erro e travou novamente ...



esse erro ai é de internet. sua internet caiu ou oscilou em algum momento e ele perdeu a conexão com a binance.

O resto eu olho de noite em casa. realmente as instruções estão erradas. Era npm start mesmo. Tongue
full member
Activity: 896
Merit: 221
Enquanto o girino nao da uma olhada nisso, remova tudo da linha 176-181. Parou o erro e no meu caso deu de "invalid API" por que nao tenho conta na Binance, entao nao posso continuar testando.

Opa, parece estar rodando.
Vou acompanhar por um tempo e ver o que ocorre.
Obrigado!

Code:
d:\Downloads\BinanceArbitrageWatcher-master(1)>npm start

> [email protected] start d:\Downloads\BinanceArbitrageWatcher-master(1)
> node main.js

=======================
Triades Carregadas:  6690
=======================

Quanto ao "invalid API"...
De acordo com o @girino, se você colocar o parâmetro WATCH_ONLY em true e algo qualquer no API_KEY e SECRET_KEY, ele deveria rodar sem problemas.


Sem as linhas 176-181 o bot rodou, mas ocorreu outro erro e travou novamente ...

legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
Enquanto o girino nao da uma olhada nisso, remova tudo da linha 176-181. Parou o erro e no meu caso deu de "invalid API" por que nao tenho conta na Binance, entao nao posso continuar testando.

Opa, parece estar rodando.
Vou acompanhar por um tempo e ver o que ocorre.
Obrigado!

Code:
d:\Downloads\BinanceArbitrageWatcher-master(1)>npm start

> [email protected] start d:\Downloads\BinanceArbitrageWatcher-master(1)
> node main.js

=======================
Triades Carregadas:  6690
=======================

Quanto ao "invalid API"...
De acordo com o @girino, se você colocar o parâmetro WATCH_ONLY em true e algo qualquer no API_KEY e SECRET_KEY, ele deveria rodar sem problemas.
legendary
Activity: 2758
Merit: 6830
-snip-
Enquanto o girino nao da uma olhada nisso, remova tudo da linha 176-181. Parou o erro e no meu caso deu de "invalid API" por que nao tenho conta na Binance, entao nao posso continuar testando.
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
@girino, tentei executar aqui e não rodou, não reconhece o parâmetro main.

https://i.imgur.com/W0cALIi.jpg

Usei o node no Windows, será que é por isso?
O comando certo é "npm start".

Parece que tambem esta errado nas instrucoes do repo.

Code:
d:\Downloads\BinanceArbitrageWatcher-master(1)>npm start

> [email protected] start d:\Downloads\BinanceArbitrageWatcher-master(1)
> node main.js

d:\Downloads\BinanceArbitrageWatcher-master(1)\main.js:176
    coins;
         ^

SyntaxError: Unexpected token ;
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node main.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Xxxxxxxx\AppData\Roaming\npm-cache\_logs\2019-08-19T14_57_54_851Z-debug.log
legendary
Activity: 2758
Merit: 6830
@girino, tentei executar aqui e não rodou, não reconhece o parâmetro main.

https://talkimg.com/images/2023/05/14/blobeea93abf4a2fd8f1.jpeg

Usei o node no Windows, será que é por isso?
O comando certo é "npm start".

Parece que tambem esta errado nas instrucoes do repo.
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
@girino, tentei executar aqui e não rodou, não reconhece o parâmetro main.


Usei o node no Windows, será que é por isso?
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
Brincando agora no FDS fiz uma versão em nodejs pra fazer a mesma coisa. eu trabalho com um principio um pouco diferente do dele. Eu vigio o "ticker" das moedas usando websocket e calculo se haverá lucro no bot. Se o lucro for maior de 1% e a quantidade disponivel maior que 10 USD ele mostra o resultado na tela (vou tornar isso parametrizavel, por enquanto tá fixo).

Ficou bem mais leve que o bot do matheus, mas talvez não seja tão eficaz.

link: https://github.com/girino/BinanceArbitrageWatcher/

Opa, vou testar ele também.
Ele apenas verifica as oportunidades? No caso eu posso rodar ele sem medo em minha conta ou ele também executa?

Ele tambem cancela ordens existentes. Vou comentar essa parte por enquanto. espera uns 15 minutos e baixa Wink

pronto. pode baixar. Ele usa seu saldo para definir o tamanho da oportunidade de arbitragem. Sem saldo pode não dar nada. vou alterar isso tambem, pra galera que quer só observar.

Pronto de novo. Acrescentei a opção "watch only" no config. Com ela setada pra true, não executa nenhuma operação!

edit pode inclusive não usar sua key. deixa o valor default (se deixar em branco da pau, vou corrigir isso depois)
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
Brincando agora no FDS fiz uma versão em nodejs pra fazer a mesma coisa. eu trabalho com um principio um pouco diferente do dele. Eu vigio o "ticker" das moedas usando websocket e calculo se haverá lucro no bot. Se o lucro for maior de 1% e a quantidade disponivel maior que 10 USD ele mostra o resultado na tela (vou tornar isso parametrizavel, por enquanto tá fixo).

Ficou bem mais leve que o bot do matheus, mas talvez não seja tão eficaz.

link: https://github.com/girino/BinanceArbitrageWatcher/

Opa, vou testar ele também.
Ele apenas verifica as oportunidades? No caso eu posso rodar ele sem medo em minha conta ou ele também executa?

Ele tambem cancela ordens existentes. Vou comentar essa parte por enquanto. espera uns 15 minutos e baixa Wink

pronto. pode baixar. Ele usa seu saldo para definir o tamanho da oportunidade de arbitragem. Sem saldo pode não dar nada. vou alterar isso tambem, pra galera que quer só observar.
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
Brincando agora no FDS fiz uma versão em nodejs pra fazer a mesma coisa. eu trabalho com um principio um pouco diferente do dele. Eu vigio o "ticker" das moedas usando websocket e calculo se haverá lucro no bot. Se o lucro for maior de 1% e a quantidade disponivel maior que 10 USD ele mostra o resultado na tela (vou tornar isso parametrizavel, por enquanto tá fixo).

Ficou bem mais leve que o bot do matheus, mas talvez não seja tão eficaz.

link: https://github.com/girino/BinanceArbitrageWatcher/

Opa, vou testar ele também.
Ele apenas verifica as oportunidades? No caso eu posso rodar ele sem medo em minha conta ou ele também executa?

Ele tambem cancela ordens existentes. Vou comentar essa parte por enquanto. espera uns 15 minutos e baixa Wink
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
Brincando agora no FDS fiz uma versão em nodejs pra fazer a mesma coisa. eu trabalho com um principio um pouco diferente do dele. Eu vigio o "ticker" das moedas usando websocket e calculo se haverá lucro no bot. Se o lucro for maior de 1% e a quantidade disponivel maior que 10 USD ele mostra o resultado na tela (vou tornar isso parametrizavel, por enquanto tá fixo).

Ficou bem mais leve que o bot do matheus, mas talvez não seja tão eficaz.

link: https://github.com/girino/BinanceArbitrageWatcher/

Opa, vou testar ele também.
Ele apenas verifica as oportunidades? No caso eu posso rodar ele sem medo em minha conta ou ele também executa?
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
Brincando agora no FDS fiz uma versão em nodejs pra fazer a mesma coisa. eu trabalho com um principio um pouco diferente do dele. Eu vigio o "ticker" das moedas usando websocket e calculo se haverá lucro no bot. Se o lucro for maior de 1% e a quantidade disponivel maior que 10 USD ele mostra o resultado na tela (vou tornar isso parametrizavel, por enquanto tá fixo).

Ficou bem mais leve que o bot do matheus, mas talvez não seja tão eficaz.

link: https://github.com/girino/BinanceArbitrageWatcher/
full member
Activity: 896
Merit: 221
Para quem quiser testar o bot existe uma vps free da amazon (windows/linux) que pode ser utilizada ao longo de um ano. Wink
https://aws.amazon.com/pt/ec2/ (Amazon EC2)



newbie
Activity: 1
Merit: 0
Muito bom essa interação pessoal!
Esse final de semana quero já colocar bastante coisa no ar Smiley

Aviso vocês aqui!

Parabéns pelo trabalho! Estou testando em uma vps, quando estiver executando volto a rodar.
newbie
Activity: 1
Merit: 0


Olá Pessoal, estou acompanhando as postagens, será que o Matheus já tem novidades? rsrsrsrsrs, estou aguardando ansioso, acho que todos estão.  Grin
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
E parece estar funcionando sem a API key. vc usa alguma API autenticada no bot?

Eu já fuçei muito nesse código e notei que a API KEY só é usada no momento de executar as ordens (trade).
Como isso ainda não é feito, esses parâmetros não precisam ser necessariamente válidos.

legendary
Activity: 2758
Merit: 6830
Por acaso ele pode ser adaptado para executar no testnet da Binance?

Entendo que desta forma seria possível testa-lo sem colocar $$$ na jogada.

Bom, do jeito que esta ja e como se estivesse em uma "testnet". As ordens nao estao sao executadas (o Matheus falou que vai implementar isso mais tarde). Atualmente voce pode ver tudo que teria acontecido mas nada acontece de verdade.
newbie
Activity: 1
Merit: 0
Olá Time,

Lendo este tópico, fiquei interessado pelo projeto.

Tenho uma dúvida sobre este script. Por acaso ele pode ser adaptado para executar no testnet da Binance?

Entendo que desta forma seria possível testa-lo sem colocar $$$ na jogada.

Obrigado e parabéns pela iniciativa,

Grato,

E. Kanashiro
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
(...)

Ele procurava o arquivo em "C:\bot". Fiz um "patch" pra procurar em "./bot" pra funcionar no mac (deve funcionar no linux tambem).

Depois é só compilar com "msbuild RobotArbitrage.sln".
(...)

E parece estar funcionando sem a API key. vc usa alguma API autenticada no bot?
legendary
Activity: 2296
Merit: 1170
Advertise Here - PM for more info!
(...)
Configuração: Criar um arquivo JSON na pasta do executavel com o nome "config.json"
(...)

Ele procurava o arquivo em "C:\bot". Fiz um "patch" pra procurar em "./bot" pra funcionar no mac (deve funcionar no linux tambem).

Depois é só compilar com "msbuild RobotArbitrage.sln".

Code:
diff --git a/Logger.cs b/Logger.cs
index 656be2d..abf39ad 100644
--- a/Logger.cs
+++ b/Logger.cs
@@ -20,7 +20,7 @@ public class Logger
         Console.WriteLine(value);
         lock (objLock)
         {
-            System.IO.StreamWriter w = new StreamWriter(@"C:\bot\" + prefix + "logger.txt", true);
+            System.IO.StreamWriter w = new StreamWriter(@"./bot/" + prefix + "logger.txt", true);
             w.WriteLine(value);
             w.Close();
             w.Dispose();
@@ -33,7 +33,7 @@ public class Logger
         Console.WriteLine(value);
         lock (objLock)
         {
-            System.IO.StreamWriter w = new StreamWriter(@"C:\bot\" + prefix + "trade.txt", true);
+            System.IO.StreamWriter w = new StreamWriter(@"./bot/" + prefix + "trade.txt", true);
             w.WriteLine(value);
             w.Close();
             w.Dispose();
@@ -60,7 +60,7 @@ public class Logger
             Console.WriteLine(value);
             lock (objLock)
             {
-                System.IO.StreamWriter w = new StreamWriter(@"C:\bot\" + prefix + "triangle.txt", true);
+                System.IO.StreamWriter w = new StreamWriter(@"./bot/" + prefix + "triangle.txt", true);
                 w.WriteLine(value);
                 w.Close();
                 w.Dispose();
@@ -76,7 +76,7 @@ public class Logger
         Console.WriteLine(value);
         lock (objLock)
         {
-            System.IO.StreamWriter w = new StreamWriter(@"C:\bot\high.txt", true);
+            System.IO.StreamWriter w = new StreamWriter(@"./bot/high.txt", true);
             w.WriteLine(value);
             w.Close();
             w.Dispose();
diff --git a/Program.cs b/Program.cs
index 4650fae..af1d249 100644
--- a/Program.cs
+++ b/Program.cs
@@ -768,7 +768,7 @@ class Program

     static void config()
     {
-        String configJson = System.IO.File.ReadAllText(@"C:\bot\config.json");
+        String configJson = System.IO.File.ReadAllText(@"./bot/config.json");
         Newtonsoft.Json.Linq.JContainer jContainer = (Newtonsoft.Json.Linq.JContainer)JsonConvert.DeserializeObject(configJson);

         Key.key = jContainer["key"].ToString();
newbie
Activity: 13
Merit: 1
Boas,

Não sou um expert em informática, como se faz para rodar um bot no windows?

não sou programador nem expert mas  acho que a maior dificuldade que o utilizador comum pode ter é em criar o ficheiro em .json .

Para isso fui a http://www.objgen.com/json e criei lá o ficheiro com as minhas keys e dei o nome de config.json . (não sei se é seguro ou não mas funcionou para mim) Grin

Depois criei a pasta no C: com o nome de bot e pus lá o ficheiro config.json isolado.

Depois de fazer o download de toda a pasta do github e abrir vou -> BIN -> DEBUG -> RobotArbritage

e corre tudo impecável ! Cheguei a ver oportunidades de 39% sem risco  Shocked Shocked Shocked só falta mesmo executar



newbie
Activity: 13
Merit: 1
Muito bom essa interação pessoal!
Esse final de semana quero já colocar bastante coisa no ar Smiley

Aviso vocês aqui!


excelente trabalho !
member
Activity: 116
Merit: 29
Anubis Trade (anubis.website)
Muito bom essa interação pessoal!
Esse final de semana quero já colocar bastante coisa no ar Smiley

Aviso vocês aqui!
full member
Activity: 896
Merit: 221
Boas,

Não sou um expert em informática, como se faz para rodar um bot no windows?

i) crie uma pasta com o nome "bot" em C:\                C:\bot\
ii) faça um download do conteúdo https://github.com/MatheusGrijo/ArbitrageTriangularHFTBinance e cole na pasta C:\bot\
iii) crie um arquivo de texto - substitua sua key, secret key e o valor inicial - e salve como config.json na pasta C:\bot\

Code:
{

key : "SUA_KEY_AQUI",

secret: "[b]SUA_SECRET_AQUI",

initialValue: 0.003,

percValue: 0.35

}

iv) ir no cmd e digitar  "cd C:\bot\bin\Debug\" (aperte enter) e depois digitar "RobotArbitrage.exe" (aperte enter novamente)
ou vá direto na pasta C:\bot\bin\Debug\ e rode o RobotArbitrage.exe
hero member
Activity: 1034
Merit: 500
Boas,

Não sou um expert em informática, como se faz para rodar um bot no windows?
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
o bot parece que só está à procura de oportunidades , mas ainda não as executa. Alguém já acabou o desenvolvimento do bot ? Continuas a trabalhar nele Matheus?

Suas perguntas já foram respondidas hà alguns post atrás Wink

Estou atualizando constantemente o código, hoje as ordens não estão sendo executadas, está somente achando as oportunidades!
Vou atualizar para executar, fiquem ligados lá no GIT, que já já sai Wink
newbie
Activity: 13
Merit: 1
o bot parece que só está à procura de oportunidades , mas ainda não as executa. Alguém já acabou o desenvolvimento do bot ? Continuas a trabalhar nele Matheus?
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
O server da Binance está localizado em Tokyo, Japão, nos servidores da Amazon.

Podemos obter o IP e a localização da Binance.com pelo site MYIP (https://myip.ms/info/whois/52.68.244.8/k/2005733267/website/binance.com)
ARCHIVE - https://archive.fo/cRgNz
Code:
Hosting Info for Website:	binance.com
Popularity: 660,000 visitors per day
IP Address: 52.68.244.8
IP Location: USA,    Tokyo,    Tokyo
IP Reverse DNS (Host): ec2-52-68-244-8.ap-northeast-1.compute.amazonaws.com
Top Level Host Usage: 61,768,982 sites use XXX.amazonaws.com as IP Reverse DNS

Uma pequena correção: Você deve buscar pelo endereço da API, não do website, no caso seria https://api.binance.com e não há um IP fixo, mas sim um range que vai de 13.225.191.0 à 13.225.191.255.
Por estar no webservices da Amazon o endereço IP pode variar constantemente de acordo com a sua região e a disponibilidade da rede.
full member
Activity: 896
Merit: 221
....

Não vi o tempo do loop do bot, imagino que não seja instantâneo.. então deve ser algo "na sorte" de quem chega primeiro ou tem vários bots rodando com diferentes chaves, de preferência num pc perto do servidor da Binance (onde fica? Japão?)..

O server da Binance está localizado em Tokyo, Japão, nos servidores da Amazon.

Podemos obter o IP e a localização da Binance.com pelo site MYIP (https://myip.ms/info/whois/52.68.244.8/k/2005733267/website/binance.com)
ARCHIVE - https://archive.fo/cRgNz
Code:
Hosting Info for Website:	binance.com
Popularity: 660,000 visitors per day
IP Address: 52.68.244.8
IP Location: USA,    Tokyo,    Tokyo
IP Reverse DNS (Host): ec2-52-68-244-8.ap-northeast-1.compute.amazonaws.com
Top Level Host Usage: 61,768,982 sites use XXX.amazonaws.com as IP Reverse DNS

Sim, então entendi rs, mas a ordem teria que ser grande, com um grande volume de dinheiro certo?

Valores pequenos à grandes.

legendary
Activity: 2688
Merit: 2297
Sim, então entendi rs, mas a ordem teria que ser grande, com um grande volume de dinheiro certo?
Geralmente essas oportunidades nao aparecem com grande liquidez. E por conta disso, quanto mais pessoas utilizando o bot menos chance/lucro da pra cada um. Sim, se a ordem nao for executada completamente por uma pessoa tem como outras lucrarem, porem todos os que conseguem acabam "dividindo" o lucro.

Depende o que você chama de grande liquidez..
Porém imagine o seguinte caso, vai um jovem e dumpa 2 BTC de sua shitcoin favorita no par SHIT/BTC, o preço desce 2% na hora, consecutivamente haverá 2% de diferença imediata entre este par e o SHIT/USDT(shit/shit).. o quanto há de dinheiro nessa oportunidade depende muito.. porém imagino que é algo comum..

Não vi o tempo do loop do bot, imagino que não seja instantâneo.. então deve ser algo "na sorte" de quem chega primeiro ou tem vários bots rodando com diferentes chaves, de preferência num pc perto do servidor da Binance (onde fica? Japão?)..
legendary
Activity: 2758
Merit: 6830
Sim, então entendi rs, mas a ordem teria que ser grande, com um grande volume de dinheiro certo?
Geralmente essas oportunidades nao aparecem com grande liquidez. E por conta disso, quanto mais pessoas utilizando o bot menos chance/lucro da pra cada um. Sim, se a ordem nao for executada completamente por uma pessoa tem como outras lucrarem, porem todos os que conseguem acabam "dividindo" o lucro.
legendary
Activity: 2366
Merit: 1408
~7,5% de lucro já descontando a fee de 0,1% (sem o desconto no uso de BNB)
Merece mais 5 Merits, se eu tivesse... só falta fazer ele funcionar pra valer.

A questão de executar é: provavelmente muitas pessoas estarão rodando o bot e só uma pode aproveitar a oportunidade, e ai, como faz?

Como assim só uma vai poder aproveitar?
E se ela não atingir todo o volume disponível para essa triangulação?

Talvez não entendi bem...

Apenas uma pessoa irá aproveitar a oportunidade caso possua uma ordem que ocupe ao menos todo o volume disponível para a triangulação e, simultaneamente, ter uma conexão com o menor ping (latência) entre todos os usuários do bot.




Sim, então entendi rs, mas a ordem teria que ser grande, com um grande volume de dinheiro certo?
full member
Activity: 896
Merit: 221
~7,5% de lucro já descontando a fee de 0,1% (sem o desconto no uso de BNB)
Merece mais 5 Merits, se eu tivesse... só falta fazer ele funcionar pra valer.

A questão de executar é: provavelmente muitas pessoas estarão rodando o bot e só uma pode aproveitar a oportunidade, e ai, como faz?

Como assim só uma vai poder aproveitar?
E se ela não atingir todo o volume disponível para essa triangulação?

Talvez não entendi bem...

Apenas uma pessoa irá aproveitar a oportunidade caso possua uma ordem que ocupe ao menos todo o volume disponível para a triangulação e, simultaneamente, ter uma conexão com o menor ping (latência) entre todos os usuários do bot.


legendary
Activity: 2366
Merit: 1408
~7,5% de lucro já descontando a fee de 0,1% (sem o desconto no uso de BNB)
Merece mais 5 Merits, se eu tivesse... só falta fazer ele funcionar pra valer.

A questão de executar é: provavelmente muitas pessoas estarão rodando o bot e só uma pode aproveitar a oportunidade, e ai, como faz?

Como assim só uma vai poder aproveitar?
E se ela não atingir todo o volume disponível para essa triangulação?

Talvez não entendi bem...
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
A questão de executar é: provavelmente muitas pessoas estarão rodando o bot e só uma pode aproveitar a oportunidade, e ai, como faz?

Tenho certeza que outros BOTS já fazem proveito dessa "deficiência do mercado", então a quantidade de pessoas que poderão se aproveitar isso vai depender do volume que houver nessa diferença entre os pares até que os mesmos voltem a ser equivalentes em valores.
hero member
Activity: 1778
Merit: 882
~7,5% de lucro já descontando a fee de 0,1% (sem o desconto no uso de BNB)
Merece mais 5 Merits, se eu tivesse... só falta fazer ele funcionar pra valer.

A questão de executar é: provavelmente muitas pessoas estarão rodando o bot e só uma pode aproveitar a oportunidade, e ai, como faz?
legendary
Activity: 2366
Merit: 1408
Sensacional, vou testar e ficar de olho
Fazer esse tipo de transação é muito difícil, pra analisar e achar o timing perfeito
Com certeza vou usar assim que conseguir acrescentar no script para executar a ordem
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
Pessoal! Obrigado pelos Merit nunca tinha recebido tantos Smiley
Estou atualizando constantemente o código, hoje as ordens não estão sendo executadas, está somente achando as oportunidades!
Vou atualizar para executar, fiquem ligados lá no GIT, que já já sai Wink

Muito obrigado!
É realmente é reantavel essa modalidade Smiley

Ah, ele não erxecuta?
Que pena, a madrugada poderia ter sido MUUITO lucrativa...

Code:
[05/08/2019 22:16:53] - ETH | 0,8296
Buy XZCBTC  3,51123596  
 Change XZCETH  0,12932379
 Sell ETHBTC  0,12932379
 Initial 0,0025  Final 0,00252074 perc  0,8296

[05/08/2019 22:57:39] - DCR | 0,7052
Buy BNBBTC  1,04598134  
 Change DCRBNB  0,93245565
 Sell DCRBTC  0,93245565
 Initial 0,0025  Final 0,00251763 perc  0,7052

[06/08/2019 01:19:14] - BNB | 0,7864
Buy NASBTC  31,52577931  
 Change NASBNB  1,05264577
 Sell BNBBTC  1,05264577
 Initial 0,0025  Final 0,00251966 perc  0,7864

[06/08/2019 03:27:25] - BNB | 0,6984
Buy DCRBTC  0,90810025  
 Change DCRBNB  1,07609880
 Sell BNBBTC  1,07609880
 Initial 0,0025  Final 0,00251746 perc  0,6984

[06/08/2019 06:23:53] - BNB | 1,7284
Buy DCRBTC  0,94482237  
 Change DCRBNB  1,10355253
 Sell BNBBTC  1,10355253
 Initial 0,0025  Final 0,00254321 perc  1,7284

[06/08/2019 06:36:20] - ETH | 0,3572
Buy GXSBTC  16,78979181  
 Change GXSETH  0,13115915
 Sell ETHBTC  0,13115915
 Initial 0,0025  Final 0,00250893 perc  0,3572

[06/08/2019 07:18:40] - USDC | 0,7328
Buy WAVESBTC  21,75805048  
 Change WAVESUSDC  30,90295910
 Sell BTCUSDC  30,90295910
 Initial 0,0025  Final 0,00251832 perc  0,7328

[06/08/2019 07:32:15] - USDC | 0,4632
Buy ATOMBTC  8,16993464  
 Change ATOMUSDC  30,33496732
 Sell BTCUSDC  30,33496732
 Initial 0,0025  Final 0,00251158 perc  0,4632

[06/08/2019 07:32:27] - USDC | 0,3544
Buy LTCBTC  0,31265633  
 Change LTCUSDC  29,96185610
 Sell BTCUSDC  29,96185610
 Initial 0,0025  Final 0,00250886 perc  0,3544

[06/08/2019 07:32:27] - USDC | 0,7016
Buy DUSKBTC  297,97377831  
 Change DUSKUSDC  30,06555423
 Sell BTCUSDC  30,06555423
 Initial 0,0025  Final 0,00251754 perc  0,7016

[06/08/2019 07:32:27] - USDC | 0,5828
Buy NEOBTC  2,5  
 Change NEOUSDC  30,03000000
 Sell BTCUSDC  30,03000000
 Initial 0,0025  Final 0,00251457 perc  0,5828

[06/08/2019 07:32:27] - USDC | 0,5144
Buy ETCBTC  4,83558994  
 Change ETCUSDC  30,00967117
 Sell BTCUSDC  30,00967117
 Initial 0,0025  Final 0,00251286 perc  0,5144

[06/08/2019 07:32:27] - USDC | 0,6580
Buy BCHABCBTC  0,08641250  
 Change BCHABCUSDC  30,05253925
 Sell BTCUSDC  30,05253925
 Initial 0,0025  Final 0,00251645 perc  0,6580

[06/08/2019 07:32:27] - USDC | 0,4728
Buy XRPBTC  94,16195857  
 Change XRPUSDC  29,99717514
 Sell BTCUSDC  29,99717514
 Initial 0,0025  Final 0,00251182 perc  0,4728

[06/08/2019 07:32:27] - USDC | 0,3932
Buy TRXBTC  1336,89839572  
 Change TRXUSDC  29,97339173
 Sell BTCUSDC  29,97339173
 Initial 0,0025  Final 0,00250983 perc  0,3932

[06/08/2019 07:32:28] - USDC | 0,3928
Buy EOSBTC  6,84556407  
 Change EOSUSDC  29,97330228
 Sell BTCUSDC  29,97330228
 Initial 0,0025  Final 0,00250982 perc  0,3928

[06/08/2019 07:32:28] - USDC | 0,4572
Buy BNBBTC  1,07369856  
 Change BNBUSDC  29,99258821
 Sell BTCUSDC  29,99258821
 Initial 0,0025  Final 0,00251143 perc  0,4572

[06/08/2019 07:32:28] - USDC | 0,4748
Buy WAVESBTC  21,64502165  
 Change WAVESUSDC  29,99783550
 Sell BTCUSDC  29,99783550
 Initial 0,0025  Final 0,00251187 perc  0,4748

[06/08/2019 07:32:28] - USDC | 0,5820
Buy XLMBTC  372,57824143  
 Change XLMUSDC  30,02980626
 Sell BTCUSDC  30,02980626
 Initial 0,0025  Final 0,00251455 perc  0,5820

[06/08/2019 07:32:29] - USDC | 0,3880
Buy ADABTC  543,47826087  
 Change ADAUSDC  30,04106460
 Sell BTCUSDC  30,04106460
 Initial 0,0025  Final 0,00250970 perc  0,3880

[06/08/2019 07:33:14] - USDC | 0,6612
Buy ONTBTC  30,19323671  
 Change ONTUSDC  29,58937198
 Sell BTCUSDC  29,58937198
 Initial 0,0025  Final 0,00251653 perc  0,6612

[06/08/2019 07:33:15] - USDC | 0,4116
Buy ETHBTC  0,12833017  
 Change ETHUSDC  29,51593910
 Sell BTCUSDC  29,51593910
 Initial 0,0025  Final 0,00251029 perc  0,4116

[06/08/2019 07:33:15] - USDC | 0,9428
Buy LINKBTC  12,36338460  
 Change LINKUSDC  29,67212304
 Sell BTCUSDC  29,67212304
 Initial 0,0025  Final 0,00252357 perc  0,9428

[06/08/2019 07:33:18] - ETH | 0,4260
Buy BNBBTC  1,06459992  
 Change BNBETH  0,12890921
 Sell ETHBTC  0,12890921
 Initial 0,0025  Final 0,00251065 perc  0,4260

~7,5% de lucro já descontando a fee de 0,1% (sem o desconto no uso de BNB)
Merece mais 5 Merits, se eu tivesse... só falta fazer ele funcionar pra valer.
member
Activity: 116
Merit: 29
Anubis Trade (anubis.website)
Pessoal! Obrigado pelos Merit nunca tinha recebido tantos Smiley
Estou atualizando constantemente o código, hoje as ordens não estão sendo executadas, está somente achando as oportunidades!
Vou atualizar para executar, fiquem ligados lá no GIT, que já já sai Wink

Muito obrigado!
É realmente é reantavel essa modalidade Smiley
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
Retirado do post do Matheus no facebook sobre o mesmo bot, comentário de "Zedu Patini":

"Eu já tive problemas em executar ordens na Binance por conta do erro Timestamp. Pesquisem sobre ele no Google.
Existem 2 maneiras que podem ajudar.
1- desative o sincronismo do horário com o relógio do windows, coloque o relógio em gmt -3, reinicie o computador. Apos isso, cancele sua API na Binance e crie outra. Somente após desativar o update automático do time do Windows.
2- Igual item 1, porém sincronize o horário com o servidor a-nist.gov ao invés do servidor do windows"

Talvez seja uma solução.

Obrigado pela sugestão, mas não creio que seja isso.
Primeiro porque não aparece nenhum erro nos logs, segundo porque o horário já está sincronizado com -3 UTC
hero member
Activity: 1778
Merit: 882
As transações aparecem na binance?

Boa pergunta, eu fui verificar e realmente não tem nada no histórico.
Conferi também as permissões da API, está habilitado para trade.

Retirado do post do Matheus no facebook sobre o mesmo bot, comentário de "Zedu Patini":

"Eu já tive problemas em executar ordens na Binance por conta do erro Timestamp. Pesquisem sobre ele no Google.
Existem 2 maneiras que podem ajudar.
1- desative o sincronismo do horário com o relógio do windows, coloque o relógio em gmt -3, reinicie o computador. Apos isso, cancele sua API na Binance e crie outra. Somente após desativar o update automático do time do Windows.
2- Igual item 1, porém sincronize o horário com o servidor a-nist.gov ao invés do servidor do windows"

Talvez seja uma solução.
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
As transações aparecem na binance?

Boa pergunta, eu fui verificar e realmente não tem nada no histórico.
Conferi também as permissões da API, está habilitado para trade.
hero member
Activity: 1778
Merit: 882
~snip~

Está pagando as taxas usando BTC ou BNB? usar BNB dá um bom desconto..

Deixei um pouco de BNB para pagar só 0,075% de taxas.
Porém nem mesmo os BNB diminuíram.

É como se o BOT estivesse fazendo apenas uma simulação.

17:38 - Atualizando...
Até o momento, o BOT encontrou 3 possibilidades de negociação com lucro operando com os parâmetros initialValue: 0.0025 e percValue: 0.35
Em nenhum deles o meu saldo mexeu, seja no BTC pra mais ou no BNB (que uso pras fee) pra menos.
Segue as outras duas triangulações encontradas:

[05/08/2019 12:14:14] - NEO | 0,5076
Buy BNBBTC  1,05134783  
 Change NEOBNB  2,42525451
 Sell NEOBTC  2,42525451
 Initial 0,0025  Final 0,00251269 perc  0,5076

[05/08/2019 12:14:15] - USDC | 0,5440
Buy NEOBTC  2,42954325  
 Change NEOUSDC  29,45335282
 Sell BTCUSDC  29,45335282
 Initial 0,0025  Final 0,00251360 perc  0,5440

As transações aparecem na binance?
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
~snip~

Está pagando as taxas usando BTC ou BNB? usar BNB dá um bom desconto..

Deixei um pouco de BNB para pagar só 0,075% de taxas.
Porém nem mesmo os BNB diminuíram.

É como se o BOT estivesse fazendo apenas uma simulação.

17:38 - Atualizando...
Até o momento, o BOT encontrou 3 possibilidades de negociação com lucro operando com os parâmetros initialValue: 0.0025 e percValue: 0.35
Em nenhum deles o meu saldo mexeu, seja no BTC pra mais ou no BNB (que uso pras fee) pra menos.
Segue as outras duas triangulações encontradas:

[05/08/2019 12:14:14] - NEO | 0,5076
Buy BNBBTC  1,05134783  
 Change NEOBNB  2,42525451
 Sell NEOBTC  2,42525451
 Initial 0,0025  Final 0,00251269 perc  0,5076

[05/08/2019 12:14:15] - USDC | 0,5440
Buy NEOBTC  2,42954325  
 Change NEOUSDC  29,45335282
 Sell BTCUSDC  29,45335282
 Initial 0,0025  Final 0,00251360 perc  0,5440
legendary
Activity: 2688
Merit: 2297
Parabéns pelo projeto @Mathrusgrijo! é raro ver transparência nesse setor..

Vou acompanhar os relatórios da galera.

Anotei meu saldo antes de rodar 0.00278316 BTC, verifiquei que ele encontrou uma triangulação e aparentemente fez uma arbitragem (vide abaixo), porém ao conferir novamente meu saldo na exchange ele continuava igual.

Está pagando as taxas usando BTC ou BNB? usar BNB dá um bom desconto..
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
Obaaaa.
Saiu um bot free pra Binance Cheesy
Parabéns e obrigado por disponibilizar o projeto!

[EDIT 11:51]

Acompanhei o bot por um momento....
Usei minha "conta de testes" da Binance, depositei umas alts e converti em BTC.
Anotei meu saldo antes de rodar 0.00278316 BTC, verifiquei que ele encontrou uma triangulação e aparentemente fez uma arbitragem (vide abaixo), porém ao conferir novamente meu saldo na exchange ele continuava igual.

[05/08/2019 11:46:33] - USDC | 0,3948
Buy NEOBTC  2,38322212 
 Change NEOUSDC  29,56625362
 Sell BTCUSDC  29,56625362
 Initial 0,0025  Final 0,00250987 perc  0,3948
member
Activity: 116
Merit: 29
Anubis Trade (anubis.website)
ArbitrageTriangularHFTBinance

Esse projeto, serve de estudo para a viabilização da arbitragem triangular dentro da exchange Binance, utilizamos a conexão com todo os pares via sockets, os trades são realizados a market ou limit, o book sempre tem a profundidade de 20 e utilizamos a média ponderada para achar o valor correto e a viabilidade da arbitragem.

A arbitragem é lucrativa, você pode querer acumular ETH, XRP, BTC, BNB ou USDT, que são os pares que tem mercado com outras criptomoedas.

Para entender como funciona bastar seguir os passos, vamos supor que tenho um saldo de 0.003 BTC.

Compro ETH com meu BTC
Compro EOS com meu ETH.
Vendo meus EOS por BTC
No final terei 0.00301 BTC ou seja acabei lucrando pela deficiencia do mercado.

Configuração: Criar um arquivo JSON na pasta do executavel com o nome "config.json", conteudo para configuracao: initialValue é o total de BTC que você irá fazer por ordem(recomendo no minimo o equivalante a 10 dolares). percValue valor de lucro no qual ele irá realizar a arbitragem(recomendo o superior as 3 taxas somadas no caso acima maior que 0.3, default 0.35)

{

key : "SUA_KEY_AQUI",

secret: "SUA_SECRET_AQUI",

initialValue: 0.003,

percValue: 0.35

}


https://github.com/MatheusGrijo/ArbitrageTriangularHFTBinance
Jump to: