Skip to content

Instantly share code, notes, and snippets.

@mate-h
Last active September 21, 2024 05:58
Show Gist options
  • Save mate-h/1c5bd2d8bdb5d09878442d2da76d0979 to your computer and use it in GitHub Desktop.
Save mate-h/1c5bd2d8bdb5d09878442d2da76d0979 to your computer and use it in GitHub Desktop.
Freqtrade CLI Fish completions
# Freqtrade Completions for Fish Shell
function __fish_freqtrade_needs_command
set cmd (commandline -opc)
if test (count $cmd) -eq 1
return 0
end
return 1
end
function __fish_freqtrade_using_command
set cmd (commandline -opc)
if contains $argv[1] $cmd
return 0
end
return 1
end
# Completion for the main freqtrade command and its options
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'convert-trade-data' -d 'Convert trade data from one format to another'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'list-data' -d 'List downloaded data'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'backtesting' -d 'Backtesting module'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'hyperopt' -d 'Hyperopt module'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'hyperopt-list' -d 'List Hyperopt results'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'hyperopt-show' -d 'Show details of Hyperopt results'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'list-exchanges' -d 'Print available exchanges'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'list-markets' -d 'Print markets on exchange'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'list-pairs' -d 'Print pairs on exchange'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'list-strategies' -d 'Print available strategies'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'list-timeframes' -d 'Print available timeframes for the exchange'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'show-trades' -d 'Show trades'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'test-pairlist' -d 'Test your pairlist configuration'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'install-ui' -d 'Install FreqUI'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'plot-dataframe' -d 'Plot candles with indicators'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'plot-profit' -d 'Generate plot showing profits'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'webserver' -d 'Webserver module'
# Add new commands
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'create-userdir' -d 'Create user directory'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'new-config' -d 'Create new config'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'new-strategy' -d 'Create new strategy'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'download-data' -d 'Download backtesting data'
complete -c freqtrade -n '__fish_freqtrade_needs_command' -a 'trade' -d 'Trade module'
# Global options
complete -c freqtrade -s 'h' -l 'help' -d 'Show help message and exit'
complete -c freqtrade -s 'V' -l 'version' -d "Show program's version number and exit"
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'config' -r -d 'Specify configuration file'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'pairs' -r -d 'Limit to these pairs (comma-separated list)'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'pairs-file' -r -F -d 'File containing a list of pairs to download'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'days' -r -d 'Download data for given number of days'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'new-pairs-days' -r -d 'Download data of new pairs for given number of days'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'include-inactive-pairs' -d 'Include inactive pairs (only used with --pairs-file)'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'timerange' -r -d 'Specify what timerange of data to use'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'download-trades' -d 'Download trades instead of OHLCV data'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'exchange' -r -d 'Exchange name (default: "bittrex")'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'timeframes' -r -d 'Specify which tickers to download (default: "1m 5m")'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'erase' -d 'Clean all existing data for the selected exchange/pairs/timeframes'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'data-format-ohlcv' -r -d 'Storage format for downloaded candle (OHLCV) data (default: "feather")'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'data-format-trades' -r -d 'Storage format for downloaded trades data (default: "feather")'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'trading-mode' -r -d 'Trading mode (default: "spot")'
complete -c freqtrade -n '__fish_freqtrade_using_command download-data' -l 'prepend' -d 'Keep old data and only append new data'
@mate-h
Copy link
Author

mate-h commented Sep 21, 2024

Install with

curl https://gist.githubusercontent.com/mate-h/1c5bd2d8bdb5d09878442d2da76d0979/raw/da8bdf9ed15015249563e07a50e3f210fbfffbe9/freqtrade.fish > ~/.config/fish/completions.fish

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment