Pour faire des requêtes API, tu auras besoin de créer une application et d'avoir un jeton d'accès. Si tu n'as pas encore créé de jeton d'accès, suis d'abord le tutoriel Obtenir un jeton d'accès avec Oauth2.
Étape 1 : Récupérer la configuration de base de ton robot de trading
Pour récupérer la configuration de base de ton robot de trading, tu devras faire un appel POST à l'endpoint hopper/{id}/config, où {id} est l'identifiant de ton robot de trading.
Endpoint API :
https://api.cryptohopper.com/v1/hopper/{id}/config
Quand la requête API réussit, tu recevras une réponse JSON avec la configuration de base de ton robot de trading dans le champ data.
Exemple de réponse 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"
}
}
Étape 2 : Mettre à jour la configuration de base de ton robot de trading.
Maintenant que nous avons récupéré la configuration de base de ton robot de trading, on peut la mettre à jour en envoyant une requête PATCH au même endpoint qu'on a utilisé à l'étape précédente et en fournissant la configuration mise à jour. Dans cet exemple, on changera le stop_loss_trailing_percentage à 0.75.
Endpoint API :
https://api.cryptohopper.com/v1/hopper/{id}/config
Exemple de requête 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"
}
}
Quand la requête API réussit, tu recevras une réponse 200 avec l'objet config mis à jour et un message indiquant : "Config saved.".
Exemple de réponse 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."
}
}
J'espère que tu as réussi à mettre à jour la configuration de base de ton robot de trading après avoir lu ce tutoriel.