def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') signalDto = SignalDto() signalDto.provider = chName lines = str.splitlines(msg) for line in lines: item = line.lower() posEnter = str.find(item, 'buy') + str.find(item, 'sell') posTP = str.find(item, 'tp') posSL = str.find(item, 'sl') item = item.split(' ') if posEnter != -2: signalDto.symbol = item[0] signalDto.enter_type = 1 if item[2] == "buy" else 2 signalDto.enterPrice = item[-1] elif posSL != -1: signalDto.sl = item[1] elif posTP != -1: if (signalDto.tp == 0): signalDto.tp = item[1] elif (signalDto.tp2 == 0): signalDto.tp2 = item[1] elif (signalDto.tp3 == 0): signalDto.tp3 = item[1] print('creating signalDto for ' + chName + ' finished') return {0: signalDto}
def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') lines = str.splitlines(msg) signalDto = SignalDto() signalDto.provider = chName for line in lines: item = line.lower().split(' ') posSymbol = str.find(line.lower(), 'now at') posTP = str.find(line.lower(), 'take profit') posSL = str.find(line.lower(), 'stop loss') if posSymbol != -1: signalDto.symbol = item[1] signalDto.enter_type = 1 if item[0] == "buy" else 2 signalDto.enterPrice = float(item[4]) elif posSL != -1: signalDto.sl = float(item[3]) elif posTP != -1: if (signalDto.tp == 0): signalDto.tp = float(item[3]) elif (signalDto.tp2 == 0): signalDto.tp2 = float(item[3]) elif (signalDto.tp3 == 0): signalDto.tp3 = float(item[3]) print('creating signalDto for ' + chName + ' finished') return {0: signalDto}
def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') lines = str.splitlines(msg) signals = {} counter = -1 for line in lines: line = line.lower() if line.find('buy') != -1 or line.find('sell') != -1: counter += 1 signals[counter] = SignalDto() signals[counter].provider = chName enter = line.replace('limit ', '').split( " ") # AUDUSD SELL Limit @ 0.73000 signals[counter].symbol = enter[0] signals[counter].enter_type = 1 if enter[1] == "buy" else 2 signals[counter].enterPrice = float(enter[2]) elif line.find('sl') != -1: #SL 0.74230 signals[counter].sl = float(line.split(' ')[1]) elif line.find('tp') != -1: if (signals[counter].tp == 0): signals[counter].tp = float(line.split(' ')[1]) elif (signals[counter].tp2 == 0): signals[counter].tp2 = float(line.split(' ')[1]) elif (signals[counter].tp3 == 0): signals[counter].tp3 = float(line.split(' ')[1]) print('creating signalDto for ' + chName + ' finished') return signals
def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') lines = str.splitlines(msg) signalDto = SignalDto() signalDto.provider = chName for line in lines: item = line.lower() posSymbol = str.find(item.lower(), '@') posTP = str.find(item.lower(), 't/') posSL = str.find(item.lower(), 's/') if posSymbol != -1: item = item.replace(" ", "") #gbp/jpy sell @ 138.800 signalDto.symbol = item[0:7].replace('/', '') signalDto.enter_type = 1 if item[7:11] == "buy" else 2 signalDto.enterPrice = float(item.split('@')[1]) elif posSL != -1: #s/l=140.004 signalDto.sl = float(item.split('=')[1]) elif posTP != -1: if (signalDto.tp == 0): signalDto.tp = float(item.split('=')[1]) elif (signalDto.tp2 == 0): signalDto.tp2 = float(item.split('=')[1]) elif (signalDto.tp3 == 0): signalDto.tp3 = float(item.split('=')[1]) print('creating signalDto for ' + chName + ' finished') return {0: signalDto}
def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') lines = str.splitlines(msg) signals = {} counter = -1 for line in lines: if line.lower().find('buy') != -1 or line.lower().find( 'sell') != -1: counter += 1 signals[counter] = SignalDto() signals[counter].provider = chName enter = line.split(" ") # first line is Euraud Buy at 1.62000 signals[counter].symbol = str.upper(enter[0]) signals[counter].enter_type = 1 if str.upper( enter[1]) == "BUY" else 2 try: signals[counter].enterPrice = float(enter[4]) except: signals[counter].enterPrice = float(enter[3]) elif line.lower().find('sl') != -1: signals[counter].sl = float(line.lower().replace('sl', '').replace( ' ', '')) elif line.lower().find('tp') != -1: signals[counter].tp = float(line.lower().replace('tp', '').replace( ' ', '')) print('creating signalDto for ' + chName + ' finished') return signals
def createSignalDto(self, msg, msgTime, chName): lines = str.splitlines(msg) signalDto = SignalDto() signalDto.provider = chName signalDto.signalTime = self.getDate(msgTime) for item in lines: isFourDigit = False posSymbol = str.find(item, '#') posBuy = str.find(item, 'BUY') posTP = str.find(item, ':white_check_mark:') posSL = str.find(item, ':x:') if posSymbol != -1: signalDto.symbol = item[1:7] isFourDigit = self.checkDigits(signalDto.symbol) elif posBuy != -1: if isFourDigit == False: signalDto.enterPrice = float(item[7:14]) else: signalDto.enterPrice = float(item[7:13]) elif posSL != -1: if isFourDigit == False: signalDto.sl = float(item[3:10]) else: signalDto.sl = float(item[3:9]) elif posTP != -1: if isFourDigit == False: signalDto.tp = float(item[18:25]) else: signalDto.tp.append(float(item[18:24])) return signalDto
def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') lines = str.splitlines(msg) signalDto = SignalDto() signalDto.provider = chName for item in lines: isFourDigit = False posSymbol = str.find(item, '#') posBuy = str.find(item, 'BUY') posSell = str.find(item, 'SELL') posTP = str.find(item, ':white_check_mark:') posSL = str.find(item, ':x:') if posSymbol != -1: signalDto.symbol = item.replace('#', '').replace(' ', '') elif posBuy != -1 or posSell != -1: enter = item.split(' ') signalDto.type = 1 if enter[0] == "BUY" else 2 signalDto.enterPrice = enter[2] elif posSL != -1: signalDto.sl = item.split(':')[2] elif posTP != -1: if (signalDto.tp == 0): signalDto.tp = item.split(':')[2] elif (signalDto.tp2 == 0): signalDto.tp2 = item.split(':')[2] elif (signalDto.tp3 == 0): signalDto.tp3 = item.split(':')[2] print('creating signalDto for ' + chName + ' finished') return {0: signalDto}
def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') lines = str.splitlines(msg) signalDto = SignalDto() signalDto.provider = chName for line in lines: item = line.lower() posSymbol = str.find(item, '#') posBuy = str.find(item.lower(), 'in') posTP = str.find(item.lower(), 'take profit') posSL = str.find(item.lower(), 'stop loss') if posSymbol != -1: signalDto.symbol = item.replace('#', '').replace(' ', '') elif posBuy != -1: enter = item.replace(' ', '').split(':') signalDto.enter_type = 1 if enter[2].lower().replace( 'in', '') == "buy" else 2 signalDto.enterPrice = float(enter[3]) elif posSL != -1: signalDto.sl = float(item.replace(' ', '').split(':')[3]) elif posTP != -1: if (signalDto.tp == 0): signalDto.tp = float(item.replace(' ', '').split(':')[3]) elif (signalDto.tp2 == 0): signalDto.tp2 = float(item.replace(' ', '').split(':')[3]) elif (signalDto.tp3 == 0): signalDto.tp3 = float(item.replace(' ', '').split(':')[3]) print('creating signalDto for ' + chName + ' finished') return {0: signalDto}
def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') lines = str.splitlines(msg) signalDto = SignalDto() signalDto.provider = chName for line in lines: item = line.lower() posSymbol = str.find(item.lower(), 'alert!') posBuy = str.find(item.lower(), 'now@') posTP = str.find(item.lower(), 'tp') posSL = str.find(item.lower(), 'sl') if posSymbol != -1: signalDto.symbol = item.split(" ")[2] elif posBuy != -1: enter = item.split(' ') signalDto.enter_type = 1 if enter[0] == "buy" else 2 signalDto.enterPrice = float(enter[2]) elif posSL != -1: signalDto.sl = float(item.split(':')[1].replace(' ', '')) elif posTP != -1: if (signalDto.tp == 0): signalDto.tp = float(item.split(':')[1].replace(' ', '')) elif (signalDto.tp2 == 0): signalDto.tp2 = float(item.split(':')[1].replace(' ', '')) elif (signalDto.tp3 == 0): signalDto.tp3 = float(item.split(':')[1].replace(' ', '')) print('creating signalDto for ' + chName + ' finished') return {0: signalDto}
def createSignalDto(self,msg,chName): print('creating signalDto for '+chName+ ' started') lines=str.splitlines(msg) signalDto= SignalDto() signalDto.provider = chName for item in lines : isFourDigit=False posSymbol=str.find(item,'#') posBuy=str.find(item,'BUY') posTP=str.find(item,':white_check_mark:') posSL=str.find(item,':x:') if posSymbol != -1 : signalDto.symbol=str.strip(item[1:]) # :7 #isFourDigit=self.utils.checkDigits(signalDto.symbol) elif posBuy != -1 : signalDto.enterPrice = float(item[7:]) # :14 elif posSL != -1 : signalDto.sl = float(item[3:]) # :10 elif posTP != -1 : if(signalDto.tp == 0): signalDto.tp = float(item[18:]) # :25 elif(signalDto.tp2 == 0): signalDto.tp2 = float(item[18:]) # :25 elif(signalDto.tp3 == 0): signalDto.tp3 = float(item[18:]) # :25 signalDto.vol=0.01 print('creating signalDto for '+chName+ ' finished') return signalDto
def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') lines = str.splitlines(msg) signalDto = SignalDto() signalDto.provider = chName #signalDto.signalTime =self.utils.getDate(msgTime) enter = lines[0].split(" ") # first line is USDCAD BUY 1.3045 signalDto.symbol = enter[0] signalDto.enter_type = 1 if enter[1] == "BUY" else 2 signalDto.enterPrice = float(enter[2]) signalDto.sl = float(lines[1].split(" ")[1]) #SL 1.2960 signalDto.tp = float(lines[2].split(" ")[1]) #TP 1.2960 print('creating signalDto for ' + chName + ' finished') return {0: signalDto}
def createSignalDto(self, msg, chName): print('creating signalDto for ' + chName + ' started') lines = str.splitlines(msg) signals = {} counter = -1 for line in lines: line = line.lower() if line.find('buy') != -1 or line.find('sell') != -1: counter += 1 signals[counter] = SignalDto() signals[counter].provider = chName enter = line.split( ' ') # forexsignalfactory:anger: SELL USDJPY @ 107.20 signals[counter].symbol = enter[2] signals[counter].enter_type = 1 if enter[1] == "buy" else 2 signals[counter].enterPrice = float(enter[4]) elif line.find('tp') != -1: if (signals[counter].tp == 0): signals[counter].tp = float(line.split(' ')[3]) elif (signals[counter].tp2 == 0): signals[counter].tp2 = float(line.split(' ')[3]) elif (signals[counter].tp3 == 0): signals[counter].tp3 = float(line.split(' ')[3]) enter = signals[counter].enterPrice diff = abs((enter - signals[counter].tp)) * (2 / 3) if signals[counter].enter_type == 1: signals[counter].sl = enter - diff else: signals[counter].sl = enter + diff print('creating signalDto for ' + chName + ' finished') return signals
# print(today.strftime("%d/%m/%Y") + "aaa") # utils = Utils() # print(utils.extractTime("sdaf adsf")) # driver = webdriver.Firefox() # driver.get("https://web.telegram.org/#/im") # sleep(25) # telegrambot = BotEngine(driver) # telegrambot.setListOfVendors() # telegrambot.getNewMessage() signal = SignalDto() signal.provider = "forex-signal" signal.tp = 500 signal.sl = 500 signal.symbol = 'EURUSD' signal.enterPrice = 1.20850 signal.lots = .01 signal.enter_type = 'buy' a = SimpleSendSignal() test = ('a', signal) #print("end response: ") #print(a._run_(test)) b = SimpleSendSignal() b._trader_(signal)