if f[len(f)-1] < m - 2*s: print 'opening long' if coef[0] < 0: self.engine.sendOrder(Order('EUR/USD', -1, 0, 0, 0, -1*np.round(coef[0],2), 0, 0, market=True), bar) else: self.engine.sendOrder(Order('EUR/USD', 1, 0, 0, 0, np.round(coef[0],2), 0, 0, market=True), bar) if coef[1] < 0: self.engine.sendOrder(Order('GBP/USD', -1, 0, 0, 0, -1*np.round(coef[1],2), 0, 0, market=True), bar) else: self.engine.sendOrder(Order('GBP/USD', 1, 0, 0, 0, np.round(coef[1],2), 0, 0, market=True), bar) if coef[2] < 0: self.engine.sendOrder(Order('AUD/USD', -1, 0, 0, 0, -1*np.round(coef[2],2), 0, 0, market=True), bar) else: self.engine.sendOrder(Order('AUD/USD', 1, 0, 0, 0, np.round(coef[2],2), 0, 0, market=True), bar) if coef[3] < 0: self.engine.sendOrder(Order('USD/CAD', -1, 0, 0, 0, -1*np.round(coef[3],2), 0, 0, market=True), bar) else: self.engine.sendOrder(Order('USD/CAD', 1, 0, 0, 0, np.round(coef[3],2), 0, 0, market=True), bar) def onStop(self): print 'firstMio stopped..' engine = DukascopyEngine() engine.connect(['USD/CAD', 'EUR/USD', 'GBP/USD', 'AUD/USD'], '1 Min', firstMio)