docs(exchange): add Kraken Futures notes

This commit is contained in:
matstedt
2026-01-11 13:36:23 +01:00
committed by Matthias
parent 2f7e77a41e
commit d9629c4d67
3 changed files with 40 additions and 9 deletions
+1
View File
@@ -268,6 +268,7 @@ If `--convert` is also provided, the resample step will happen automatically and
!!! Note "Kraken user" !!! Note "Kraken user"
Kraken users should read [this](exchanges.md#historic-kraken-data) before starting to download data. Kraken users should read [this](exchanges.md#historic-kraken-data) before starting to download data.
Kraken Futures uses standard OHLCV downloads and does not require `--dl-trades`.
Example call: Example call:
+38
View File
@@ -217,6 +217,44 @@ freqtrade download-data --exchange kraken --dl-trades -p BTC/EUR BCH/EUR
Please pay attention that rateLimit configuration entry holds delay in milliseconds between requests, NOT requests/sec rate. Please pay attention that rateLimit configuration entry holds delay in milliseconds between requests, NOT requests/sec rate.
So, in order to mitigate Kraken API "Rate limit exceeded" exception, this configuration should be increased, NOT decreased. So, in order to mitigate Kraken API "Rate limit exceeded" exception, this configuration should be increased, NOT decreased.
## Kraken Futures
Kraken Futures uses the exchange id `krakenfutures` and supports isolated futures mode.
```jsonc
"exchange": {
"name": "krakenfutures",
"key": "your_exchange_key",
"secret": "your_exchange_secret",
"ccxt_config": {"enableRateLimit": true},
"ccxt_async_config": {"enableRateLimit": true},
"triggerSignal": "mark" // "mark" (default), "last", or "index"
},
"trading_mode": "futures",
"margin_mode": "isolated",
"stake_currency": "USD"
```
!!! Tip "Stoploss on Exchange"
Kraken Futures supports `stoploss_on_exchange` with both `limit` and `market` stop orders.
Use `exchange.triggerSignal` to select the trigger price source (`mark`, `last`, or `index`).
!!! Note "Collateral"
Kraken Futures is USD-settled. Kraken allows EUR collateral, but USD is the recommended stake currency.
!!! Note "Pair format"
Futures pairs use CCXT symbols, for example `BTC/USD:USD`.
### Data download
Kraken Futures uses normal OHLCV downloads.
```bash
freqtrade download-data --exchange krakenfutures --trading-mode futures --pairs BTC/USD:USD --timeframes 1m 5m
```
Note: OHLCV requests are capped at 2000 candles per call, so large downloads may take longer.
## Kucoin ## Kucoin
Kucoin requires a passphrase for each api key, you will therefore need to add this key into the configuration so your exchange section looks as follows: Kucoin requires a passphrase for each api key, you will therefore need to add this key into the configuration so your exchange section looks as follows:
+1 -9
View File
@@ -54,21 +54,13 @@ def available_exchanges(ccxt_module: CcxtModuleType | None = None) -> list[str]:
return [x for x in exchanges if validate_exchange(x)[0]] return [x for x in exchanges if validate_exchange(x)[0]]
def _exchange_has_helper( def _exchange_has_helper(ex_has: dict[str, Any], required: dict[str, list[str]]) -> list[str]:
ex_has_or_exchange: dict[str, Any] | ccxt.Exchange,
required: dict[str, list[str]],
) -> list[str]:
""" """
Checks availability of methods (or their replacement)s in a merged has-dict. Checks availability of methods (or their replacement)s in a merged has-dict.
:param ex_has: merged "has" dict (ccxt + freqtrade overrides) :param ex_has: merged "has" dict (ccxt + freqtrade overrides)
:param required: dict of required methods, with possible replacement methods as list :param required: dict of required methods, with possible replacement methods as list
:return: list of missing required methods :return: list of missing required methods
""" """
if isinstance(ex_has_or_exchange, dict):
ex_has = ex_has_or_exchange
else:
ex_has = getattr(ex_has_or_exchange, "has", {}) or {}
return [ return [
k k
for k, v in required.items() for k, v in required.items()