"description":"Maximum number of open trades. -1 for unlimited.",
"type":[
"integer",
"number"
],
"minimum":-1
},
"timeframe":{
"description":"The timeframe to use (e.g `1m`, `5m`, `15m`, `30m`, `1h` ...). \nUsually specified in the strategy and missing in the configuration.",
"type":"string"
},
"stake_currency":{
"description":"Currency used for staking.",
"type":"string"
},
"stake_amount":{
"description":"Amount to stake per trade.",
"type":[
"number",
"string"
],
"minimum":0.0001,
"pattern":"unlimited"
},
"tradable_balance_ratio":{
"description":"Ratio of balance that is tradable.",
"type":"number",
"minimum":0.0,
"maximum":1,
"default":0.99
},
"available_capital":{
"description":"Total capital available for trading.",
"type":"number",
"minimum":0
},
"amend_last_stake_amount":{
"description":"Whether to amend the last stake amount.",
"type":"boolean",
"default":false
},
"last_stake_amount_min_ratio":{
"description":"Minimum ratio for the last stake amount.",
"type":"number",
"minimum":0.0,
"maximum":1.0,
"default":0.5
},
"fiat_display_currency":{
"description":"Fiat currency for display purposes.",
"type":"string",
"enum":[
"AUD",
"BRL",
"CAD",
"CHF",
"CLP",
"CNY",
"CZK",
"DKK",
"EUR",
"GBP",
"HKD",
"HUF",
"IDR",
"ILS",
"INR",
"JPY",
"KRW",
"MXN",
"MYR",
"NOK",
"NZD",
"PHP",
"PKR",
"PLN",
"RUB",
"UAH",
"SEK",
"SGD",
"THB",
"TRY",
"TWD",
"ZAR",
"USD",
"BTC",
"ETH",
"XRP",
"LTC",
"BCH",
"BNB",
""
]
},
"dry_run":{
"description":"Enable or disable dry run mode.",
"type":"boolean"
},
"dry_run_wallet":{
"description":"Initial wallet balance for dry run mode.",
"type":"number",
"default":1000
},
"cancel_open_orders_on_exit":{
"description":"Cancel open orders when exiting.",
"type":"boolean",
"default":false
},
"process_only_new_candles":{
"description":"Process only new candles.",
"type":"boolean"
},
"minimal_roi":{
"description":"Minimum return on investment. \nUsually specified in the strategy and missing in the configuration.",
"type":"object",
"patternProperties":{
"^[0-9.]+$":{
"type":"number"
}
}
},
"amount_reserve_percent":{
"description":"Percentage of amount to reserve.",
"type":"number",
"minimum":0.0,
"maximum":0.5
},
"stoploss":{
"description":"Value (as ratio) to use as Stoploss value. \nUsually specified in the strategy and missing in the configuration.",
"type":"number",
"maximum":0,
"exclusiveMaximum":true
},
"trailing_stop":{
"description":"Enable or disable trailing stop. \nUsually specified in the strategy and missing in the configuration.",
"type":"boolean"
},
"trailing_stop_positive":{
"description":"Positive offset for trailing stop. \nUsually specified in the strategy and missing in the configuration.",
"type":"number",
"minimum":0,
"maximum":1
},
"trailing_stop_positive_offset":{
"description":"Offset for trailing stop to activate. \nUsually specified in the strategy and missing in the configuration.",
"type":"number",
"minimum":0,
"maximum":1
},
"trailing_only_offset_is_reached":{
"description":"Use trailing stop only when offset is reached. \nUsually specified in the strategy and missing in the configuration.",
"type":"boolean"
},
"use_exit_signal":{
"description":"Use exit signal for trades. \nUsually specified in the strategy and missing in the configuration.",
"type":"boolean"
},
"exit_profit_only":{
"description":"Exit only when in profit. Exit signals are ignored as long as profit is < exit_profit_offset. \nUsually specified in the strategy and missing in the configuration.",
"type":"boolean"
},
"exit_profit_offset":{
"description":"Offset for profit exit. \nUsually specified in the strategy and missing in the configuration.",
"type":"number"
},
"fee":{
"description":"Trading fee percentage. Can help to simulate slippage in backtesting",
"type":"number",
"minimum":0,
"maximum":0.1
},
"ignore_roi_if_entry_signal":{
"description":"Ignore ROI if entry signal is present. \nUsually specified in the strategy and missing in the configuration.",
"type":"boolean"
},
"ignore_buying_expired_candle_after":{
"description":"Ignore buying after candle expiration time. \nUsually specified in the strategy and missing in the configuration.",
"type":"number"
},
"trading_mode":{
"description":"Mode of trading (e.g., spot, margin).",
"type":"string",
"enum":[
"spot",
"margin",
"futures"
]
},
"margin_mode":{
"description":"Margin mode for trading.",
"type":"string",
"enum":[
"cross",
"isolated",
""
]
},
"reduce_df_footprint":{
"description":"Reduce DataFrame footprint by casting columns to float32/int32.",
"type":"boolean",
"default":false
},
"minimum_trade_amount":{
"description":"Minimum amount for a trade - only used for lookahead-analysis",
"type":"number",
"default":10
},
"targeted_trade_amount":{
"description":"Targeted trade amount for lookahead analysis.",
"type":"number",
"default":20
},
"lookahead_analysis_exportfilename":{
"description":"csv Filename for lookahead analysis export.",
"type":"string"
},
"startup_candle":{
"description":"Startup candle configuration.",
"type":"array",
"uniqueItems":true,
"default":[
199,
399,
499,
999,
1999
]
},
"liquidation_buffer":{
"description":"Buffer ratio for liquidation.",
"type":"number",
"minimum":0.0,
"maximum":0.99
},
"backtest_breakdown":{
"description":"Breakdown configuration for backtesting.",
"type":"array",
"items":{
"type":"string",
"enum":[
"day",
"week",
"month"
]
}
},
"bot_name":{
"description":"Name of the trading bot. Passed via API to a client.",
"type":"string"
},
"unfilledtimeout":{
"description":"Timeout configuration for unfilled orders. \nUsually specified in the strategy and missing in the configuration.",
"type":"object",
"properties":{
"entry":{
"description":"Timeout for entry orders in unit.",
"type":"number",
"minimum":1
},
"exit":{
"description":"Timeout for exit orders in unit.",
"type":"number",
"minimum":1
},
"exit_timeout_count":{
"description":"Number of times to retry exit orders before giving up.",
"type":"number",
"minimum":0,
"default":0
},
"unit":{
"description":"Unit of time for the timeout (e.g., seconds, minutes).",
"type":"string",
"enum":[
"minutes",
"seconds"
],
"default":"minutes"
}
}
},
"entry_pricing":{
"description":"Configuration for entry pricing.",
"type":"object",
"properties":{
"price_last_balance":{
"description":"Balance ratio for the last price.",
"type":"number",
"minimum":0,
"maximum":1,
"exclusiveMaximum":false
},
"price_side":{
"description":"Side of the price to use (e.g., bid, ask, same).",
"type":"string",
"enum":[
"ask",
"bid",
"same",
"other"
],
"default":"same"
},
"use_order_book":{
"description":"Whether to use the order book for pricing.",
"type":"boolean"
},
"order_book_top":{
"description":"Top N levels of the order book to consider.",
"type":"integer",
"minimum":1,
"maximum":50
},
"check_depth_of_market":{
"description":"Configuration for checking the depth of the market.",
"type":"object",
"properties":{
"enabled":{
"description":"Enable or disable depth of market check.",
"type":"boolean"
},
"bids_to_ask_delta":{
"description":"Delta between bids and asks to consider.",
"type":"number",
"minimum":0
}
}
}
},
"required":[
"price_side"
]
},
"exit_pricing":{
"description":"Configuration for exit pricing.",
"type":"object",
"properties":{
"price_side":{
"description":"Side of the price to use (e.g., bid, ask, same).",
"type":"string",
"enum":[
"ask",
"bid",
"same",
"other"
],
"default":"same"
},
"price_last_balance":{
"description":"Balance ratio for the last price.",
"type":"number",
"minimum":0,
"maximum":1,
"exclusiveMaximum":false
},
"use_order_book":{
"description":"Whether to use the order book for pricing.",
"type":"boolean"
},
"order_book_top":{
"description":"Top N levels of the order book to consider.",
"type":"integer",
"minimum":1,
"maximum":50
}
},
"required":[
"price_side"
]
},
"custom_price_max_distance_ratio":{
"description":"Maximum distance ratio between current and custom entry or exit price.",
"type":"number",
"minimum":0.0,
"maximum":1,
"default":0.02
},
"order_types":{
"description":"Configuration of order types. \nUsually specified in the strategy and missing in the configuration.",
"type":"object",
"properties":{
"entry":{
"description":"Order type for entry (e.g., limit, market).",
"type":"string",
"enum":[
"limit",
"market"
]
},
"exit":{
"description":"Order type for exit (e.g., limit, market).",
"type":"string",
"enum":[
"limit",
"market"
]
},
"force_exit":{
"description":"Order type for forced exit (e.g., limit, market).",
"type":"string",
"enum":[
"limit",
"market"
]
},
"force_entry":{
"description":"Order type for forced entry (e.g., limit, market).",
"type":"string",
"enum":[
"limit",
"market"
]
},
"emergency_exit":{
"description":"Order type for emergency exit (e.g., limit, market).",
"type":"string",
"enum":[
"limit",
"market"
],
"default":"market"
},
"stoploss":{
"description":"Order type for stop loss (e.g., limit, market).",
"type":"string",
"enum":[
"limit",
"market"
]
},
"stoploss_on_exchange":{
"description":"Whether to place stop loss on the exchange.",
"type":"boolean"
},
"stoploss_price_type":{
"description":"Price type for stop loss (e.g., last, mark, index).",
"type":"string",
"enum":[
"last",
"mark",
"index"
]
},
"stoploss_on_exchange_interval":{
"description":"Interval for stop loss on exchange in seconds.",
"type":"number"
},
"stoploss_on_exchange_limit_ratio":{
"description":"Limit ratio for stop loss on exchange.",
"type":"number",
"minimum":0.0,
"maximum":1.0
}
},
"required":[
"entry",
"exit",
"stoploss",
"stoploss_on_exchange"
]
},
"order_time_in_force":{
"description":"Time in force configuration for orders. \nUsually specified in the strategy and missing in the configuration.",
"type":"object",
"properties":{
"entry":{
"description":"Time in force for entry orders.",
"type":"string",
"enum":[
"GTC",
"FOK",
"IOC",
"PO",
"gtc",
"fok",
"ioc",
"po"
]
},
"exit":{
"description":"Time in force for exit orders.",
"type":"string",
"enum":[
"GTC",
"FOK",
"IOC",
"PO",
"gtc",
"fok",
"ioc",
"po"
]
}
},
"required":[
"entry",
"exit"
]
},
"coingecko":{
"description":"Configuration for CoinGecko API.",
"type":"object",
"properties":{
"is_demo":{
"description":"Whether to use CoinGecko in demo mode.",
"type":"boolean",
"default":true
},
"api_key":{
"description":"API key for accessing CoinGecko.",
"type":"string"
}
},
"required":[
"is_demo",
"api_key"
]
},
"exchange":{
"description":"Exchange configuration.",
"$ref":"#/definitions/exchange"
},
"edge":{
"description":"Edge configuration.",
"$ref":"#/definitions/edge"
},
"freqai":{
"description":"FreqAI configuration.",
"$ref":"#/definitions/freqai"
},
"external_message_consumer":{
"description":"Configuration for external message consumer.",
"$ref":"#/definitions/external_message_consumer"
},
"experimental":{
"description":"Experimental configuration.",
"type":"object",
"properties":{
"block_bad_exchanges":{
"type":"boolean"
}
}
},
"pairlists":{
"description":"Configuration for pairlists.",
"type":"array",
"items":{
"type":"object",
"properties":{
"method":{
"description":"Method used for generating the pairlist.",