Astranome

CNX1

Sep 4th, 2021 (edited)
375
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.36 KB | None | 0 0
  1. import sqlite3
  2. import logging
  3. import time
  4. import os
  5. import math
  6.  
  7. from datetime import datetime
  8.  
  9.  
  10. from coinex.coinex import CoinEx
  11. #from somewhere_else import access_id, secret
  12.  
  13. coinex = CoinEx("D9876542345678098765234567987653у4567", "F9867543232345689965436789076543987654123458763377978543")
  14. settings = dict(
  15.     symbol='DOGEUSDT',            # Пара для отслеживания 15 JAN 2021 BTC=39000
  16.     strategy="Short",           # Стратегия - Long (повышение), Short (понижение)          
  17.     stop_loss_perc = 0.05,       # % оставания от цены
  18.     stop_loss_fixed = 1,        # Изначальный stop-loss, можно установить руками нужную сумму, потом бот подтянет.
  19.                                 # Можно указать 10000,short тогда бот высчитает, возьмет текущую цену и применит к ней процент
  20.     amount = 5,             # Кол-во монет, которое планируем продать (в случае Long) или купить (в случае Short)
  21.                                 # Если указываем Long, то альты для продажи (Например, продать 0.1 ETH в паре ETHBTC)
  22.     #amount = 11  13.5              # Если Short, то кол-во, на которое покупать, например купить на 0.1 BTC по паре ETHBTC
  23.     startrate = 0       # Нефиг продавать себе в убыток
  24. )
  25. # public API
  26. # print(coinex.market_list())
  27. ##print (coinex.balance_info())
  28. ##res=coinex.order_market('DOGEUSDT', 'sell', 5)
  29. ##print (res)
  30. ##print (coinex.balance_info())
  31.  
  32. # GET https://api.coinex.com/v1/market/info
  33. try:
  34.     print('Проверяю пару {pair}, стратегия SPOT {strategy}'.format(pair=settings['symbol'], strategy=settings['strategy']))
  35.         # Получаем текущие курсы по паре
  36.  
  37.     # ПОЛУЧЕНИЕ ЦЕНЫ
  38.     current_rates =coinex.market_depth(market=settings['symbol'], limit=5)
  39.     bid=float(current_rates['bids'][0][0])
  40.     ask=float(current_rates['asks'][0][0])
  41.  
  42.     print('BID=', bid, ' ASK=',ask)
  43.     # МНОЖИТЕЛИ
  44.     multiplier = -1 if settings['strategy'] == "Long" else 1
  45.     mstart = 1 if settings['strategy'] == "Long" else -1 # startrate множитель
  46.  
  47.     # Если играем на повышение, то ориентируемся на цены, по которым продают, иначе на цены, по которым покупают
  48.     curr_rate = bid if settings['strategy'] == "Long" else ask
  49.  
  50.     if settings['startrate'] == 0:
  51.         settings['startrate'] = (curr_rate/100) * (settings['stop_loss_perc']*mstart+100) # авто трейлстоп стартовый
  52.      
  53.     print("Текущие курсы bid {bid:0.8f}, ask {ask:0.8f}, выбрана {cr:0.8f} stop_loss {sl:0.8f}".format(
  54.         bid=bid, ask=ask, cr=curr_rate, sl=settings['stop_loss_fixed']
  55.     ))
  56.     # Считаем, каким был бы stop-loss, если применить к нему %
  57.     curr_rate_applied = (curr_rate/100) * (settings['stop_loss_perc']*multiplier+100)
  58.     print ('Applied=', curr_rate_applied)
  59.     print ( 'Startrate=', settings['startrate'])
  60. except Exception as e:
  61.         print(e)
  62. time.sleep(1)
  63.  
Add Comment
Please, Sign In to add comment