model.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import utils
  2. class BacktestFee:
  3. def __init__(self, msg=None):
  4. if msg == "v9":
  5. self.maker = -0.00001
  6. self.taker = 0.0002
  7. elif msg == "v0":
  8. self.maker = 0.0001
  9. self.taker = 0.0005
  10. else:
  11. self.maker = 0
  12. self.taker = 0
  13. class ExchangeInfo:
  14. def __init__(self) -> None:
  15. self.symbol = None
  16. self.tickSize = None
  17. self.stepSize = None
  18. self.multiplier = None
  19. class Order:
  20. def __init__(self):
  21. self.symbol = None
  22. self.order_id = None
  23. self.amount = None
  24. self.side = None
  25. self.price = None
  26. class Position():
  27. def __init__(self):
  28. self.longPos = 0
  29. self.shortPos = 0
  30. self.longAvg = 0
  31. self.shortAvg = 0
  32. class TraderMsg:
  33. def __init__(self):
  34. self.position = Position()
  35. self.cash = 0.0
  36. self.coin = 0.0
  37. self.orders = dict()
  38. self.ref_price = None
  39. self.market = []
  40. self.predict = 0.0
  41. class ClientParams:
  42. def __init__(self):
  43. self.name = None
  44. self.pair = None
  45. self.proxy = None
  46. self.access_key = None
  47. self.secret_key = None
  48. self.pass_key = None
  49. self.interval = None
  50. self.broker_id = None
  51. self.debug = None
  52. class Config:
  53. def __init__(self):
  54. self.broker_id = None
  55. self.account_name = None
  56. self.access_key = None
  57. self.secret_key = None
  58. self.pass_key = None
  59. self.exchange = None
  60. self.pair = None
  61. self.debug = None
  62. self.open = None
  63. self.close = None
  64. self.server_port = None
  65. self.leverrate = None
  66. self.interval = 0.1
  67. self.close = None
  68. self.open = None
  69. self.refexchange = None
  70. self.refpair = None
  71. self.webhook = None
  72. self.used_pct = None
  73. self.place_order_limit = 0
  74. # self.proxy = "http://127.0.0.1:4780" # 仅在win下有效
  75. self.proxy = None # 仅在win下有效
  76. self.index = 0
  77. self.save = 0
  78. self.hold_coin = 0.0
  79. self.log = 0
  80. self.stoploss = 0.05
  81. self.gamma = 0.999
  82. self.grid = 1
  83. self.backtest = 0
  84. self.colo = 0
  85. self.fast = 1
  86. self.ip = 0