Tutoriales

Actualizando un pool de configuración de tu bot

 

Pa' hacer peticiones a la API necesitas crear una app y tener un token de acceso. Si todavía no has creado un token de acceso, sigue este tutorial primero Consigue primero un token de acceso con Oauth2.

Paso 1: Recupera los config pools de tu bot

Para recuperar los config pools de tu bot, necesitas hacer una petición GET al endpoint /hopper/{id}/config/pool, donde {id} es el id de tu bot.

API endpoint:

https://api.cryptohopper.com/v1/hopper/{id}/config/pool

Cuando la petición a la API sea exitosa, recibirás una respuesta JSON con los config pools de tu bot en el campo data.

Ejemplo de respuesta JSON:

{
  "data": [
    {
      "id": "3242012",
      "name": "CONFIG POOL 01",
      "coins": "BTC",
      "config": {
        "max_buy_rate": "",
        "advanced_ta_candle_size": "1800",
        "advanced_ta_stoch_fast_k": "",
        "advanced_ta_stoch_slow_k": "",
        "advanced_ta_stoch_slow_k_matype": "0",
        "advanced_ta_stoch_slow_d": "",
        "advanced_ta_stoch_slow_d_matype": "0",
        "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_fast_d_matype": "0",
        "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": "",
        "advanced_ta_bbands_matype": "0",
        "buy_score_corrected": "0",
        "min_buy_score": "0.1",
        "sell_score_corrected": "0",
        "min_sell_score": "-1",
        "rsi_candle_size": "1800",
        "rsi_period": "",
        "rsi_oversold": "",
        "bbands_candle_size": "60",
        "bbands_days": "",
        "bbands_deviation": "",
        "set_percentage": "1000",
        "sell_order_type": "market",
        "max_open_time": "5",
        "ask_percentage": "0.1",
        "ask_percentage_type": "higher",
        "buy_order_type": "market",
        "bid_percentage": "0.2",
        "bid_percentage_type": "lower",
        "max_open_time_buy": "5",
        "cooldown_when": "buys",
        "cooldown_count": "1",
        "cooldown_val": "days",
        "stop_loss_percentage": "",
        "stop_loss_trailing": "1",
        "stop_loss_trailing_percentage": "0.50",
        "stop_loss_trailing_arm": "1.50",
        "trailing_stop_loss_reset": "1",
        "trailing_buy_percentage": "0.25",
        "auto_close_positions_time": "-7 days",
        "auto_dca": "1",
        "dca_order_type": "market",
        "auto_dca_time": "-1 hour",
        "auto_dca_max": "1",
        "auto_dca_percentage": "2",
        "auto_dca_size": "custom",
        "auto_dca_size_custom": "100"
      },
      "updated": "2021-12-15 13:36:25",
      "status": "1"
    },
    {
      "id": "3242015",
      "name": "CONFIG POOL 02",
      "coins": "ETH",
      "config": {
        "max_buy_rate": "",
        "advanced_ta_candle_size": "1800",
        "advanced_ta_stoch_fast_k": "",
        "advanced_ta_stoch_slow_k": "",
        "advanced_ta_stoch_slow_k_matype": "0",
        "advanced_ta_stoch_slow_d": "",
        "advanced_ta_stoch_slow_d_matype": "0",
        "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_fast_d_matype": "0",
        "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": "",
        "advanced_ta_bbands_matype": "0",
        "buy_score_corrected": "0",
        "min_buy_score": "0.1",
        "sell_score_corrected": "0",
        "min_sell_score": "-1",
        "rsi_candle_size": "1800",
        "rsi_period": "",
        "rsi_oversold": "",
        "bbands_candle_size": "60",
        "bbands_days": "",
        "bbands_deviation": "",
        "set_percentage": "1000",
        "sell_order_type": "market",
        "max_open_time": "5",
        "ask_percentage": "0.1",
        "ask_percentage_type": "higher",
        "buy_order_type": "market",
        "bid_percentage": "0.2",
        "bid_percentage_type": "lower",
        "max_open_time_buy": "5",
        "cooldown_when": "buys",
        "cooldown_count": "1",
        "cooldown_val": "days",
        "stop_loss_percentage": "",
        "stop_loss_trailing": "1",
        "stop_loss_trailing_percentage": "0.50",
        "stop_loss_trailing_arm": "1.50",
        "trailing_stop_loss_reset": "1",
        "trailing_buy_percentage": "0.25",
        "auto_close_positions_time": "-7 days",
        "auto_dca": "1",
        "dca_order_type": "market",
        "auto_dca_time": "-1 hour",
        "auto_dca_max": "1",
        "auto_dca_percentage": "2",
        "auto_dca_size": "custom",
        "auto_dca_size_custom": "100"
      },
      "updated": "2021-12-15 13:36:48",
      "status": "1"
    }
  ]
}

Paso 2: Actualiza un config pool de tu bot.

Ahora que hemos recuperado los config pools de tu bot, podemos actualizar uno de esos config pools enviando una petición PATCH al mismo endpoint que usamos en el paso anterior. Tendrás que proporcionar el id de la configuración (en {pool_id}) y la configuración actualizada. En este ejemplo, cambiaremos el stop_loss_trailing_percentage a 0.75.

API endpoint:

https://api.cryptohopper.com/v1/hopper/{id}/config/{pool_id}

Ejemplo de petición JSON PATCH:

{
  "config": {
    "max_buy_rate": "",
    "advanced_ta_candle_size": "1800",
    "advanced_ta_stoch_fast_k": "",
    "advanced_ta_stoch_slow_k": "",
    "advanced_ta_stoch_slow_k_matype": "0",
    "advanced_ta_stoch_slow_d": "",
    "advanced_ta_stoch_slow_d_matype": "0",
    "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_fast_d_matype": "0",
    "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": "",
    "advanced_ta_bbands_matype": "0",
    "buy_score_corrected": "0",
    "min_buy_score": "0.1",
    "sell_score_corrected": "0",
    "min_sell_score": "-1",
    "rsi_candle_size": "1800",
    "rsi_period": "",
    "rsi_oversold": "",
    "bbands_candle_size": "60",
    "bbands_days": "",
    "bbands_deviation": "",
    "set_percentage": "1000",
    "sell_order_type": "market",
    "max_open_time": "5",
    "ask_percentage": "0.1",
    "ask_percentage_type": "higher",
    "buy_order_type": "market",
    "bid_percentage": "0.2",
    "bid_percentage_type": "lower",
    "max_open_time_buy": "5",
    "cooldown_when": "buys",
    "cooldown_count": "1",
    "cooldown_val": "days",
    "stop_loss_percentage": "",
    "stop_loss_trailing": "1",
    "stop_loss_trailing_percentage": "0.75",
    "stop_loss_trailing_arm": "1.50",
    "trailing_stop_loss_reset": "1",
    "trailing_buy_percentage": "0.25",
    "auto_close_positions_time": "-7 days",
    "auto_dca": "1",
    "dca_order_type": "market",
    "auto_dca_time": "-1 hour",
    "auto_dca_max": "1",
    "auto_dca_percentage": "2",
    "auto_dca_size": "custom",
    "auto_dca_size_custom": "100"
  }
}

Cuando la petición a la API sea exitosa vas a recibir una respuesta 200 con un mensaje indicando que el config pool se actualizó.

Ejemplo de respuesta JSON:

{
  "data": "Config pool updated."
}

¡Con suerte habrás conseguido actualizar un config pool de tu bot después de leer este tutorial!