Syntax+for+classes
Syntax+for+classes
Syntax+for+classes
api = "9UYJPTED0bWVQouENWgS7M6thgcKtRTMhiMCPQybDQuNz0nQsFm0nxbjUhGlAU6w"
api_secret = "vmIEIusaeENTVqcLMcz2fs5i3pwNmxh97D6HGxneoBAF7jYzefl00tSax5tUWZv7"
client = Client(api,api_secret,tld="com",testnet=True)
class Bot:
def __init__(self,symbol,volume,no_of_safty_orders,proportion,profit_target):
self.symbol = symbol
self.volume = volume
self.no_of_safty_orders = no_of_safty_orders
self.proportion = proportion
self.profit_target = profit_target
def get_balance(self):
x = client.get_account()
df = pd.DataFrame(x['balances'])
print(df)
def get_curr_value(self,symbol):
price = client.get_symbol_ticker(symbol=symbol)
return price["price"]
return order['fills']
if direction == "sell":
order = client.create_order(
symbol=symbol,
side=Client.SIDE_SELL,
type=Client.ORDER_TYPE_MARKET,
quantity=volume
)
print(order['fills'])
# df1 = pd.DataFrame(columns=['price','qty'])
# df2 = pd.DataFrame(columns=['price','qty'])
#
#
# while True:
# x = market_order("BTCUSDT",0.001,"buy")
# df2.loc[0,'price'] = float(x[0]['price'])
# df2.loc[0, 'qty'] = float(x[0]['qty'])
# df1 = pd.concat([df1,df2],ignore_index=True)
# print(df1)
def run(self):
while True:
df1 = pd.DataFrame(columns=['price', 'qty'])
df2 = pd.DataFrame(columns=['price', 'qty'])
x = self.market_order(self.symbol, self.volume, "buy")
try:
df2.loc[0, 'price'] = float(x[0]['price'])
df2.loc[0, 'qty'] = float(x[0]['qty'])
df1 = pd.concat([df1, df2], ignore_index=True)
except:
pass
curr_no_of_safty_orders = 0
multiplied_volume = self.volume * 2
deviation = -1
next_price_level = -1
while True:
dev = self.cal_dev_from_initial_price(self.symbol, df1)
print(f"Deviation : {dev}")
if dev <= next_price_level * self.proportion:
if curr_no_of_safty_orders < self.no_of_safty_orders:
try:
x = self.market_order(self.symbol, multiplied_volume,
"buy")
df2.loc[0, 'price'] = float(x[0]['price'])
df2.loc[0, 'qty'] = float(x[0]['qty'])
df1 = pd.concat([df1, df2], ignore_index=True)
except:
pass
multiplied_volume *= 2
deviation *= 2
next_price_level += deviation
curr_no_of_safty_orders += 1