APIリクエストを行うには、アプリを作成してアクセストークンを取得する必要があります。まだアクセストークンを作成していない場合は、まずOauth2でアクセストークンを取得するチュートリアルに従ってください。
ステップ1:ボットのconfig poolを取得する
ボットのconfig poolを取得するには、/hopper/{id}/config/poolエンドポイントにGETリクエストを送信する必要があります。{id}はボットのIDです。
APIエンドポイント:
https://api.cryptohopper.com/v1/hopper/{id}/config/pool
APIリクエストが成功すると、ボットのconfig poolがデータフィールドに含まれたJSONレスポンスが返されます。
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"
}
]
}
ステップ2:ボットのconfig poolを更新する
ボットのconfig poolを取得したので、前のステップで使用したのと同じエンドポイントにPATCHリクエストを送信して、config poolの1つを更新できます。構成のID({pool_id}内)と更新された構成を指定する必要があります。この例では、stop_loss_trailing_percentageを0.75に変更します。
APIエンドポイント:
https://api.cryptohopper.com/v1/hopper/{id}/config/{pool_id}
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"
}
}
APIリクエストが成功すると、config poolが更新されたことを示すメッセージとともに200レスポンスが返されます。
JSONレスポンスの例:
{
"data": "Config pool updated."
}
このチュートリアルを読んだ後、ボットのconfig poolを更新できたことを願っています。