Чтобы делать API-запросы, тебе нужно создать приложение и получить токен доступа. Если у тебя еще нет токена доступа, сначала посмотри туториал Как получить токен доступа с помощью Oauth2.
Шаг 1: Получи базовую конфигурацию своего торгового бота
Чтобы получить базовую конфигурацию своего торгового бота, тебе нужно отправить POST-запрос к эндпоинту hopper/{id}/config, где {id} это ID твоего торгового бота.
API эндпоинт:
https://api.cryptohopper.com/v1/hopper/{id}/config
Если API-запрос пройдет успешно, ты получишь JSON-ответ с базовой конфигурацией твоего торгового бота в поле data.
Пример JSON-ответа:
{
"data": {
"name": "name",
"live": "1",
"last_loaded_config": "config",
"last_loaded_config_date": "1632137029",
"exchange": "kucoin",
"api_key": "***",
"api_secret": "***",
"api_passphrase": "***",
"extra_api_key": "***",
"extra_api_secret": "***",
"okex_version": "3",
"ticker_type": "bidask",
"allowed_coins": [
"BTC",
"ETH"
],
"allow_all_coins": "1",
"perc_buy_amount": "2.88",
"min_buy_amount": "0.1",
"min_buy_amount_force": "1",
"strategy": "strategy",
"num_targets_per_buy": "50",
"advanced_ta_candle_size": "1800",
"min_buy_score": "0.05",
"min_sell_score": "-1",
"rsi_candle_size": "1800",
"bbands_candle_size": "60",
"buy_order_type": "market",
"bid_percentage": "0.2",
"bid_percentage_type": "lower",
"max_open_time_buy": "5",
"max_open_positions": "500",
"max_open_positions_per_coin": "0.1",
"cooldown_when": "buys",
"cooldown_count": "1",
"cooldown_val": "days",
"one_open_order": "1",
"only_when_positive_time": "480",
"stop_loss_trailing": "1",
"stop_loss_trailing_percentage": "0.5",
"stop_loss_trailing_arm": "2",
"trailing_stop_loss_reset": "1",
"trailing_stop_loss_profit": "1",
"trailing_buy_percentage": "0.2",
"short_stop_loss_trailing_percentage": "1",
"short_stop_loss_trailing_arm": "3",
"short_auto_close_positions_time": "-5 minutes",
"short_auto_remove_positions_time": "-5 minutes",
"short_remove_on_loss": "1",
"hold_assets": "1",
"auto_close_positions_time": "-7 days",
"auto_dca": "1",
"dca_order_type": "market",
"auto_dca_time": "-5 minutes",
"auto_dca_max": "1",
"auto_dca_percentage": "4",
"auto_dca_size": "custom",
"auto_dca_size_custom": "100",
"set_percentage": "1000",
"sell_order_type": "market",
"max_open_time": "5",
"ask_percentage": "0.1",
"ask_percentage_type": "higher",
"send_trade_email": "1",
"submit": "1",
"walletscrubber_leftovers": "1",
"collect_currency": "usdt",
"output_live_feed": "1",
"buy_btc_amount": "0.0005"
}
}
Шаг 2: Обнови базовую конфигурацию своего торгового бота.
Теперь, когда ты получил базовую конфигурацию своего торгового бота, ты можешь обновить её, отправив PATCH-запрос к тому же эндпоинту, который мы использовали на предыдущем шаге, и указав измененную конфигурацию. В этом примере мы изменим stop_loss_trailing_percentage на 0.75.
API эндпоинт:
https://api.cryptohopper.com/v1/hopper/{id}/config
Пример JSON PATCH-запроса:
{
"config": {
"name": "name",
"live": "1",
"last_loaded_config": "config",
"last_loaded_config_date": "1632137029",
"exchange": "kucoin",
"api_key": "***",
"api_secret": "***",
"api_passphrase": "***",
"extra_api_key": "***",
"extra_api_secret": "***",
"okex_version": "3",
"ticker_type": "bidask",
"allowed_coins": [
"BTC",
"ETH"
],
"allow_all_coins": "1",
"perc_buy_amount": "2.88",
"min_buy_amount": "0.1",
"min_buy_amount_force": "1",
"strategy": "strategy",
"num_targets_per_buy": "50",
"advanced_ta_candle_size": "1800",
"min_buy_score": "0.05",
"min_sell_score": "-1",
"rsi_candle_size": "1800",
"bbands_candle_size": "60",
"buy_order_type": "market",
"bid_percentage": "0.2",
"bid_percentage_type": "lower",
"max_open_time_buy": "5",
"max_open_positions": "500",
"max_open_positions_per_coin": "0.1",
"cooldown_when": "buys",
"cooldown_count": "1",
"cooldown_val": "days",
"one_open_order": "1",
"only_when_positive_time": "480",
"stop_loss_trailing": "1",
"stop_loss_trailing_percentage": "0.75",
"stop_loss_trailing_arm": "2",
"trailing_stop_loss_reset": "1",
"trailing_stop_loss_profit": "1",
"trailing_buy_percentage": "0.2",
"short_stop_loss_trailing_percentage": "1",
"short_stop_loss_trailing_arm": "3",
"short_auto_close_positions_time": "-5 minutes",
"short_auto_remove_positions_time": "-5 minutes",
"short_remove_on_loss": "1",
"hold_assets": "1",
"auto_close_positions_time": "-7 days",
"auto_dca": "1",
"dca_order_type": "market",
"auto_dca_time": "-5 minutes",
"auto_dca_max": "1",
"auto_dca_percentage": "4",
"auto_dca_size": "custom",
"auto_dca_size_custom": "100",
"set_percentage": "1000",
"sell_order_type": "market",
"max_open_time": "5",
"ask_percentage": "0.1",
"ask_percentage_type": "higher",
"send_trade_email": "1",
"submit": "1",
"walletscrubber_leftovers": "1",
"collect_currency": "usdt",
"output_live_feed": "1",
"buy_btc_amount": "0.0005"
}
}
Когда API-запрос пройдет успешно, ты получишь ответ 200 с возвращенным обновленным объектом config и сообщением: "Config saved.".
Пример JSON-ответа:
{
"data": {
"config": {
"name": "name",
"live": "1",
"last_loaded_config": "config",
"last_loaded_config_date": "1632137029",
"paper_trading_account": "0",
"exchange": "kucoin",
"api_key": "***",
"api_secret": "***",
"api_passphrase": "***",
"extra_api_key": "***",
"extra_api_secret": "***",
"okex_version": "3",
"ticker_type": "bidask",
"allowed_coins": [
"BTC",
"ETH"
],
"allow_all_coins": "1",
"perc_buy_amount": "2.88",
"min_buy_amount": "0.1",
"min_buy_amount_force": "1",
"strategy": "strategy",
"num_targets_per_buy": "50",
"advanced_ta_candle_size": "1800",
"advanced_ta_stoch_slow_k_matype": "0",
"advanced_ta_stoch_slow_d_matype": "0",
"advanced_ta_stochrsi_fast_d_matype": "0",
"advanced_ta_bbands_matype": "0",
"rsi_candle_size": "1800",
"bbands_candle_size": "60",
"bbands_deviation": "",
"buy_order_type": "market",
"bid_percentage": "0.2",
"bid_percentage_type": "lower",
"max_open_time_buy": "5",
"max_open_positions": "500",
"max_open_positions_per_coin": "0.1",
"cooldown_when": "buys",
"cooldown_count": "1",
"cooldown_val": "days",
"one_open_order": "1",
"only_when_positive_time": "480",
"arbitrage": "0",
"stop_loss_trailing": "1",
"stop_loss_trailing_percentage": "0.75",
"stop_loss_trailing_arm": "2",
"trailing_stop_loss_reset": "1",
"trailing_stop_loss_profit": "1",
"trailing_buy_percentage": "0.2",
"short_stop_loss_trailing_percentage": "1",
"short_stop_loss_trailing_arm": "3",
"short_auto_close_positions_time": "-5 minutes",
"short_auto_remove_positions_time": "-5 minutes",
"short_remove_on_loss": "1",
"hold_assets": "1",
"auto_close_positions_time": "-7 days",
"auto_dca": "1",
"dca_order_type": "market",
"auto_dca_time": "-5 minutes",
"auto_dca_max": "1",
"auto_dca_percentage": "4",
"auto_dca_size": "custom",
"auto_dca_size_custom": "100",
"set_percentage": "1000",
"sell_order_type": "market",
"max_open_time": "5",
"ask_percentage": "0.1",
"ask_percentage_type": "higher",
"send_trade_email": "1",
"submit": "1",
"stop_buying": "0",
"stop_selling": "0",
"walletscrubber_leftovers": "1",
"walletscrubber_auto": "0",
"walletscrubber_noopen": "0",
"collect_currency": "usdt",
"output_live_feed": "1",
"output_errors_only": "0",
"autosync": "0",
"autosync_all_coins": "0",
"send_trade_error_email": "0",
"send_cancelled_email": "0",
"buy_btc_amount": "0.0005",
"max_amount_allocated": "",
"advanced_ta_stoch_fast_k": "",
"advanced_ta_stoch_slow_k": "",
"advanced_ta_stoch_slow_d": "",
"advanced_ta_stoch_oversold": "",
"advanced_ta_stoch_overbought": "",
"advanced_ta_stochrsi_period": "",
"advanced_ta_stochrsi_fast_k": "",
"advanced_ta_stochrsi_fast_d": "",
"advanced_ta_stochrsi_oversold": "",
"advanced_ta_stochrsi_overbought": "",
"advanced_ta_rsi_period": "",
"advanced_ta_rsi_oversold": "",
"advanced_ta_rsi_overbought": "",
"advanced_ta_macd_fast_period": "",
"advanced_ta_macd_slow_period": "",
"advanced_ta_macd_signal_period": "",
"advanced_ta_ema_short_period": "",
"advanced_ta_ema_long_period": "",
"advanced_ta_sma_short_period": "",
"advanced_ta_sma_long_period": "",
"advanced_ta_kama_short_period": "",
"advanced_ta_kama_long_period": "",
"advanced_ta_bbands_period": "",
"advanced_ta_bbands_dev_up": "",
"advanced_ta_bbands_dev_low": "",
"rsi_period": "",
"rsi_oversold": "",
"bbands_days": "",
"stop_loss_percentage": "",
"max_open_short_positions": "",
"short_percentage_profit": ""
},
"message": "Config saved."
}
}
Надеюсь, у тебя получилось обновить базовую конфигурацию своего торгового бота после прочтения этого туториала.