Ejemplo n.º 1
0
 def configure(cls, return_base_config=True):
     return BaseStrategy.configure(return_base_config) + [
         ConfigElement(
             'amount', 'float', 1, 'Amount',
             'Fixed order size, expressed in quote asset, unless "relative order size" selected',
             (0, None, 8, '')),
         ConfigElement(
             'relative_order_size', 'bool', False, 'Relative order size',
             'Amount is expressed as a percentage of the account balance of quote/base asset',
             None),
         ConfigElement('spread', 'float', 5, 'Spread',
                       'The percentage difference between buy and sell',
                       (0, 100, 2, '%')),
         ConfigElement(
             'center_price', 'float', 0, 'Center price',
             'Fixed center price expressed in base asset: base/quote',
             (0, None, 8, '')),
         ConfigElement(
             'center_price_dynamic', 'bool', True,
             'Update center price from closest market orders',
             'Always calculate the middle from the closest market orders',
             None),
         ConfigElement(
             'center_price_offset', 'bool', False,
             'Center price offset based on asset balances',
             'Automatically adjust orders up or down based on the imbalance of your assets',
             None),
         ConfigElement(
             'manual_offset', 'float', 0, 'Manual center price offset',
             "Manually adjust orders up or down. "
             "Works independently of other offsets and doesn't override them",
             (-50, 100, 2, '%'))
     ]
Ejemplo n.º 2
0
 def configure(cls):
     return BaseStrategy.configure() + [
         ConfigElement("spread", "float", 5,
                       "Percentage difference between buy and sell",
                       (0, 100)),
         ConfigElement("wall", "float", 0.0,
                       "the default amount to buy/sell, in quote",
                       (0.0, None)),
         ConfigElement("max", "float", 100.0,
                       "bot will not trade if price above this",
                       (0.0, None)),
         ConfigElement("min", "float", 100.0,
                       "bot will not trade if price below this",
                       (0.0, None)),
         ConfigElement("start", "float", 100.0,
                       "Starting price, as percentage of bid/ask spread",
                       (0.0, 100.0)),
         ConfigElement("reset", "bool", False,
                       "bot will alwys reset orders on start", (0.0, None)),
         ConfigElement("staggers", "int", 1,
                       "Number of additional staggered orders to place",
                       (1, 100)),
         ConfigElement("staggerspread", "float", 5,
                       "Percentage difference between staggered orders",
                       (1, 100))
     ]
Ejemplo n.º 3
0
 def configure(cls):
     return BaseStrategy.configure() + [
         ConfigElement("spread", "float", 5,
                       "Percentage difference between buy and sell",
                       (0, 100)),
         ConfigElement(
             "wall_percent", "float", 0,
             "the default amount to buy/sell, as a percentage of the balance",
             (0, 100)),
         ConfigElement("max", "float", 100.0,
                       "worker will not trade if price above this",
                       (0.0, None)),
         ConfigElement("min", "float", 100.0,
                       "worker will not trade if price below this",
                       (0.0, None)),
         ConfigElement("start", "float", 100.0,
                       "Starting price, as percentage of bid/ask spread",
                       (0.0, 100.0)),
         ConfigElement("reset", "bool", False,
                       "worker will always reset orders on start",
                       (0.0, None)),
         ConfigElement("staggers", "int", 1,
                       "Number of additional staggered orders to place",
                       (1, 100)),
         ConfigElement("staggerspread", "float", 5,
                       "Percentage difference between staggered orders",
                       (0, 100)),
         ConfigElement(
             'bias', 'float', 0,
             "Percentage of bias higher or lower (negative is lower) from the baseprice",
             (-100, 100))
     ]
Ejemplo n.º 4
0
 def configure(cls, return_base_config=True):
     return BaseStrategy.configure(return_base_config) + [
         ConfigElement('amount', 'float', 1, 'Amount',
                       'Fixed order size, expressed in quote asset',
                       (0, None, 8, '')),
         ConfigElement('spread', 'float', 6, 'Spread',
                       'The percentage difference between buy and sell',
                       (0, None, 2, '%')),
         ConfigElement(
             'increment', 'float', 4, 'Increment',
             'The percentage difference between staggered orders',
             (0, None, 2, '%')),
         ConfigElement(
             'center_price_dynamic', 'bool', True, 'Dynamic center price',
             'Always calculate the middle from the closest market orders',
             None),
         ConfigElement(
             'center_price', 'float', 0, 'Center price',
             'Fixed center price expressed in base asset: base/quote',
             (0, None, 8, '')),
         ConfigElement('lower_bound', 'float', 1, 'Lower bound',
                       'The bottom price in the range', (0, None, 8, '')),
         ConfigElement('upper_bound', 'float', 1000000, 'Upper bound',
                       'The top price in the range', (0, None, 8, ''))
     ]
