stable/freqtrade/maintenance_margin.py

42 lines
1.0 KiB
Python

from typing import List
from freqtrade.enums import LiqFormula
from freqtrade.persistence import Trade
class MaintenanceMargin:
trades: List[Trade]
formula: LiqFormula
@property
def margin_level(self):
return self.formula() # TODO: Add args to formula
@property
def liq_level(self): # This may be a constant value and may not need a function
return # If constant, would need to be recalculated after each new trade
def __init__(self, formula: LiqFormula):
self.formula = formula
return
def add_new_trade(self, trade):
return
def remove_trade(self, trade):
return
# ? def update_trade_pric(self):
def sell_all(self):
return
def run(self):
# TODO-mg: implement a thread that constantly updates with every price change,
# TODO-mg: must update at least every second
# while true:
# if self.margin_level <= self.liq_level:
# self.sell_all()
return