fix: reserver balance algo
This commit is contained in:
12
main.py
12
main.py
@@ -301,7 +301,7 @@ class GridTradingBot:
|
|||||||
|
|
||||||
# 下单买1
|
# 下单买1
|
||||||
if (
|
if (
|
||||||
quote_balance - self.order_amount * buy_price > self.reserve_quote
|
quote_balance - self.order_amount * buy_price >= self.reserve_quote
|
||||||
and self.is_order_value_valid(buy_price)
|
and self.is_order_value_valid(buy_price)
|
||||||
):
|
):
|
||||||
if order_id := self.api_place_order(buy_price, "BUY"):
|
if order_id := self.api_place_order(buy_price, "BUY"):
|
||||||
@@ -316,7 +316,7 @@ class GridTradingBot:
|
|||||||
|
|
||||||
# 下单卖1
|
# 下单卖1
|
||||||
if (
|
if (
|
||||||
base_balance - self.order_amount > self.reserve_base
|
base_balance - self.order_amount >= self.reserve_base
|
||||||
and self.is_order_value_valid(sell_price)
|
and self.is_order_value_valid(sell_price)
|
||||||
):
|
):
|
||||||
if order_id := self.api_place_order(sell_price, "SELL"):
|
if order_id := self.api_place_order(sell_price, "SELL"):
|
||||||
@@ -354,7 +354,7 @@ class GridTradingBot:
|
|||||||
new_buy_price = self.calculate_grid_price(lowest_buy, 1, "BUY")
|
new_buy_price = self.calculate_grid_price(lowest_buy, 1, "BUY")
|
||||||
required_quote = new_buy_price * self.order_amount
|
required_quote = new_buy_price * self.order_amount
|
||||||
|
|
||||||
if quote_balance - required_quote > self.reserve_quote:
|
if quote_balance - required_quote >= self.reserve_quote:
|
||||||
if self.is_order_value_valid(new_buy_price):
|
if self.is_order_value_valid(new_buy_price):
|
||||||
if order_id := self.api_place_order(new_buy_price, "BUY"):
|
if order_id := self.api_place_order(new_buy_price, "BUY"):
|
||||||
self.active_orders[order_id] = Order(
|
self.active_orders[order_id] = Order(
|
||||||
@@ -391,7 +391,7 @@ class GridTradingBot:
|
|||||||
lowest_buy, self.grid_count, "SELL"
|
lowest_buy, self.grid_count, "SELL"
|
||||||
)
|
)
|
||||||
new_sell_price = self.calculate_grid_price(highest_sell, 1, "SELL")
|
new_sell_price = self.calculate_grid_price(highest_sell, 1, "SELL")
|
||||||
if base_balance - self.order_amount > self.reserve_base:
|
if base_balance - self.order_amount >= self.reserve_base:
|
||||||
if self.is_order_value_valid(new_sell_price):
|
if self.is_order_value_valid(new_sell_price):
|
||||||
if order_id := self.api_place_order(new_sell_price, "SELL"):
|
if order_id := self.api_place_order(new_sell_price, "SELL"):
|
||||||
self.active_orders[order_id] = Order(
|
self.active_orders[order_id] = Order(
|
||||||
@@ -562,8 +562,8 @@ if __name__ == "__main__":
|
|||||||
"symbol": "BTCUSDC",
|
"symbol": "BTCUSDC",
|
||||||
"csv_symbol": "BTCUSDT",
|
"csv_symbol": "BTCUSDT",
|
||||||
"csv_file": "output/mexc_spot_grid_trades.csv",
|
"csv_file": "output/mexc_spot_grid_trades.csv",
|
||||||
"grid_percentage": 0.0002,
|
"grid_percentage": 0.0005,
|
||||||
"grid_count": 4,
|
"grid_count": 5,
|
||||||
"order_amount": 0.00001,
|
"order_amount": 0.00001,
|
||||||
"min_order_value": 1,
|
"min_order_value": 1,
|
||||||
"reserve_base": 0,
|
"reserve_base": 0,
|
||||||
|
Reference in New Issue
Block a user