Para realizar peticiones a la API, necesitas crear una app y tener un token de acceso. Si aún no has creado un token de acceso, sigue este tutorial primero: Obtén un token de acceso con Oauth2.
Paso 1: Recupera la configuración base de tu bot de trading
Para recuperar la configuración base de tu bot de trading, necesitarás hacer una llamada POST al endpoint hopper/{id}/config, donde {id} es el ID de tu bot de trading.
Endpoint de la API:
https://api.cryptohopper.com/v1/hopper/{id}/config
Cuando la petición a la API es exitosa, recibirás una respuesta JSON con la configuración base de tu bot de trading en el campo data.
Ejemplo de respuesta 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"
}
}
Paso 2: Actualiza la configuración base de tu bot de trading.
Ahora que hemos recuperado la configuración base de tu bot de trading, podemos actualizarla enviando una petición PATCH al mismo endpoint que usamos en el paso anterior y proporcionando la configuración actualizada. En este ejemplo, cambiaremos el stop_loss_trailing_percentage a 0.75.
Endpoint de la API:
https://api.cryptohopper.com/v1/hopper/{id}/config
Ejemplo de petición 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"
}
}
Cuando la petición a la API es exitosa, recibirás una respuesta 200 con el objeto de configuración actualizado y un mensaje que dice: "Config saved.".
Ejemplo de respuesta 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."
}
}
¡Ojalá hayas conseguido actualizar la configuración base de tu bot de trading después de leer este tutorial!