Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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]