def tick(self): self._data.append(self._client.get_ask(self._instrument)) short_mavg = talib.SMA(np.array(self._data), timeperiod=5) long_mavg = talib.SMA(np.array(self._data), timeperiod=25) res = True if short_mavg[-2] < long_mavg[-2] and short_mavg[-1] > long_mavg[-1]: print(datetime.datetime.now(), "Buy signal", self._instrument, self._data[-1]) res = self.buy() elif short_mavg[-2] > long_mavg[-2] and short_mavg[-1] < long_mavg[-1]: print(datetime.datetime.now(), "Sell signal", self._instrument, self._data[-1]) res = self.sell() if not res: print("Fail to operate position.") print("Balance:", self._client.get_balance()) short_mavg[np.isnan(short_mavg)] = short_mavg[np.isfinite( short_mavg)][0] long_mavg[np.isnan(long_mavg)] = long_mavg[np.isfinite(long_mavg)][0] rc.update_data( { "close": self._data, "short_mavg": short_mavg, "long_mavg": long_mavg }, True)
def tick(self): self._data.append(self._client.get_ask(self._instrument)) short_mavg = talib.SMA(np.array(self._data), timeperiod = 5) long_mavg = talib.SMA(np.array(self._data), timeperiod = 25) res = True if short_mavg[-2] < long_mavg[-2] and short_mavg[-1] > long_mavg[-1]: print datetime.datetime.now(), "Buy signal", self._instrument, self._data[-1] res = self.buy() elif short_mavg[-2] > long_mavg[-2] and short_mavg[-1] < long_mavg[-1]: print datetime.datetime.now(), "Sell signal", self._instrument, self._data[-1] res = self.sell() if not res: print "Fail to operate position." print "Balance:", self._client.get_balance() short_mavg[np.isnan(short_mavg)] = short_mavg[np.isfinite(short_mavg)][0] long_mavg[np.isnan(long_mavg)] = long_mavg[np.isfinite(long_mavg)][0] rc.update_data({"close": self._data, "short_mavg": short_mavg, "long_mavg": long_mavg}, True)
""" An example plotting time series currency. """ import sys import time import forexconnect import lib.login_manager as lm import lib.realtime_chart as rc if len(sys.argv) < 2: print "Usage: python tick_animation.py instrument(etc. 'EUR/USD')" sys.exit() instrument = sys.argv[1] username, password, connection = lm.get_login_params() try: client = forexconnect.ForexConnectClient(username, password, connection) except: lm.clear_cache() sys.exit() rc.add_data(instrument, [client.get_ask(instrument)] * 100) rc.init("Real time chart") while True: rc.update_data({instrument: client.get_ask(instrument)}) time.sleep(1)
""" An example plotting time series currency. """ import sys import time import forexconnect import lib.login_manager as lm import lib.realtime_chart as rc if len(sys.argv) < 2: print("Usage: python tick_animation.py instrument(etc. 'EUR/USD')") sys.exit() instrument = sys.argv[1] username, password, connection = lm.get_login_params() try: client = forexconnect.ForexConnectClient(username, password, connection) except: lm.clear_cache() sys.exit() rc.add_data(instrument, [client.get_ask(instrument)] * 100) rc.init("Real time chart") while True: rc.update_data({instrument: client.get_ask(instrument)}) time.sleep(1)