Пишем торгового робота для Binance на Python. Индикатор MACD. Websockets / Trading bot for Binance.

  Рет қаралды 17,240

Alex Klimov

Alex Klimov

Күн бұрын

Пікірлер: 68
@nagnalov
@nagnalov 2 жыл бұрын
Привет, там есть нюансы в плане округления цены и количества актива, бинанс требует, чтобы например по битку ты прислал ему цену в формате ххххх.хх то есть два символа после точки, а в количестве x.ххххх то есть 5 символов после точки. Там в апи есть возможность запрашивать информацию по каждой монете, чтобы сразу правильно форматировать запросы.
@kitoboynaya
@kitoboynaya Жыл бұрын
Бесплатно обучаю алгоритмической торговле! :)
@MrVovak85
@MrVovak85 2 жыл бұрын
Полезное видео👍
@AVKlimov
@AVKlimov 2 жыл бұрын
Спасибо!
@Loewe1330
@Loewe1330 11 күн бұрын
Здравствуйте..у меня вопрос индивидуальный..как связаться с вами? С уважением
@davidbibi3138
@davidbibi3138 8 ай бұрын
прикольно видеть не трейдеров которые думают написав "торгаша" будут торговать в плюс)) сначала отстрадайте также как и учились проггерству (как минимум, тут за ошибки платятся деньги, а не просто исправление кода), тогда что-то понимать начнете.
@workout_atlet23
@workout_atlet23 Жыл бұрын
Спасибо, круто! почему то в pycharm в функции async def main в строке livest, livelt = liveSMA(historicals, frame) historicals не определен?????
@maxdeev9360
@maxdeev9360 Жыл бұрын
Хорошо, спасибо! А если стратегия строится не только на параметрах MACD, но и еще дополнительно на параметре одного индикатора, то есть ли возможность вписать в настройки робота параметры одновременно 2 индикаторов? Именно чтобы алгоритм работал при сочетании определенных параметров обоих индикаторов. Спасибо!
@AVKlimov
@AVKlimov Жыл бұрын
Конечно можно!
@maxdeev9360
@maxdeev9360 Жыл бұрын
@@AVKlimov Дополнительно спрошу: можно ли будет делать бектесты на истории после готовности робота. И можно ли будет его использовать на всех деривативных инструментах различных бирж. Например Bybit, OKX, Binance, Bitget.
@youtubenev5380
@youtubenev5380 Жыл бұрын
Возможно это сделать для всех монет)?
@AVKlimov
@AVKlimov Жыл бұрын
Да, конечно
@SorosDjordg
@SorosDjordg Жыл бұрын
Вопрос: можно ли на бинансе или байбите тестировать ботов на исторических данных (бот работает на тиках)??
@SorosDjordg
@SorosDjordg Жыл бұрын
я так подозреваю, в самой платформе бинанса это сделать невозможно,а можно к примеру через TS Lab протестировать на реальных тиковых котировках бинанса?
@musicforyou1380
@musicforyou1380 10 ай бұрын
на мой взгляд гораздо нагляднее сначала показать какие данные мы получаем и как они выглядят в запросах, а потом уже комментировать, что вот этот столбец ST берем вот так вот...а то просто смотришь и додумываешь сам всё визуально
@aleksandrxspectrum4263
@aleksandrxspectrum4263 2 жыл бұрын
Добрый день! Отлично! Спасибо за видео! буду учить питон хотя трудновато)
@AVKlimov
@AVKlimov 2 жыл бұрын
Приветствую! Спасибо за отзыв! Я сам учу Питон)
@MetaProfitRu
@MetaProfitRu Жыл бұрын
Но это ведь не MACD. Это просто пересечение двух SMA (простых средних скользящих) Для расчета используются ТРИ экспоненциальные скользящие средние. Из быстрой скользящей средней с меньшим периодом (ЕМАs) вычитается медленная скользящая средняя с большим периодом (EMAl). По полученным значениям строится линия MACD. MACD = ЕМАs(P) − EMAl(P) Далее полученная линия сглаживается третьей экспоненциальной скользящей средней (EМАa) и получается, так называемая, сигнальная линия MACD Signal = EМАa(ЕМАs(P) − EMAl(P)) А вообще за канал спасибо))) много полезного, даже для трейдеров стартанувших с 2008 года 😃
@iffalcon4k890
@iffalcon4k890 2 жыл бұрын
Если не использовать BNB для оплаты комиссии, то при попытке закрыть открытую позицию будет ошибка "Недостаточно средств...". Это особенность расчета комиссии на binance. Потому что при покупке/ продаже какой-либо монеты итоговый объем будет равен quantity - fee, а не просто quantity указанный в ордере. Как-то так.
@AVKlimov
@AVKlimov 2 жыл бұрын
❤❤❤
@nazavod
@nazavod 2 жыл бұрын
AttributeError: partially initialized module 'nest_asyncio' has no attribute 'apply' (most likely due to a circular import)
@evgeniive1366
@evgeniive1366 2 жыл бұрын
Привет. Было бы отлично дополнить код на истории и вывода % положительных сделок. К примеру. Сколько было бы % удачных входов за последний месяц применяя эту стратегию. Благодарю
@galaxytabe3174
@galaxytabe3174 Жыл бұрын
для этой стратегии будет бесполезно сделать backtest, потому что Не думаю что бвйненс может предоставить исторические тиковые данные изменения цен.
@SorosDjordg
@SorosDjordg Жыл бұрын
@@galaxytabe3174 вроде как может.
@SorosDjordg
@SorosDjordg Жыл бұрын
@@galaxytabe3174 Binance предоставляет возможность загрузить исторические рыночные данные через веб-интерфейс или Binance API. Для получения дополнительной информации посетите FAQ по загрузке исторических данных.
@kitoboynaya
@kitoboynaya Жыл бұрын
Бесплатно обучаю алгоритмической торговле! :)
@supergorod
@supergorod Жыл бұрын
@AVKlimov, еще в коде у тебя считается не средняя скользящая, а сумма. ``` closes['ST'] = closes.Close.rolling(ST-1).sum() # Рассчитываем короткое скользящее среднее closes['LT'] = closes.Close.rolling(LT-1).sum() # Рассчитываем длинное скользящее среднее ``` Для расчета скользящей средней нужно заменить sum() на mean()
@altRU1st
@altRU1st 2 жыл бұрын
Спасибо! Не хватает для понимания информации о том что отдает функция API биржи в сыром (изначальном) виде, когда запрашиваем исторические данные и что из них нам надо, а что нет. Еще неясен смысл в функции gethistoricals (symbol, LT) - передается LT, хотя внутри функции еще используется ST, мне кажется надо тогда еще и ST передавать в аргументах функции или тогда и LT убрать.
@sergeybrin9429
@sergeybrin9429 Жыл бұрын
Просмотрел пару десятков видео про это. Автор - первый чел, который говорит понятно. Видимо потому что сам понимает о чём говорит. Остальные теряют мысль, скачут по темам - результат не понятно. И скопировал пару программ в ноль с других видео - не работают с...ки.
@AVKlimov
@AVKlimov Жыл бұрын
Спасибо! ❤
@ТаалайбекУтуров
@ТаалайбекУтуров Жыл бұрын
Здравствуйте. 1. У меня ругается на historicals, вы удалили эту переменную но у вас все работает. 2. Почему в переменной historicals указали BTCUSDT а там где запускается LINKUSDT? 3. Как изменить таймфрейм на 4h? Пробовал изменить 1d на 4h, но это не работает. ЗАРАНЕЕ СПАСИБО
@Yabuka
@Yabuka Жыл бұрын
APIError(code=0): Service unavailable from a restricted location according to 'b. Eligibility' код вы итоге выдал, как это можно обойти?
@AVKlimov
@AVKlimov Жыл бұрын
Если вы через Colab, то бинанс не доступен там
@Yabuka
@Yabuka Жыл бұрын
@@AVKlimov та же самая ошибка и через VS Code
@thecomposer1325
@thecomposer1325 Жыл бұрын
Сделал по видео, ничего не работает
@AVKlimov
@AVKlimov Жыл бұрын
😯😯
@hulitolku
@hulitolku Жыл бұрын
В каких случаях необходимо использовать сокеты?
@AVKlimov
@AVKlimov Жыл бұрын
Когда ваш алгоритм предполагает большое количество частых запросов к бирже
@ИванК-г2з
@ИванК-г2з Жыл бұрын
Привет, а можно ли тебе заказать написать программку для бинанс на питоне?
@AVKlimov
@AVKlimov Жыл бұрын
Привет! Да, можно. Напиши t.me/AVKlimov
@ardemon69
@ardemon69 Жыл бұрын
На бирже mexs есть опыт создания бота? Комиссии адекватнее)
@remainedmind
@remainedmind 2 жыл бұрын
Привет. Спасибо большое! В русскоязычном сегменте очень не хватало твоих видео. Всё хорошо объясняешь, но тема всё равно сложная. Хочу написать бота на ByBit, но планирую использовать вебсокеты, как ты в этом видео. Как думаешь, смогу адаптировать твой код? Может быть, у тебя у самого есть планы переписать бота для байбита, которого ты писал недавно? Было бы очень классно увидеть твою реализацю. Плюс, можно встроить не спотовую торговлю, а фьючерсную. Уверен, спрос на такое видео будет.
@AVKlimov
@AVKlimov 2 жыл бұрын
Привет! Спасибо! Конечно, можно адаптировать. Сейчас пишу видео с похожими роботами для Binance и Bybit, только для фьючей
@remainedmind
@remainedmind 2 жыл бұрын
@@AVKlimov отлично, буду ждать видосы)
@TheTacchini
@TheTacchini 2 жыл бұрын
Классное видео)) А как поменять ТФ в коде?, чтоб к примеры на 15 минутках пересечения были? заранее спасибо
@AVKlimov
@AVKlimov 2 жыл бұрын
Спасибо! Поменять в этой строчке на '15m' df = pd.DataFrame(client.get_historical_klines(symbol, '1d', str(LT) + 'days ago UTC', '1 day ago UTC'))
@TheTacchini
@TheTacchini 2 жыл бұрын
Спасибо, попробую
@TheTacchini
@TheTacchini 2 жыл бұрын
@@AVKlimov подставил для примера df = pd.DataFrame(client.get_historical_klines(symbol, '5m', str(LT) + 'minute ago UTC', '5 minute ago UTC')) и выдаёт ошибку /usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:11: DeprecationWarning: The truth value of an empty array is ambiguous. Returning False, but in future this will result in an error. Use `array.size > 0` to check that an array is not empty. # This is added back by InteractiveShellApp.init_path()
@chilibean6152
@chilibean6152 2 жыл бұрын
Покажи как сделать грид бота (сеточного бота)
@AVKlimov
@AVKlimov 2 жыл бұрын
Привет! Ок
@ГригорийАвагимов-к6т
@ГригорийАвагимов-к6т 10 ай бұрын
Добрый день, могу ли я заказать у вас создание бота для крипто биржи под мои запросы
@AVKlimov
@AVKlimov 10 ай бұрын
Добрый день! Да, можете написать мне в телеграме? t.me/AVKlimov
@РоманГуляев-р4м
@РоманГуляев-р4м 2 жыл бұрын
Спасибо!!
@AVKlimov
@AVKlimov 2 жыл бұрын
И вам!)
@0Schranz
@0Schranz 2 жыл бұрын
четко
@AVKlimov
@AVKlimov 2 жыл бұрын
Спасибо!
@NN-oy9pz
@NN-oy9pz Жыл бұрын
Спасибо за видео! Сделайте пожалуйста видео про асинхронные функции и работу с ВэбСокетом!
@AVKlimov
@AVKlimov Жыл бұрын
Привет! Хорошо!
@NN-oy9pz
@NN-oy9pz Жыл бұрын
Поскольку работа алгоритма предполагает его автономное существование, то было бы интересно отправлять на Вайбер или Ватцап результат после завершения обоих ордеров
@AVKlimov
@AVKlimov Жыл бұрын
Обычно телегу подрубают
@dymshakov5569
@dymshakov5569 2 жыл бұрын
ошибку выдает с временем .. /usr/local/lib/python3.7/dist-packages/binance/helpers.py in date_to_milliseconds(date_str) 24 d: Optional[datetime] = dateparser.parse(date_str, settings={'TIMEZONE': "UTC"}) 25 if not d: ---> 26 raise UnknownDateFormat(date_str) 27 28 # if the date is not timezone aware apply UTC timezone UnknownDateFormat: 25days ago UTS
@AVKlimov
@AVKlimov 2 жыл бұрын
Вы где код пишете?
@dymshakov5569
@dymshakov5569 2 жыл бұрын
@@AVKlimov В Коллабе..в пайчарме почему то постоянно ошибки выдает..
@AVKlimov
@AVKlimov 2 жыл бұрын
Код бы весь посмотреть
@dymshakov5569
@dymshakov5569 2 жыл бұрын
Alex, еще вопрос.. по этому видео прога работает только на покупку или продажу тоже можно запаралелить с хеджированием рисков в обе стороны ? и как найти Вас в телеграмме ?
@AVKlimov
@AVKlimov 2 жыл бұрын
Все можно прописать в логике
Watermelon magic box! #shorts by Leisi Crazy
00:20
Leisi Crazy
Рет қаралды 16 МЛН
🍉😋 #shorts
00:24
Денис Кукояка
Рет қаралды 3,5 МЛН
How to Code a AI Trading bot (so you can make $$$)
35:09
Nicholas Renotte
Рет қаралды 638 М.
Робот на Python для Binance. Binance Bot Python
33:10
Alex Klimov
Рет қаралды 59 М.
Binance API kline candles + Python + Pandas = MACD
11:29
Azzrael Code
Рет қаралды 6 М.
Watermelon magic box! #shorts by Leisi Crazy
00:20
Leisi Crazy
Рет қаралды 16 МЛН