Files
hummingbot-dashboard/frontend/components/market_making_general_inputs.py
2024-07-16 18:31:34 +03:00

60 lines
3.9 KiB
Python

import streamlit as st
def get_market_making_general_inputs(custom_candles=False):
with st.expander("General Settings", expanded=True):
c1, c2, c3, c4, c5, c6, c7 = st.columns(7)
default_config = st.session_state.get("default_config", {})
connector_name = default_config.get("connector_name", "kucoin")
trading_pair = default_config.get("trading_pair", "WLD-USDT")
leverage = default_config.get("leverage", 20)
total_amount_quote = default_config.get("total_amount_quote", 1000)
position_mode = 0 if default_config.get("position_mode", "HEDGE") == "HEDGE" else 1
cooldown_time = default_config.get("cooldown_time", 60 * 60) / 60
executor_refresh_time = default_config.get("executor_refresh_time", 60 * 60) / 60
candles_connector = None
candles_trading_pair = None
interval = None
with c1:
connector_name = st.text_input("Connector", value=connector_name,
help="Enter the name of the exchange to trade on (e.g., binance_perpetual).")
with c2:
trading_pair = st.text_input("Trading Pair", value=trading_pair,
help="Enter the trading pair to trade on (e.g., WLD-USDT).")
with c3:
leverage = st.number_input("Leverage", value=leverage,
help="Set the leverage to use for trading (e.g., 20 for 20x leverage). "
"Set it to 1 for spot trading.")
with c4:
total_amount_quote = st.number_input("Total amount of quote", value=total_amount_quote,
help="Enter the total amount in quote asset to use for "
"trading (e.g., 1000).")
with c5:
position_mode = st.selectbox("Position Mode", ("HEDGE", "ONEWAY"), index=position_mode,
help="Enter the position mode (HEDGE/ONEWAY).")
with c6:
cooldown_time = st.number_input("Stop Loss Cooldown Time (minutes)", value=cooldown_time,
help="Specify the cooldown time in minutes after having a"
"stop loss (e.g., 60).") * 60
with c7:
executor_refresh_time = st.number_input("Executor Refresh Time (minutes)", value=executor_refresh_time,
help="Enter the refresh time in minutes for executors (e.g., 60).") * 60
if custom_candles:
candles_connector = default_config.get("candles_connector", "kucoin")
candles_trading_pair = default_config.get("candles_trading_pair", "WLD-USDT")
interval = default_config.get("interval", "3m")
intervals = ["1m", "3m", "5m", "15m", "1h", "4h", "1d"]
interval_index = intervals.index(interval)
with c1:
candles_connector = st.text_input("Candles Connector", value=candles_connector,
help="Enter the name of the exchange to get candles from"
"(e.g., binance_perpetual).")
with c2:
candles_trading_pair = st.text_input("Candles Trading Pair", value=candles_trading_pair,
help="Enter the trading pair to get candles for (e.g., WLD-USDT).")
with c3:
interval = st.selectbox("Candles Interval", intervals, index=interval_index,
help="Enter the interval for candles (e.g., 1m).")
return connector_name, trading_pair, leverage, total_amount_quote, position_mode, cooldown_time, \
executor_refresh_time, candles_connector, candles_trading_pair, interval