Lu-Yi-Hsun / iqoptionapi

IQ Option API
372 stars 288 forks source link

HOW I CAN CONNECT TWO ACCOUNTS AT THE SAME TIME ? HELP #327

Open pabloviniciusBR opened 2 years ago

pabloviniciusBR commented 2 years ago

Hello friends, my name is vinicius and I'm from Brazil, I'm a beginner/intermediate in python, and I'm trying to connect two accounts in the API and then display the result of the bankroll value (practice), but after connecting to the first API the code displays only the value of a connected account. Can someone help me ?

from iqoptionapi.stable_api import IQ_Option

def conectar_com_a_iq():

API_1 = IQ_Option('first_acount_email','first_acount_password')

API_1.connect()

print(f'Value of the first user : {API_1.get_balance()}')

API_2 = IQ_Option('second_acount_email','second_acount_password')

API_2.connect()

print(f' Value of the second user : {API_2.get_balance()}')

conectar_com_a_iq()

TheHolsback commented 2 years ago

U have to have one API running normal and another one running in multiprocessing

pabloviniciusBR commented 2 years ago

Sorry don't solve, the result is the same Resultado da banca do primeiro usuario = 9746.68 Resultado da banca do segundo usuario = 9746.68

TheHolsback commented 2 years ago

How is your code? Bc I use, like, 4 differents accounts using multiprocessing

pabloviniciusBR commented 2 years ago

from iqoptionapi.stable_api import IQ_Option

def conectar_com_a_iq():

API = IQ_Option('example01@gmail.com','example01')

API.connect()

API_2 = IQ_Option('example02@gmail.com','example02')

API_2.connect()

print(API.get_balance())

print(API_2.get_balance())

# Make the same result i dont know why.

Account One Balance is 10036 Account Two Balance is 10000

But what is prints is: 10036 10036

pabloviniciusBR commented 2 years ago

Tambem sou brasileiro, voce tem whatsapp irmao?

TheHolsback commented 2 years ago

Me chama aqui no pv

pabloviniciusBR commented 2 years ago

Tentei com as threads que havia comentado, mas sem sucesso. Acho que o github nao possui a funçao de enviar mensagem, eu nao encontrei.

class ApiThread(threading.Thread): def init(self, id, email, password): threading.Thread.init(self)

    # Import the library as it will instantiate it, but this time per thread
    from iqoptionapi.stable_api import IQ_Option

    # Set parameters
    self.id = id
    self.api = IQ_Option(email, password)

def run(self):
    # Run
    self.api.connect()
    print(self.api.get_balance())

thread1 = ApiThread(1, "example01@gmail.com", "example01") thread2 = ApiThread(2, "example02@gmail.com", "example02")

thread1.start() thread2.start()

TheHolsback commented 2 years ago

Não pode usar thread, por que a thread continua usando os mesmos arquivos, já o multiprocessing "reseta" tudo.

pabloviniciusBR commented 2 years ago

Muito obrigado por estar tentando me ajudar, voce poderia colar um codigo de exemplo aqui para que eu possa entender melhor ? Abri ate uma pergunta no Stackoverflow estao vindo as mais diversas soluçoes, mas nenhuma ate o momento funcionou. https://stackoverflow.com/questions/71488361/2-differeent-objectt-instance-printing-same-result-of-first-instance?noredirect=1#comment126354325_71488361

pabloviniciusBR commented 2 years ago

wtf you're a fucking genius. :o

from iqoptionapi.stable_api import IQ_Option from multiprocessing import Process

def conectar_iq(email,senha):

API = IQ_Option(str(email),str(senha))

API.connect()

print(API.get_balance())

if name == 'main':

processar = Process(target=conectar_iq, args=('example01@gmail.com','example01',))
process_two = Process(target=conectar_iq, args=('example02@gmail.com','example02',))
processar.start()
process_two.start()
TheHolsback commented 2 years ago

Isso aí mano! Tava longe do PC pra mandar o cód, demorei mto pra chegar na solução de usar o MP

pabloviniciusBR commented 2 years ago

Rapaz, eu estou a uns 3 meses tentando montar um robo para telegram usando a biblioteca do pytelegrambotapi muito tranquilo e facil de fazer, demorei umas 3 semanas programando umas 10 horas por dia (serio, ficava exausto parecendo um zumbi ), consegui fazer o bot certinho, so que eu nao contava com uma coisa kk, uma maldita coisa. Quando eu utilizava o robo sozinho, ocorria tudo certo, mas quando varios usuarios foram acessando o bot ao mesmo tempo o caos começou, se tinha uma variavel com nome = 'vinicius' e entrava outro usuario com o nome rafael a variavel ficava nome = 'rafael' basicamente sobreescrevia, fazia a operaçao de um na conta do outro e por ai vai. Me recomendaram utilizar orientaçao a objeto pra resolver o problema, mas oque resolveu foi criar um dict {} onde a chave era o id do usuario e onde os values sao as variaveis, correspondentes ao id do usuario. Continuo na saga ! kk um dia vou finalizar esse bot

pabloviniciusBR commented 2 years ago

Depois se puder me chama no whatsapp : 11 910492733

provezano commented 2 years ago

Rapaz, eu estou a uns 3 meses tentando montar um robo para telegram usando a biblioteca do pytelegrambotapi muito tranquilo e facil de fazer, demorei umas 3 semanas programando umas 10 horas por dia (serio, ficava exausto parecendo um zumbi ), consegui fazer o bot certinho, so que eu nao contava com uma coisa kk, uma maldita coisa. Quando eu utilizava o robo sozinho, ocorria tudo certo, mas quando varios usuarios foram acessando o bot ao mesmo tempo o caos começou, se tinha uma variavel com nome = 'vinicius' e entrava outro usuario com o nome rafael a variavel ficava nome = 'rafael' basicamente sobreescrevia, fazia a operaçao de um na conta do outro e por ai vai. Me recomendaram utilizar orientaçao a objeto pra resolver o problema, mas oque resolveu foi criar um dict {} onde a chave era o id do usuario e onde os values sao as variaveis, correspondentes ao id do usuario. Continuo na saga ! kk um dia vou finalizar esse bot

https://github.com/provezano/IQBBot

felipebhz commented 2 years ago

Rapaz, eu estou a uns 3 meses tentando montar um robo para telegram usando a biblioteca do pytelegrambotapi muito tranquilo e facil de fazer, demorei umas 3 semanas programando umas 10 horas por dia (serio, ficava exausto parecendo um zumbi ), consegui fazer o bot certinho, so que eu nao contava com uma coisa kk, uma maldita coisa. Quando eu utilizava o robo sozinho, ocorria tudo certo, mas quando varios usuarios foram acessando o bot ao mesmo tempo o caos começou, se tinha uma variavel com nome = 'vinicius' e entrava outro usuario com o nome rafael a variavel ficava nome = 'rafael' basicamente sobreescrevia, fazia a operaçao de um na conta do outro e por ai vai. Me recomendaram utilizar orientaçao a objeto pra resolver o problema, mas oque resolveu foi criar um dict {} onde a chave era o id do usuario e onde os values sao as variaveis, correspondentes ao id do usuario. Continuo na saga ! kk um dia vou finalizar esse bot

Sugiro usar algo como https://pypi.org/project/pysha3/ para gerar IDs Únicos. Assim vc praticamente zera a chance de ter alguém com o mesmo id.

emilioPonceAlvarado16 commented 2 years ago

I copied and pasted literally the source code of iqoption api, and import twice in the code with different name, like Iq1, Iq2, and works fine