Бот для торговли на криптовалютных биржах. На данный момент разработано:
- редактирование стратегии в браузере
- тестирование стратегии на исторических данных взятых с сайта CryptoCompare
- трейдер в режиме советов:
- покупать,
- продавать,
- удерживать,
- отменять ордер
- трейдер в режиме автоматической торговли:
- следит за новыми свечами
- при появлении новой свечи применяет стратегию
- создает лимитный ордер
- следит чтобы ордер был первым в списке ask или bid
- отменяет ордер, если он не исполнен, а сигнал изменился
- Установите node js
- Установите MongoDB, используется подключение "mongodb://localhost:27017/crypto"
- npm install
- Устраните ошибку в OData Server
- npm run build
- npm start Приложение использует порт 3000 по умолчанию.
- Откройте в браузере http://localhost:3000/
- На странице Market Data создайте набор данных, для этого введите код валюты, обычно это BTC, код валюты, которую будете покупать, и период (в данный момент доступны только M1, H1 или D1).
- Перейдите в созданный набор.
- Нажмите "Обновить" и дождитесь обновления.
- Нажмите "Загрузить" и выберите необходимый диапазон, обратите внимание на ограничения по выгружаемым данным.
Данные готовы к использованию. Для тестирования можно задавать диапазон внутри импортированных данных. Трейдер будет актуализировать данные самостоятельно и они будут сохраняться в системе.
- Создайте первую стратегию и откройте.
- На экране слева CodeEditor введите стратегию для примера:
// module.exports = function(candles, tulind, console, callback)
{
const PERIOD = 14;
if (candles.length < PERIOD * 2 - 1) {
callback(null, 0);
} else {
const high = candles.map(e => e.high).slice(-(PERIOD * 2 - 1));
const low = candles.map(e => e.low).slice(-(PERIOD * 2 - 1));
const close = candles.map(e => e.close).slice(-(PERIOD * 2 - 1));
tulind.indicators.cci.indicator([ high, low, close ], [ PERIOD ]).then(([ ccis ]) => {
const advice = (ccis.length > 0) ? (ccis[0] >= 100 ? 1 : -1) : 0;
callback(null, advice);
});
}
}
Стратегию можно изменить. Комментарий первой строки не удаляйте, к параметрам в скобках можно обратиться из кода. Для отладки стратегии используйте консоль сервера. Кликните в любое место кроме окна, произойдет сохранение. 2. На экране справа создайте новый тест. Для выполнения теста должны быть подготовлены данные. Выберите набор рыночных данных для теста. 3. Нажмите "ОК" и додждитесь выполнения. В двух правых столбцах будет изменение цены рынка и эффективность стратегии в виде изменения баланса. 4. Для просмотра деталей можно перйти на страницу бэктеста.
На данный момент доступно подключение к бирже HitBTC. Для работы с ней вам необходимо создать аккаунт, где указать ключи API и SECRET сгенерированные на сайте биржи. В скором будущем станут доступны другие биржи.
- Перед созданием трейдера перейдите в раздел Эксперт, создайте эксперта на основе имеющейся стратегии и рыночных данных.
- Перейдите в раздел Трейдер, создайте трейдера на основе эксперта и созданного аккаунта.
- На странице трейдера его можно обновить (кнопка вверху справа), тогда он загрузит обновленные данные и посчитает совет на основе стратегии.
- Для синхронизации состояние тикера, баланса и заказа есть кнопка вверху рядом с кнопкой обновить.
- Внизу активны кнопки, соответствующие командам, которые в данный момент доступны трейдеру. Если нажать кнопку, то трейдер выполнит соответствующую команду. Если кнопка дополнительно подсвечена синим, это означает, что трейдер рекомендует выполнить соответствующее действие. После запуска трейдера он будет самостоятельно обновлять для себя данные и выполнять рекомендованные операции. Для запуска или остановки трейдера предусмотрены кнопки внизу слева.
Для доступа к статистике выполнения ордеров, состояния баланса, аналитики и другой информации используйте сайт биржи или другие инструменты.