class IQOption(): def __init__(self, user=userdata.mainUser, active_id="EURUSD"): self.username = user['username'] self.password = user['password'] self.real = user['real'] self.demo = user['demo'] self.active_id = active_id self.api = IQOptionAPI("iqoption.com", self.username, self.password) self.api.connect() self.setExpirationTime() self.setActives(self.active_id) self.api.changebalance(self.demo) def openPosition(self, direction, amount=1): while self.api.timesync.server_datetime.second != 0: sleep(0.5) self.api.buy(amount, api_constants.ACTIVES[self.active_id], "turbo", direction) def getBalance(self): return self.api.profile.balance def setExpirationTime(self, time=1): self.api.timesync.expiration_time = time def setActives(self, activeID): self.active_id = activeID self.api.setactives([api_constants.ACTIVES[self.active_id]]) def getCandles(self, duration=1): self.api.getcandles(api_constants.ACTIVES[self.active_id], duration) candles = self.api.candles.candles_data while not candles: sleep(0.1) self.api.getcandles(api_constants.ACTIVES[self.active_id], duration) candles = self.api.candles.candles_data if candles: # print 'Timestamp: ', datetime.datetime.fromtimestamp(int(candles[-1][0])).strftime('%Y-%m-%d %H:%M:%S') # print 'Open: ', candles[-1][1] # print 'Close: ', candles[-1][2] # print 'High: ', candles[-1][3] # print 'Low: ', candles[-1][4] return candles[-3], candles[-2], candles[-1] else: print('Invalid Candle!') return None def getServerDateTime(self): print(str(self.api.timesync.server_datetime)) return str(self.api.timesync.server_datetime) def getExpirationDateTime(self): print(str(self.api.timesync.expiration_datetime)) return str(self.api.timesync.expiration_datetime) def getResult(self): try: result = self.api.listinfodata.current_listinfodata.win #print('Result: ' + result) return result except: print('Result Error!') return None def changeBalance(self, real=False): # To enable the real account: if real: self.api.changebalance(self.real) else: self.api.changebalance(self.demo) #self.api.change_balance('practice') def getDataFrame(self, duration=1): candles = self.getCandles(duration) if candles: try: # candlesDF -> dict type candlesDF = { 'DateTime': [candles[-3][0], candles[-2][0]], # candles[-1][0]], 'Open': [candles[-3][1], candles[-2][1]], # candles[-1][1]], 'Close': [candles[-3][2], candles[-2][2]], # candles[-1][2]], 'High': [candles[-3][3], candles[-2][3]], # candles[-1][3]], 'Low': [candles[-3][4], candles[-2][4]] # , candles[-1][4]] } except: return None return candlesDF
import urllib3 import time from iqoptionapi.api import IQOptionAPI from websocket import create_connection import json ws = create_connection( "wss://iqoption.com/echo/{randomnumber}/{randomnumber}/websocket") print "Sending 'Cookie'..." ws.send("{'msg': 'MY COOKIE ID', 'name': 'ssid'}") print "Sent" print "Reeiving..." result = ws.recv() print "Received '%s'" % result urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) api = IQOptionAPI("iqoption.com", "*****@*****.**", "y61327061") api.connect() time.sleep(2) balance = api.profile.balance time.sleep(2) print balance api.setactives([73, 2]) time.sleep(2) api.getcandles(1, 1) time.sleep(2) data = api.candles.candles_data print api.candles.candles_data
from iqoptionapi.api import IQOptionAPI import json import iqoptionapi.constants as api_constants from time import gmtime, strftime import time api = IQOptionAPI("iqoption.com", "*****@*****.**", "ad318717") api.connect() time.sleep(5) #api.setactives([api_constants.ACTIVES["EURUSD"], api_constants.ACTIVES["EURUSD-OTC"]]) api.setactives([1, 1]) time.sleep(5) api.getcandles(1, 1) time.sleep(5) data = api.candles.candles_data print(api.candles.candles_data) print("local time is") sec = strftime("%S", gmtime()) while True: sec = strftime("%S", gmtime()) if sec == "59": print("should be here") api.buy(1, 1, "binary", "put") time.sleep(5) #for key in api_constants.ACTIVES: #print key, 'corresponds to', api_constants.ACTIVES[key]