Ejemplo n.º 5
0
 def configure(cls):
     return BaseStrategy.configure() + [
         ConfigElement("spread", "float", 5,
                       "Percentage difference between buy and sell",
                       (0, 100)),
         ConfigElement(
             "wall_percent", "float", 0,
             "the default amount to buy/sell, as a percentage of the balance",
             (0, 100)),
         ConfigElement(
             "diff", "float", 100.0,
             "minimum difference from a pre-existing bid/ask price",
             (0.0, None))
     ]
Ejemplo n.º 6
0
 def configure(cls):
     return BaseStrategy.configure() + [
         ConfigElement('amount', 'float', 1.0,
                       'The amount of buy/sell orders', (0.0, None)),
         ConfigElement(
             'spread', 'float', 6.0,
             'The percentage difference between buy and sell (Spread)',
             (0.0, None)),
         ConfigElement(
             'increment', 'float', 4.0,
             'The percentage difference between staggered orders (Increment)',
             (0.0, None)),
         ConfigElement('upper_bound', 'float', 1.0,
                       'The top price in the range', (0.0, None)),
         ConfigElement('lower_bound', 'float', 1000.0,
                       'The bottom price in the range', (0.0, None))
     ]
Ejemplo n.º 7
0
 def configure(cls, return_base_config=True):
     return BaseStrategy.configure(return_base_config) + [
         ConfigElement("spread", "float", 5, "Spread",
                       "The spread between sell and buy as percentage",
                       (0, 100, 2, '%')),
         ConfigElement(
             "threshold", "float", 5, "Threshold",
             "Percentage the feed has to move before we change orders",
             (0, 100, 2, '%')),
         ConfigElement("buy", "float", 0, "Buy",
                       "The default amount to buy", (0, None, 8, '')),
         ConfigElement("sell", "float", 0, "Sell",
                       "The default amount to sell", (0, None, 8, '')),
         ConfigElement("blocks", "int", 20, "Block num",
                       "Number of blocks to wait before re-calculating",
                       (0, 10000, ''))
     ]
Ejemplo n.º 8
0
 def configure(cls):
     return BaseStrategy.configure() + [
         ConfigElement(
             'amount_relative', 'bool', False,
             'Amount is expressed as a percentage of the account balance of quote/base asset',
             None),
         ConfigElement('amount', 'float', 1.0,
                       'The amount of buy/sell orders', (0.0, None)),
         ConfigElement('center_price_dynamic', 'bool', True,
                       'Dynamic centre price', None),
         ConfigElement('center_price', 'float', 0.0, 'Initial center price',
                       (0, 0, None)),
         ConfigElement('center_price_offset', 'bool', False,
                       'Center price offset based on asset balances', None),
         ConfigElement(
             'spread', 'float', 5.0,
             'The percentage difference between buy and sell (Spread)',
             (0.0, 100.0))
     ]
Ejemplo n.º 9
0
 def configure(cls):
     return BaseStrategy.configure() + [
         ConfigElement("spread", "int", 5,
                       "the spread between sell and buy as percentage",
                       (0, 100)),
         ConfigElement(
             "threshold", "int", 5,
             "percentage the feed has to move before we change orders",
             (0, 100)),
         ConfigElement("buy", "float", 0.0, "the default amount to buy",
                       (0.0, None)),
         ConfigElement("sell", "float", 0.0, "the default amount to sell",
                       (0.0, None)),
         ConfigElement("blocks", "int", 20,
                       "number of blocks to wait before re-calculating",
                       (0, 10000)),
         ConfigElement(
             "dry_run", "bool", False,
             "Dry Run Mode\nIf Yes the bot won't buy or sell anything, just log what it would do.\nIf No, the bot will buy and sell for real.",
             None)
     ]