Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sqlite3
- import logging
- import time
- import os
- import math
- from datetime import datetime
- from coinex.coinex import CoinEx
- #from somewhere_else import access_id, secret
- coinex = CoinEx("D9876542345678098765234567987653у4567", "F9867543232345689965436789076543987654123458763377978543")
- settings = dict(
- symbol='DOGEUSDT', # Пара для отслеживания 15 JAN 2021 BTC=39000
- strategy="Short", # Стратегия - Long (повышение), Short (понижение)
- stop_loss_perc = 0.05, # % оставания от цены
- stop_loss_fixed = 1, # Изначальный stop-loss, можно установить руками нужную сумму, потом бот подтянет.
- # Можно указать 10000,short тогда бот высчитает, возьмет текущую цену и применит к ней процент
- amount = 5, # Кол-во монет, которое планируем продать (в случае Long) или купить (в случае Short)
- # Если указываем Long, то альты для продажи (Например, продать 0.1 ETH в паре ETHBTC)
- #amount = 11 13.5 # Если Short, то кол-во, на которое покупать, например купить на 0.1 BTC по паре ETHBTC
- startrate = 0 # Нефиг продавать себе в убыток
- )
- # public API
- # print(coinex.market_list())
- ##print (coinex.balance_info())
- ##res=coinex.order_market('DOGEUSDT', 'sell', 5)
- ##print (res)
- ##print (coinex.balance_info())
- # GET https://api.coinex.com/v1/market/info
- try:
- print('Проверяю пару {pair}, стратегия SPOT {strategy}'.format(pair=settings['symbol'], strategy=settings['strategy']))
- # Получаем текущие курсы по паре
- # ПОЛУЧЕНИЕ ЦЕНЫ
- current_rates =coinex.market_depth(market=settings['symbol'], limit=5)
- bid=float(current_rates['bids'][0][0])
- ask=float(current_rates['asks'][0][0])
- print('BID=', bid, ' ASK=',ask)
- # МНОЖИТЕЛИ
- multiplier = -1 if settings['strategy'] == "Long" else 1
- mstart = 1 if settings['strategy'] == "Long" else -1 # startrate множитель
- # Если играем на повышение, то ориентируемся на цены, по которым продают, иначе на цены, по которым покупают
- curr_rate = bid if settings['strategy'] == "Long" else ask
- if settings['startrate'] == 0:
- settings['startrate'] = (curr_rate/100) * (settings['stop_loss_perc']*mstart+100) # авто трейлстоп стартовый
- print("Текущие курсы bid {bid:0.8f}, ask {ask:0.8f}, выбрана {cr:0.8f} stop_loss {sl:0.8f}".format(
- bid=bid, ask=ask, cr=curr_rate, sl=settings['stop_loss_fixed']
- ))
- # Считаем, каким был бы stop-loss, если применить к нему %
- curr_rate_applied = (curr_rate/100) * (settings['stop_loss_perc']*multiplier+100)
- print ('Applied=', curr_rate_applied)
- print ( 'Startrate=', settings['startrate'])
- except Exception as e:
- print(e)
- time.sleep(1)
Add Comment
Please, Sign In to add comment