Муню

X
//
Главная » All » Решил написать бота для пампа на бирже YoBit

Решил написать бота для пампа на бирже YoBit

Время чтение: 5 минут 2018-11-18

Как будет работать бот для пампа на YoBit? Да очень просто, он будет скупать указанную монету, но делать это будет очень быстро, по следующей схеме.

Одна покупка в одну секунду, и так 5 раз. То есть бот проводит по 5 сделок подряд раз в секунду, после ждёт, например, 4 секунды чтобы не схлопотать БАН от YoBit после чего снова проводит 5 сделок. И вот получается такой круговорот…

Так же, нужно позаботится о том, что бы бот не вы-хлопал весь баланс фиатного бабла. Значит нужно поставить ограничение. Например, Если осталось 300 рублей то перестать скупать монету. По-моему, прикольно, ну поехали писать бота и тестить что получится.

Бот для пампа на бирже криптовалют YoBit

Так-то громко сказано «для пампа», обычный скупщик монеты мелкими частями… да и на срать… Пусть будет для пампа.

Что понадобится для написания бота:

1 – Документация по API с самой биржи YoBit.
2 – Файл настроек, предлагаю использовать JSON формат.
3 – Ну и не много баблишка на фиатном счете или пох на каком.

Да, писать будем на PHP так что, чтобы заюзать бота нужно установить PHP. Под винду это OpenServer там и консоль есть нормальная. Под Linux первая попавшаяся ссылка по запросу «Установка php linux» и проблем не будет.

Начнём всю движуху с создания файла «config.json» сюда засунем API, Секретный ключ и ещё немного инфы.

[cc lang=»php»]
{
«api_key» : «api»,
«api_secret» : «secret»,
«budget» : «0.002»,
«coin_1» : «ltc»,
«coin_2» : «rur»
}
[/cc]

budget – это по сколько будем скупать монету за одну сделку.

Биржа требует отправлять в HTTP заголовках уникальное число от «1» до «2147483646» поэтому удобнее будет создать файл для хранения этого числа, с каждым запросом к бирже из него будет браться новое значение и отправляться на биржу. Файл так и назовём – «nonce» (У меня без расширения)

Предлагаю для удобства создать отдельный файл под несколько функций, для собственного удобства. Назову его «Yobit-Functions.php»

Первая функция, которую я туда запихну будет считывать свежее значение из «nonce» для последующей его отправки на сервер…

[cc lang=»php»]
/*
* Get_Config()
* Получить номер запроса……
*/
function Nonce() {
$nonce_num = file_get_contents(__DIR__ . ‘/nonce’);

if ( $nonce_num == » ) { $nonce_num == 0; }

$fp = fopen(__DIR__ . ‘/nonce’, «w+»);
$rez_nonce_num = fwrite($fp, $nonce_num = $nonce_num + 1);

return $nonce_num;
}
[/cc]

Теперь нужно научить бота общаться с биржей, что бы он мог отправлять нужные нам запросы на биржу, а мы радовались и улыбались… В этот же файл в след за предыдущей функцией кидаем это. Так сказать – сердце бота)))

[cc lang=»php»]
/*
* Yobit_Api()
* Общение с биржей
*/
function Yobit_Api($method, $req = array()) { // Yobit_Api

$config = Get_Config();
$nonce_num = Nonce();

$req[‘method’] = $method;
$req[‘nonce’] = $nonce_num;
$post_data = http_build_query($req, », ‘&’);
$sign = hash_hmac(«sha512″, $post_data, $config->api_secret);

$headers = array(
‘Sign: ‘. $sign,
‘Key: ‘. $config->api_key,
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36’);
curl_setopt($ch, CURLOPT_URL, ‘http://yobit.net/tapi/’);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$res = curl_exec($ch);

if($res === false) {
curl_close($ch);
return null;
}

curl_close($ch);
$result = json_decode($res, true);
return $result;

} // END Yobit_Api
[/cc]

Что бы скупать монету «Со стакана» а именно так и нужно скупать, нам нужно узнать цену по которой торгуется монета, то есть ту цену по которой можно купить сразу без выставления ордера. Пишем функцию.

[cc lang=»php»]
/*
* price_top($coins, $type)
* Получим самую первую цену на Продажу
* [$type] asks = ордера на продажу
* [$type] bids = ордера на покупку
*/
function Price_Top($coins, $type) {

$depth= json_decode(file_get_contents(‘http://yobit.net/api/3/depth/’ . $coins . ‘?limit=1’));
$depth_array = json_decode(json_encode($depth), True);

foreach ($depth_array as $key => $depth_value) {
if ( $type == ‘asks’ ) {
return $price_top_asks = $depth_value[‘asks’][0][0]; // Новая цена Продажи
}
if ( $type == ‘bids’ ) {
return $price_top_bids = $depth_value[‘bids’][0][0]; // Новая цена Покупки
}
}
}
[/cc]

Теперь бот умеет узнавать цену покупки и отправлять запросы на сервер биржи. Осталось самая малость, реализовать логику работы Бота для пампа на YoBit.

В отдельный файлик, назовём его «yobit-Pamp.php» кидаем сам код бота.

[cc lang=»php»]
define(«__COINS_2__», $Config->coin_2);
define(«__COINS_PARA__», $Config->coin_1 . ‘_’ . $Config->coin_2);

$a = 0;
while ($a <= 999999) { // while

$Price_top = Price_Top(__COINS_PARA__, ‘asks’);
$GetInfo = Yobit_Api(‘getInfo’);
$Rur = $GetInfo[‘return’][‘funds’][__COINS_2__];
$Ltc = $GetInfo[‘return’][‘funds’][__COINS_1__];

if( $Rur < 300) { break; } // Если на балансе останется 300 или меньше рублей то хватит скупать $Trade = Yobit_Api(‘Trade’, array( ‘pair’ => __COINS_PARA__, // пара (пример: ltc_btc)
‘type’ => ‘buy’, // тип операции (пример: buy или sell)
‘rate’ => $Price_top, // курс, по которому необходимо купить
‘amount’ => $Config->budget . rand(10000, 90000) // количество, которое необходимо купить
));

echo ‘ ================================= ‘ . $R;
echo ‘ Остаток Руб : ‘ . $Rur . $R;
echo ‘ Куплено манет : ‘ . $Ltc . $R;
echo ‘ Покупаю по цене : ‘ . $Price_top . $R;
echo ‘ ================================= ‘ . $RR;

$a++;
sleep(1); // Покупать 1 раз в 1 секунду

if ( $a == 5 ) { // Делаем по 5 закупок за 1 заход
$a = 0;
sleep(4); // После первых пяти закупок ждём 4 секунды, что бы в БАН не свалить
}

} // while

[/cc]

Как работает, сказал уже выше, топает бот на биржу делает 5 сделок, встаёт на 4 секунды и снова идёт скупать… Все эти параметры можете подстроить под себя, но учтите, что получить по хребтине банным веником от биржи можно вообще легко. Примерно минут на 10 – 15. У них там просто «cloudflare» врублена, так что все серьёзно пацаны!)))

Бот в запущенном виде.

Пампер для биржи YoBit

На самой же бирже можно видеть что-то подобное.

Можно и продавать..

Массовая продажа монет на YoBit

Вот такой Бот для пампа на YoBit, со скромным функционалом, можно и по умнее его сделать, но мне в лом…  Да, этот бот легко перенастраивается для продажи монеты, если кому нужно пишите. Сейчас расписывать не буду либо задолбался печатать. Я лучше потопаю писать торгового бота, все для той же бирже.

X