IQ Option API for python


Keywords
api, binary, binaryoptions, datafeed, deep-neural-networks, deeplearning, iqoption-bot, iqoption-trading, iqoptionapi, iqoptionbot, python, socket
Install
pip install ejtraderIQ==1.1.0

Documentation

Pypi Publish GitHub release (latest by date)

IQoption API

ToDo

  • Account Balance
  • trade buy and sell "Digital & Turbo"
  • Check Win
  • check open Markets
  • remaning time
  • real time quote
  • ohlc dataframe history
  • payout
  • get server time
  • get powerbar - market depth

Installation

Tested on python 3.7 to 3.9

pip install ejtraderIQ -U

Or install from source

git clone https://github.com/ejtraderLabs/ejtraderIQ
cd ejtraderIQ
python setup.py install

Import librarys

from ejtraderIQ import IQOption

Login to IQ Options

# account type DEMO OR REAL
api = IQOption('email','passowrd','DEMO') 

symbol = "EURUSD"
timeframe= "M1"

Real time quote

Subscribe quote stream
api.subscribe(symbol,timeframe)
symbols quote
quote = api.quote()
print(quote)

# Output

                         open      high       low     close  volume
date                                                               
2022-08-22 22:39:00  0.994245  0.994415  0.994215  0.994365     120
Unsubscribe quote stream
api.unsubscribe(symbol,timeframe)

# Output
"Unsubscribed from EURUSD"

Symbols History Dataframe

candles = 1000 # max history 1000 periods

history = api.history(symbol,timeframe,candles)
print(quote)

# Output
                         open      high       low     close  volume
date                                                               
2022-08-17 12:20:00  1.016235  1.016565  1.015925  1.016005    1225
2022-08-17 12:25:00  1.016015  1.016265  1.015585  1.016195     947
2022-08-17 12:30:00  1.016015  1.016905  1.014535  1.014635    3280
2022-08-17 12:35:00  1.014635  1.015415  1.014605  1.015315    1646
2022-08-17 12:40:00  1.015305  1.016015  1.015305  1.015985    1685
...                       ...       ...       ...       ...     ...
2022-08-22 23:15:00  0.993955  0.994035  0.993435  0.993475     779
2022-08-22 23:20:00  0.993475  0.993635  0.993365  0.993405     547
2022-08-22 23:25:00  0.993405  0.993585  0.993335  0.993455     577
2022-08-22 23:30:00  0.993475  0.993495  0.993305  0.993435     519
2022-08-22 23:35:00  0.993415  0.993655  0.993375  0.993635     527

[1000 rows x 5 columns]
Trade Position
volume = 1 # position size $1


# Buy Digital
api.buy(volume,symbol,timeframe)

# Buy turbo
api.buy(volume,symbol,timeframe,turbo=True)

# Sell Digital
api.sell(volume,symbol,timeframe)

# Sell turbo
api.sell(volume,symbol,timeframe,turbo=True)

Trade & Account Fuctions

check Payout
payout = api.payout(symbol) 
print(("Payout: {:.2f}%".format(payout)))
Check balance
 balance = api.balance()
 print(f'Balance : {balance}')
Remaning tim to trade
 expire = api.remaning(timeframe)
 print(f'Remaning : {expire}')
Market depth
# start streaming
 api.powerbar_start(symbol)

# get live data SELL side %
 api.powerbar_get(symbol)

# get all history from the time start streaming
 api.powerbar_get_all()

# stop streaming
api.powerbar_stop(symbol)
Server time
 
st = api.server_time()

st.year
st.day
st.hour
st.minute
st.second
 
Check Win
api.checkwin(id)

# example check win Digital 
id = api.buy(volume,symbol,timeframe)
win = api.checkwin(id)

if win > 0:
    print(("WIN"+'\n'))
elif win < 0:                                            
    print(("LOSS"+'\n'))
else:
    print(('Tied '+'\n'))
    
    
# example check win Turbo
id = api.buy(volume,symbol,timeframe,turbo=True)
win = api.checkwin(id,turbo=True)

if win > 0:
    print(("WIN"+'\n'))
elif win < 0:                                            
    print(("LOSS"+'\n'))
else:
    print(('Tied '+'\n'))    
Check markets state
markets = api.isOpen()
print(markets)

# Output

          Asset    Type Status
0    USDZAR-OTC  binary  close
1        EURUSD  binary  close
2    GBPJPY-OTC  binary  close
3        BTCUSD  binary  close
4        USDCHF  binary  close
..          ...     ...    ...
371    BNBUSD-L  crypto   open
372    VETUSD-L  crypto   open
373      ETCUSD  crypto   open
374   DOGEUSD-L  crypto   open
375    ETCUSD-L  crypto   open

[376 rows x 3 columns]