# Donations: 16RdQZ86NUWQbE6rM86JbxnnaCDcAKqa9
from urllib import urlencode
import urllib2
import time
from datetime import datetime
from hashlib import sha512
from hmac import HMAC
import base64
import json
from threading import Timer
class Connector:
bitstampTicker={
'url':'http://www.bitstamp.net/api/ticker/',
'interval':10,
'ticker_history':[]
}
def __init__(self):
self.updateBitstampTicker()
def updateBitstampTicker(self):
ticker=self.perform_query(self.bitstampTicker['url'])
temp={}
temp['last']=float(ticker['last'])
self.bitstampTicker['ticker_history'].append(temp)
Timer(self.bitstampTicker['interval'], self.updateBitstampTicker, ()).start()
def perform_query(self,url,data="",headers={}):
try:
#print(url)
#print(str(data))
#print(str(headers))
req = urllib2.Request(url)
res = urllib2.urlopen(req,data)
#print(res)
a=json.load(res)
#print (a)
return a
except Exception,e:
print "Eccezione nella richiesta:" + str(Exception) + '---' + str(e)
def getPrice(self):
return self.bitstampTicker['ticker_history'][-1]['last']
class Trader:
trend=0
oldTrend=0
price=0
oldPrice=0
conn=Connector()
#hisoricalData=[]
#deph={}
def __init__(self):
self.action()
def updatePrice(self):
print(self.price)
self.oldPrice=self.price
self.price=self.conn.getPrice()
def updateTrend(self):
self.trend= self.price-self.oldPrice
def checkMax(self):
if self.oldTrend>0 and self.trend<0:
return True
return False
def checkMin(self):
if self.oldTrend<0 and self.trend>0:
return True
return False
def buy(self,qty):
print 'buy'
def sell(self,qty):
print 'sell'
def update(self):
self.updatePrice()
self.updateTrend()
def action(self):
print ('action')
self.update()
if self.trend>0 and self.checkMin():
self.buy(0.01)
elif self.trend<0 and self.checkMax():
sell.sell(0.01)
Timer(10, self.action, ()).start()
if __name__ == "__main__":
Trader()