Ejemplo n.º 1
0
    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}
Ejemplo n.º 2
0
    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}
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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}
Ejemplo n.º 5
0
    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
Ejemplo n.º 6
0
    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
Ejemplo n.º 7
0
    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}
Ejemplo n.º 8
0
    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}
Ejemplo n.º 9
0
    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}
Ejemplo n.º 10
0
    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
Ejemplo n.º 11
0
    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}
Ejemplo n.º 12
0
    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
Ejemplo n.º 13
0
# 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)