More changes
This commit is contained in:
parent
d017883a15
commit
4315a641a8
2 changed files with 19 additions and 20 deletions
|
@ -10,7 +10,7 @@ class Kraken:
|
||||||
self.krakenWrapper = KrakenAPI(self.krakenAPI)
|
self.krakenWrapper = KrakenAPI(self.krakenAPI)
|
||||||
|
|
||||||
# Updates the current wallet prices from the internet
|
# Updates the current wallet prices from the internet
|
||||||
def updateBalances(self):
|
def getBalances(self):
|
||||||
__newBalances = self.krakenWrapper.get_account_balance()
|
__newBalances = self.krakenWrapper.get_account_balance()
|
||||||
#print(self.balances.loc["XXBT","vol"]-__newBalances.loc["XXBT","vol"])
|
#print(self.balances.loc["XXBT","vol"]-__newBalances.loc["XXBT","vol"])
|
||||||
#print(self.balances.loc["XXDG","vol"]-__newBalances.loc["XXDG","vol"])
|
#print(self.balances.loc["XXDG","vol"]-__newBalances.loc["XXDG","vol"])
|
||||||
|
@ -31,5 +31,13 @@ class Kraken:
|
||||||
self.shortEMA = self.prices.ewm(span=6).mean()
|
self.shortEMA = self.prices.ewm(span=6).mean()
|
||||||
|
|
||||||
|
|
||||||
|
def buyOrder(self, pair, currency_buy, currency_sell, amount, type="market"):
|
||||||
|
#self.krakenWrapper.add_standard_order(currency_pair, "sell", type, volume=k.balances["vol"][currency_buy], validate=True)
|
||||||
|
self.balances["vol"][currency_buy] += amount
|
||||||
|
self.balances["vol"][currency_sell] -= amount * self.prices.tail(1)[0]
|
||||||
|
|
||||||
|
def sellOrder(self, pair, currency_buy, currency_sell, amount, type="market"):
|
||||||
|
#self.krakenWrapper.add_standard_order(currency_pair, "buy", type, volume=k.balances["vol"][currency_sell], validate=True)
|
||||||
|
self.balances["vol"][currency_buy] -= amount
|
||||||
|
self.balances["vol"][currency_sell] += amount * self.prices.tail(1)[0]
|
||||||
|
|
||||||
|
|
23
main.py
23
main.py
|
@ -14,7 +14,7 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
k = Kraken()
|
k = Kraken()
|
||||||
print("1")
|
print("1")
|
||||||
k.updateBalances()
|
k.getBalances()
|
||||||
print("2")
|
print("2")
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
k.getPrices(currency_pair)
|
k.getPrices(currency_pair)
|
||||||
|
@ -23,41 +23,31 @@ if __name__ == "__main__":
|
||||||
print("4")
|
print("4")
|
||||||
|
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
while True:
|
||||||
|
print("Main loop")
|
||||||
current_price = float(k.krakenWrapper.get_ticker_information(currency_pair)["c"][0][0])
|
current_price = float(k.krakenWrapper.get_ticker_information(currency_pair)["c"][0][0])
|
||||||
new_row = pandas.DataFrame([[current_price]], index=[pandas.to_datetime(time.time(), unit = "s")])
|
new_row = pandas.DataFrame([[current_price]], index=[pandas.to_datetime(time.time(), unit = "s")])
|
||||||
|
|
||||||
k.prices = pandas.concat([k.prices, pandas.DataFrame(new_row)], ignore_index=False)
|
k.prices = pandas.concat([k.prices, pandas.DataFrame(new_row)], ignore_index=False)
|
||||||
'''
|
|
||||||
while True:
|
|
||||||
# If we have crypto, check for sell behaviour, if we have fiat, check for buy behavior, otherwise, get really confused
|
# If we have crypto, check for sell behaviour, if we have fiat, check for buy behavior, otherwise, get really confused
|
||||||
if k.balances["vol"][currency_buy] > 10**-5:
|
if k.balances["vol"][currency_buy] > 10**-5:
|
||||||
# Sell shit
|
# Sell shit
|
||||||
# TODO: Needs to check if fresh start
|
# TODO: Needs to check if fresh start
|
||||||
# If short term change dips below long term change, sell
|
# If short term change dips below long term change, sell
|
||||||
if(float(k.shortEMA.tail(1)[0]) < float(k.longEMA.tail(1)[0])):
|
if(float(k.shortEMA.tail(1)[0]) < float(k.longEMA.tail(1)[0])):
|
||||||
#k.krakenWrapper.add_standard_order(currency_pair, "sell", "market", volume=k.balances["vol"][currency_buy], validate=True)
|
|
||||||
print("Selling shit")
|
print("Selling shit")
|
||||||
k.balances["vol"][currency_sell] += k.balances["vol"][currency_buy] * k.prices.tail(1)[0]
|
k.sellOrder(currency_pair, currency_buy, currency_sell, k.balances["vol"][currency_buy])
|
||||||
k.balances["vol"][currency_buy] = 0
|
|
||||||
print(k.balances)
|
print(k.balances)
|
||||||
elif k.balances["vol"][currency_sell] > 10**-2:
|
elif k.balances["vol"][currency_sell] > 10**-2:
|
||||||
# Buy shit
|
# Buy shit
|
||||||
if(float(k.shortEMA.tail(1)[0]) > float(k.longEMA.tail(1)[0])):
|
if(float(k.shortEMA.tail(1)[0]) > float(k.longEMA.tail(1)[0])):
|
||||||
#k.krakenWrapper.add_standard_order(currency_pair, "buy", "market", volume=k.balances["vol"][currency_sell], validate=True)
|
|
||||||
print("Buying shit")
|
print("Buying shit")
|
||||||
k.balances["vol"][currency_buy] += k.balances["vol"][currency_sell] * (1/k.prices.tail(1)[0])
|
k.buyOrder(currency_pair, currency_buy, currency_sell, k.balances["vol"][currency_sell] * (1/k.prices.tail(1)[0]))
|
||||||
k.balances["vol"][currency_sell] = 0
|
|
||||||
print(k.balances)
|
print(k.balances)
|
||||||
else:
|
else:
|
||||||
raise Exception("There is no currency in this account.")
|
raise Exception("There is no currency in this account.")
|
||||||
|
|
||||||
current_price = float(k.krakenWrapper.get_ticker_information(currency_pair)["c"][0][0])
|
|
||||||
new_row = pandas.DataFrame([[current_price]], index=[pandas.to_datetime(time.time(), unit = "s")])
|
|
||||||
|
|
||||||
k.prices = pandas.concat([k.prices, pandas.DataFrame(new_row)], ignore_index=False)
|
|
||||||
|
|
||||||
k.calculateEMA(currency_pair)
|
|
||||||
time.sleep(3)
|
time.sleep(3)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
@ -65,3 +55,4 @@ plt.plot(k.shortEMA)
|
||||||
plt.plot(k.longEMA)
|
plt.plot(k.longEMA)
|
||||||
plt.plot(k.prices)
|
plt.plot(k.prices)
|
||||||
plt.show()
|
plt.show()
|
||||||
|
'''
|
||||||
|
|
Loading…
Reference in a new issue