Merge branch 'enums' into feat/short
This commit is contained in:
commit
9988c293b5
@ -1,8 +1,11 @@
|
|||||||
# flake8: noqa: F401
|
# flake8: noqa: F401
|
||||||
from freqtrade.enums.backteststate import BacktestState
|
from freqtrade.enums.backteststate import BacktestState
|
||||||
|
from freqtrade.enums.collateral import Collateral
|
||||||
|
from freqtrade.enums.exchangename import ExchangeName
|
||||||
from freqtrade.enums.interestmode import InterestMode
|
from freqtrade.enums.interestmode import InterestMode
|
||||||
from freqtrade.enums.rpcmessagetype import RPCMessageType
|
from freqtrade.enums.rpcmessagetype import RPCMessageType
|
||||||
from freqtrade.enums.runmode import NON_UTIL_MODES, OPTIMIZE_MODES, TRADING_MODES, RunMode
|
from freqtrade.enums.runmode import NON_UTIL_MODES, OPTIMIZE_MODES, TRADING_MODES, RunMode
|
||||||
from freqtrade.enums.selltype import SellType
|
from freqtrade.enums.selltype import SellType
|
||||||
from freqtrade.enums.signaltype import SignalTagType, SignalType
|
from freqtrade.enums.signaltype import SignalTagType, SignalType
|
||||||
from freqtrade.enums.state import State
|
from freqtrade.enums.state import State
|
||||||
|
from freqtrade.enums.tradingmode import TradingMode
|
||||||
|
11
freqtrade/enums/collateral.py
Normal file
11
freqtrade/enums/collateral.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class Collateral(Enum):
|
||||||
|
"""
|
||||||
|
Enum to distinguish between
|
||||||
|
cross margin/futures collateral and
|
||||||
|
isolated margin/futures collateral
|
||||||
|
"""
|
||||||
|
CROSS = "cross"
|
||||||
|
ISOLATED = "isolated"
|
10
freqtrade/enums/exchangename.py
Normal file
10
freqtrade/enums/exchangename.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class ExchangeName(Enum):
|
||||||
|
"""All the exchanges supported by freqtrade that support leverage"""
|
||||||
|
|
||||||
|
BINANCE = "Binance"
|
||||||
|
KRAKEN = "Kraken"
|
||||||
|
FTX = "FTX"
|
||||||
|
OTHER = None
|
@ -7,6 +7,8 @@ class SignalType(Enum):
|
|||||||
"""
|
"""
|
||||||
BUY = "buy"
|
BUY = "buy"
|
||||||
SELL = "sell"
|
SELL = "sell"
|
||||||
|
SHORT = "short"
|
||||||
|
EXIT_SHORT = "exit_short"
|
||||||
|
|
||||||
|
|
||||||
class SignalTagType(Enum):
|
class SignalTagType(Enum):
|
||||||
|
11
freqtrade/enums/tradingmode.py
Normal file
11
freqtrade/enums/tradingmode.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class TradingMode(Enum):
|
||||||
|
"""
|
||||||
|
Enum to distinguish between
|
||||||
|
spot, margin, futures or any other trading method
|
||||||
|
"""
|
||||||
|
SPOT = "spot"
|
||||||
|
MARGIN = "margin"
|
||||||
|
FUTURES = "futures"
|
@ -4,6 +4,7 @@ from typing import Dict
|
|||||||
|
|
||||||
import ccxt
|
import ccxt
|
||||||
|
|
||||||
|
from freqtrade.enums import ExchangeName
|
||||||
from freqtrade.exceptions import (DDosProtection, InsufficientFundsError, InvalidOrderException,
|
from freqtrade.exceptions import (DDosProtection, InsufficientFundsError, InvalidOrderException,
|
||||||
OperationalException, TemporaryError)
|
OperationalException, TemporaryError)
|
||||||
from freqtrade.exchange import Exchange
|
from freqtrade.exchange import Exchange
|
||||||
@ -15,6 +16,8 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
class Binance(Exchange):
|
class Binance(Exchange):
|
||||||
|
|
||||||
|
exchange_name: ExchangeName = ExchangeName.BINANCE
|
||||||
|
|
||||||
_ft_has: Dict = {
|
_ft_has: Dict = {
|
||||||
"stoploss_on_exchange": True,
|
"stoploss_on_exchange": True,
|
||||||
"order_time_in_force": ['gtc', 'fok', 'ioc'],
|
"order_time_in_force": ['gtc', 'fok', 'ioc'],
|
||||||
|
@ -21,6 +21,7 @@ from pandas import DataFrame
|
|||||||
|
|
||||||
from freqtrade.constants import DEFAULT_AMOUNT_RESERVE_PERCENT, ListPairsWithTimeframes
|
from freqtrade.constants import DEFAULT_AMOUNT_RESERVE_PERCENT, ListPairsWithTimeframes
|
||||||
from freqtrade.data.converter import ohlcv_to_dataframe, trades_dict_to_list
|
from freqtrade.data.converter import ohlcv_to_dataframe, trades_dict_to_list
|
||||||
|
from freqtrade.enums import ExchangeName
|
||||||
from freqtrade.exceptions import (DDosProtection, ExchangeError, InsufficientFundsError,
|
from freqtrade.exceptions import (DDosProtection, ExchangeError, InsufficientFundsError,
|
||||||
InvalidOrderException, OperationalException, PricingError,
|
InvalidOrderException, OperationalException, PricingError,
|
||||||
RetryableOrderError, TemporaryError)
|
RetryableOrderError, TemporaryError)
|
||||||
@ -69,6 +70,8 @@ class Exchange:
|
|||||||
}
|
}
|
||||||
_ft_has: Dict = {}
|
_ft_has: Dict = {}
|
||||||
|
|
||||||
|
exchange_name: ExchangeName = ExchangeName.BINANCE
|
||||||
|
|
||||||
def __init__(self, config: Dict[str, Any], validate: bool = True) -> None:
|
def __init__(self, config: Dict[str, Any], validate: bool = True) -> None:
|
||||||
"""
|
"""
|
||||||
Initializes this module with the given config,
|
Initializes this module with the given config,
|
||||||
|
@ -4,6 +4,7 @@ from typing import Any, Dict
|
|||||||
|
|
||||||
import ccxt
|
import ccxt
|
||||||
|
|
||||||
|
from freqtrade.enums import ExchangeName
|
||||||
from freqtrade.exceptions import (DDosProtection, InsufficientFundsError, InvalidOrderException,
|
from freqtrade.exceptions import (DDosProtection, InsufficientFundsError, InvalidOrderException,
|
||||||
OperationalException, TemporaryError)
|
OperationalException, TemporaryError)
|
||||||
from freqtrade.exchange import Exchange
|
from freqtrade.exchange import Exchange
|
||||||
@ -16,6 +17,8 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
class Ftx(Exchange):
|
class Ftx(Exchange):
|
||||||
|
|
||||||
|
exchange_name: ExchangeName = ExchangeName.FTX
|
||||||
|
|
||||||
_ft_has: Dict = {
|
_ft_has: Dict = {
|
||||||
"stoploss_on_exchange": True,
|
"stoploss_on_exchange": True,
|
||||||
"ohlcv_candle_limit": 1500,
|
"ohlcv_candle_limit": 1500,
|
||||||
|
@ -4,6 +4,7 @@ from typing import Any, Dict
|
|||||||
|
|
||||||
import ccxt
|
import ccxt
|
||||||
|
|
||||||
|
from freqtrade.enums import ExchangeName
|
||||||
from freqtrade.exceptions import (DDosProtection, InsufficientFundsError, InvalidOrderException,
|
from freqtrade.exceptions import (DDosProtection, InsufficientFundsError, InvalidOrderException,
|
||||||
OperationalException, TemporaryError)
|
OperationalException, TemporaryError)
|
||||||
from freqtrade.exchange import Exchange
|
from freqtrade.exchange import Exchange
|
||||||
@ -15,6 +16,8 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
class Kraken(Exchange):
|
class Kraken(Exchange):
|
||||||
|
|
||||||
|
exchange_name: ExchangeName = ExchangeName.KRAKEN
|
||||||
|
|
||||||
_params: Dict = {"trading_agreement": "agree"}
|
_params: Dict = {"trading_agreement": "agree"}
|
||||||
_ft_has: Dict = {
|
_ft_has: Dict = {
|
||||||
"stoploss_on_exchange": True,
|
"stoploss_on_exchange": True,
|
||||||
|
1
freqtrade/leverage/__init__.py
Normal file
1
freqtrade/leverage/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
# flake8: noqa: F401
|
Loading…
Reference in New Issue
Block a user