Skip to content
This repository was archived by the owner on Jan 29, 2025. It is now read-only.

Commit d83bc29

Browse files
authored
Merge pull request #1 from s4w3d0ff/dev
v0.0.2
2 parents d9ca59c + d48cef6 commit d83bc29

3 files changed

Lines changed: 25 additions & 17 deletions

File tree

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
import poloniex
2+
from .tools import getDatabase, getLogger, TA
23

4+
logger = getLogger(__name__)
35

4-
class Poloniex(poloniex.Poloniex):
6+
7+
class Poloniex(poloniex.PoloniexSocketed):
58
def __init__(self, *args, **kwargs):
69
super(Poloniex, self).__init__(*args, **kwargs)
10+
self.db = getDatabase('poloniex')
711
# holds stop orders
812
self.stopOrders = {}
913
# holds ticker data
@@ -33,17 +37,16 @@ def on_ticker(self, msg):
3337
'low24hr': data[9]
3438
}
3539
# check stop orders
36-
mkt = self.channels[str(data[0])]['name']
40+
mkt = self.channels[str(int(data[0]))]['name']
3741
la = data[2]
3842
hb = data[3]
3943
for id in self.stopOrders:
4044
# market matches and the order hasnt triggered yet
41-
if str(self.stopOrders[id].market) == str(mkt) and not self.stopOrders[id]['order']:
42-
self.logger.debug('%s lowAsk=%s highBid=%s', mkt, str(la), str(hb))
45+
if str(self.stopOrders[id]['market']) == str(mkt) and not self.stopOrders[id]['order']:
46+
self.logger.info('%s lowAsk=%s highBid=%s', mkt, str(la), str(hb))
4347
self._check_stop(id, la, hb)
4448

4549

46-
4750
def _check_stop(self, id, lowAsk, highBid):
4851
amount = self.stopOrders[id]['amount']
4952
stop = self.stopOrders[id]['stop']
@@ -64,7 +67,7 @@ def _check_stop(self, id, lowAsk, highBid):
6467
self.stopOrders[id]['market'],
6568
str(stop))
6669
if self.stopOrders[id]['callback']:
67-
self.stopOrders[id]['callback'](**self.stopOrders[id])
70+
self.stopOrders[id]['callback'](id)
6871

6972
# buy
7073
if amount > 0 and stop <= float(lowAsk):
@@ -82,7 +85,7 @@ def _check_stop(self, id, lowAsk, highBid):
8285
self.stopOrders[id]['market'],
8386
str(stop))
8487
if self.stopOrders[id]['callback']:
85-
self.stopOrders[id]['callback'](**self.stopOrders[id])
88+
self.stopOrders[id]['callback'](id)
8689

8790

8891
def addStopLimit(self, market, amount, stop, limit, callback=None, test=False):
@@ -94,25 +97,30 @@ def addStopLimit(self, market, amount, stop, limit, callback=None, test=False):
9497
'test': test,
9598
'order': False
9699
}
97-
self.logger.debug('%s stop limit set: [Amount]%.8f [Stop]%.8f [Limit]%.8f',
100+
self.logger.info('%s stop limit set: [Amount]%.8f [Stop]%.8f [Limit]%.8f',
98101
market, amount, stop, limit)
99102

100103
def ticker(self, market=None):
101104
"""
102105
Returns ticker data saved from websocket. Returns a logger error
103-
and REST ticker data if the socket isnt running or subscribed to the
104-
ticker.
106+
and REST ticker data if the socket isnt running. Auto-subscribes to
107+
ticker if the socket is running and not subscribed.
105108
"""
106-
if not self._t or not self._running or self.channels['1002']['sub']:
107-
self.logger.error("Websocket isn't running or not subscribed to ticker!")
108-
return self.returnTicker()
109+
if not self.channels['1002']['sub']:
110+
if not self._t or not self._running:
111+
self.logger.error("Websocket isn't running!")
112+
return self.returnTicker()
113+
else:
114+
self.logger.error("Not subscribed to ticker! Subscribing...")
115+
self.subscribe('1002')
116+
return self.returnTicker()
109117
if market:
110118
return self.tick[self._ids[market]]
111119
return self.tick
112120

113121

114-
def stopCallback(**kwargs):
122+
def cbck(self, id):
115123
"""
116124
Example callback for stop orders
117125
"""
118-
print(kwargs)
126+
print(self.stopOrders[id])
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import numpy as np
3636
import pandas as pd
3737
import pymongo
38-
import finta
38+
from finta import TA
3939

4040
getLogger = logging.getLogger
4141

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
read_md = lambda f: open(f, 'r').read()
2727

2828
setup(name='donnie',
29-
version='0.0.1',
29+
version='0.0.2',
3030
description='Poloniex tradebot toolkit',
3131
long_description=read_md('README.md'),
3232
long_description_content_type='text/markdown',

0 commit comments

Comments
 (0)