Tutoriais

Atualizando o pool de configurações do seu bot

 

Pra fazer requisições à API, você vai precisar criar um app e ter um token de acesso. Se ainda não criou um token de acesso, siga este tutorial primeiro: Pegar um token de acesso com Oauth2.

Passo 1: Pegue as pools de configuração do seu bot

Pra pegar as pools de configuração do seu bot, você vai precisar fazer uma requisição GET para o endpoint /hopper/{id}/config/pool, onde {id} é o ID do seu bot.

Endpoint da API:

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

Quando a requisição à API for bem-sucedida, você vai receber uma resposta JSON com as pools de configuração do seu bot no campo "data".

Exemplo de resposta 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"
    }
  ]
}

Passo 2: Atualize uma pool de configuração do seu bot.

Agora que pegamos as pools de configuração do seu bot, podemos atualizar uma delas enviando uma requisição PATCH para o mesmo endpoint que usamos no passo anterior. Você vai ter que fornecer o ID da configuração (em {pool_id}) e a configuração atualizada. Neste exemplo, vamos mudar o "stop_loss_trailing_percentage" para 0.75.

Endpoint da API:

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

Exemplo de requisição 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"
  }
}

Quando a requisição à API for bem-sucedida, você vai receber uma resposta 200 com uma mensagem dizendo que a pool de configuração foi atualizada.

Exemplo de resposta JSON:

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

Espero que você tenha conseguido atualizar uma pool de configuração do seu bot depois de ler este tutorial.