Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
sxiii
6 лет назад

[ПОЛЕЗНО] Исходный код моего скрипта для арбитража между криптобиржами + фьючерсы (в процессе доработки) + БОНУС [LINUX]

Привет, друзья! Я всё никак не соберусь написать пост о том, почему я больше не пишу в голос, и к каким выводам пришёл. Пока этот пост формируется в моей голове и в ноутбуке, я опубликую исходники скрипта, который помогает мне в крипто-арбитраже между крипто-биржами.

Если быть точными, таких скриптов у меня два. В одном из них я оставил только крипто-пары, а в другом также есть место для фиатных пар (но арбитражить фиатом я вам крайне не рекомендую: высокие комиссии, ожидание, непредвиденные задержки, необходимость верификации, ерундовые лимиты и т. д.).

Описывать особенно скрипт не буду - он просто отображает разницу в курсах между биржами Yobit, WEX, Exmo и также в процессе адаптации находится Rudex/Openledger - пока я не заставил эту биржу корректно работать. Разница сразу для удобства отображается в процентах. Сами курсы также показываются, а рядом с ними - объемы торговли (это чтобы вы не обольщались разнице в 20% на некоторых парах, т.к. продаваться некоторые монеты могут очень долго на Yobit, например вообще днями - например по паре NVC/BTC).

Т.е. вы смотрите где дешевле, где дороже, если вас устраивает разница, объем торговли, и комиссии за транзакции, то покупаете там, где дешевле (в 90% это WEX), переводите туда, где дороже (в 90% это Yobit), продаёте крипту обратно, и повторяете цикл.

Мой скрипт METARBITRAGE создан для облегчения трекинга, вот так выглядит результат работы версии, которая работает только с криптой (также он отображает вверху фьючерсы на биткоин):

MetarbitrageCrypto

Ну а вот так выглядит крипто-фиатный арбитражный скрипт, соответственно пар больше:

Meta2

Конечно, вы можете арбитражить и без этого linux/bash скрипта, но вручную делать постоянные калькуляции по 3-4 биржам по 4-10 парам - дело неблагодарное.

Скрипт Crypto.sh

#!/bin/bash

clear

tickerswex=( ltc_btc nmc_btc nvc_btc ppc_btc dsh_btc dsh_ltc dsh_eth eth_btc eth_ltc bch_btc bch_ltc bch_eth bch_dsh zec_btc )
tickersyob=( ltc_btc nmc_btc nvc_btc ppc_btc dash_btc dash_ltc dash_eth eth_btc eth_ltc bcc_btc bcc_ltc bcc_eth bcc_dash zec_btc )
tickersexm=( LTC_BTC NMC_BTC NVC_BTC PPC_BTC DASH_BTC DASH_LTC DASH_ETH ETH_BTC ETH_ltc BCH_BTC BCH_LTC BCH_ETH BCH_DASH ZEC_BTC )
tickersol=( LTC_BTC NMC_BTC NVC_BTC PPC_BTC DASH_BTC DASH_LTC DASH_ETH ETH_BTC ETH_ltc BCH_BTC BCH_LTC BCH_ETH BCH_DASH ZEC_BTC )

end=$(echo ${tickerswex[@]} | wc -w)

d=$(curl -s http://cfe.cboe.com/cfe-products/xbt-cboe-bitcoin-futures | html2text | grep -A5 "Cboe XBT Bitcoin Futures Trading Data")

echo "\/------------------------------------------------------------------------------\/"
echo "|| M E T A R B I T R A G E                                    Handle with care! ||"
echo "|| This script helps you to arbitrage cryptocurrencies between exchanges.       ||"
echo "|| Please wait, scanning $end crypocurrency pairs on two exchanges.               ||"
echo "||                                        Written by Security XIII on 8.12.2017 ||"
echo "\/------------------------------------------------------------------------------\/"
echo ""
echo "$d"
echo ""

text=( "PAIR NAME" "YOBIT.NET" "Y volume" "WEX.NZ" "W volume" "EXMO.ME" "E Volume" "OpenLedger" "O Volume" "DIFF. Y/W" "DIFF. Y/E" "DIFF. W/E" )
printf "%-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-30s\n" " ${text[0]}" "${text[1]}" "${text[2]}" "${text[3]}" "${text[4]}" "${text[5]}" "${text[6]}" "${text[7]}" "${text[8]}" "${text[9]}" "${text[10]}" "${text[11]}"
echo "-------------------------------------------------------------------------------------------------------------------------------"

for i in `seq 0 $(($end-1))`; do

    w=""; y=""; e=""; r=""; r2=""; r3="";

    curl -f -s https://wex.nz/api/3/ticker/"${tickerswex[i]}" > wfile
    w=$(cat wfile | jq '.'"${tickerswex[i]}"'.sell')
    wv=$(cat wfile | jq '.'"${tickerswex[i]}"'.vol')
    rm wfile

    curl -f -s https://yobit.net/api/3/ticker/"${tickersyob[i]}" > yfile
    y=$(cat yfile | jq '.'"${tickersyob[i]}"'.sell')
    yv=$(cat yfile | jq '.'"${tickersyob[i]}"'.vol')
    rm yfile

    curl -f -s https://api.exmo.com/v1/ticker > efile
    e=$(cat efile | jq '.'"${tickersexm[i]}"'.sell_price' | awk -F'"' '{ print $2 }')
    ev=$(cat efile | jq '.'"${tickersexm[i]}"'.vol' | awk -F'"' '{ print $2 }')
    rm efile

    curl -f -s https://stats.openledger.info/api/asset/pairs > ofile
    o=$(cat ofile | jq '.'"${tickersol[i]}"'.last')
    ov=$(cat ofile | jq '.'"${tickersol[i]}"'.baseVolume')
    rm ofile

    [[ $w == null ]] && w=""; [[ $y == null ]] && y=""; [[ $e == null ]] && e=""; 
    [[ $wv == null ]] && wv=""; [[ $yv == null ]] && yv=""; [[ $ev == null ]] && ev="";
    [[ $o == null ]] && o=""; [[ $ov == null ]] && ov="";

    [[ $w =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && [[ $y =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && r=$(echo "scale=8;(($y/$w)-1)*100" | bc)
    [[ $y =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && [[ $e =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && r2=$(echo "scale=8;(($y/$e)-1)*100" | bc)
    [[ $e =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && [[ $w =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && r3=$(echo "scale=8;(($w/$e)-1)*100" | bc)


    printf "%-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-20s\n" "${tickersyob[$i]}" "${y:0:10}" "${yv:0:10}" "${w:0:10}" "${wv:0:10}" "${e:0:10}" "${ev:0:10}" "${o:0:10}" "${ov:0:10}" "${r:0:10}" "${r2:0:10}" "${r3:0:10}"

done

echo "-------------------------------------------------------------------------------------------------------------------------------"

Скрипт Cryptofiat.sh

#!/bin/bash

clear

tickerswex=( btc_usd btc_eur btc_rur ltc_btc ltc_usd ltc_eur ltc_rur nmc_btc nmc_usd nvc_btc nvc_usd usd_rur eur_rur ppc_btc ppc_usd dsh_btc dsh_rur dsh_usd dsh_eth eth_btc eth_usd eth_eur eth_rur bch_usd bch_btc bch_rur bch_eth zec_btc zec_usd )
tickersyob=( btc_usd btc_eur btc_rur ltc_btc ltc_usd ltc_eur ltc_rur nmc_btc nmc_usd nvc_btc nvc_usd usd_rur eur_rur ppc_btc ppc_usd dash_btc dash_rur dash_usd dash_eth eth_btc eth_usd eth_eur eth_rur bcc_usd bcc_btc bcc_rur bcc_eth zec_btc zec_usd )
tickersexm=( BTC_USD BTC_EUR BTC_RUB LTC_BTC LTC_USD LTC_EUR LTC_RUB NMC_BTC NMC_USD NVC_BTC NVC_USD USD_RUB EUR_RUB PPC_BTC PPC_USD DASH_BTS DASH_RUB DASH_USD DASH_ETH ETH_BTC ETH_USD ETH_EUR ETH_RUB BCH_USD BCH_BTC BCH_RUB BCH_ETH ZEC_BTC ZEC_USD )

end=$(echo ${tickerswex[@]} | wc -w)

echo "\/------------------------------------------------------------------------------\/"
echo "|| M E T A R B I T R A G E                                    Handle with care! ||"
echo "|| This script helps you to arbitrage cryptocurrencies between exchanges.       ||"
echo "|| Please wait, scanning $end crypocurrency pairs on two exchanges.               ||"
echo "||                                        Written by Security XIII on 8.12.2017 ||"
echo "\/------------------------------------------------------------------------------\/"
echo ""
text=( "PAIR NAME" "YOBIT.NET" "Y vol" "WEX.NZ" "W vol" "EXMO.ME" "E Vol" "DIFF. Y/W" "DIFF. Y/E" "DIFF. W/E" )
printf "%-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-30s\n" " ${text[0]}" "${text[1]}" "${text[2]}" "${text[3]}" "${text[4]}" "${text[5]}" "${text[6]}" "${text[7]}" "${text[8]}" "${text[9]}"
echo "-------------------------------------------------------------------------------------------------------------------------------"

for i in `seq 0 $(($end-1))`; do

    w=""; y=""; e=""; r=""; r2=""; r3="";

    curl -f -s https://wex.nz/api/3/ticker/"${tickerswex[i]}" > wfile
    w=$(cat wfile | jq '.'"${tickerswex[i]}"'.sell')
    wv=$(cat wfile | jq '.'"${tickerswex[i]}"'.vol')
    rm wfile

    curl -f -s https://yobit.net/api/3/ticker/"${tickersyob[i]}" > yfile
    y=$(cat yfile | jq '.'"${tickersyob[i]}"'.sell')
    yv=$(cat yfile | jq '.'"${tickersyob[i]}"'.vol')
    rm yfile

    curl -f -s https://api.exmo.com/v1/ticker > efile
    e=$(cat efile | jq '.'"${tickersexm[i]}"'.sell_price' | awk -F'"' '{ print $2 }')
    ev=$(cat efile | jq '.'"${tickersexm[i]}"'.vol' | awk -F'"' '{ print $2 }')
    rm efile

    [[ $w == null ]] && w=""; [[ $y == null ]] && y=""; [[ $e == null ]] && e=""; 
    [[ $wv == null ]] && wv=""; [[ $yv == null ]] && yv=""; [[ $ev == null ]] && ev="";
 
    [[ $w =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && [[ $y =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && r=$(echo "scale=8;(($y/$w)-1)*100" | bc)
    [[ $y =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && [[ $e =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && r2=$(echo "scale=8;(($y/$e)-1)*100" | bc)
    [[ $e =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && [[ $w =~ ^[+-]?[0-9]+\.?[0-9]*$ ]] && r3=$(echo "scale=8;(($w/$e)-1)*100" | bc)


    printf "%-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-10s | %-20s\n" "${tickersyob[$i]}" "${y:0:10}" "${yv:0:10}" "${w:0:10}" "${wv:0:10}" "${e:0:10}" "${ev:0:10}" "${r:0:10}" "${r2:0:10}" "${r3:0:10}"

done

echo "-------------------------------------------------------------------------------------------------------------------------------"
#sleep 60

Также, данные скрипты вы можете взять с моего pastebin:

https://pastebin.com/u/sxiii

В качестве бонуса вот также вам руководство по получению 3-5% "сверху" на ваши "натрейженные" рубли на вексе (вывод с WEX при помощи WEX-кодов и обменников) - вы получите на QIWI ваши рубли с бонусом по любому направлению тут: https://www.bestchange.ru/wex-rub-to-qiwi.html

Всем финансового благополучия и хорошего настроения ;)
Независимый автор голоса
Den Ivanov aka @SXIII from Random City


Кинорецензии Краудсписок Презентации Аналитика
СПО Криптовалюты Linux Скрипты

10
14.415 GOLOS
На Golos с January 2017
Комментарии (14)
Сортировать по:
Сначала старые