iqoption bot is a simple ml realtime in training using LogisticRegression
it use bollinger bands to determinate if buy or sell
This code is initially based on Saulo Catharino's code
thanks for iqoption api to Lu-Yi-Hsun
thanks for this renko library and this brick size Optimization
NOTE:
- it not buy or sell on iqoption yet you must pay attencion to chart and do it manually
- Do tests on test account
- Give a star if it helps you
- Contribute with Community
- PYTHON VERSION 3.7
- How to start
- discover for assets
- Save in database
- TODO
- TIPS AND STRATEGY
- SUPPORT PROJECT
Do fork
do your changes
do pull request with an explanation to be easy to understand why and what you have changed
Be happy !!!
Please send me suggestions ... feedbacks are welcome
I'm using anaconda with python 3.7
I'm using anaconda with python 3 to reduce time installing things
conda create -n myenviqoption
conda activate myenviqoption
pip install -r requirements.txt
pip install -U git+git://github.com/Lu-Yi-Hsun/iqoptionapi.git
rename userdata-sample.py to userdata.py
than:
python main.py -a EURUSD
Or
python main.py -a USDJPY -i 15 -f '-015'
-a : It is the asset you wanna trade
-i : the interval you wanna use [1,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,28800,43200,86400,604800,2592000,'all']
-f : file sufix name
You can also use renko to better analyse tendence
python historicalrenko.py -a USDJPY -i 15
# or streaming
## this second command is under test and it may generate wrong stream
python streamrenko.py -a USDJPY -i 15
chart examples
just change the number to identify which asset is
https://iqoption.com/traderoom/asset/1244?type=crypto&noAlternative=1
To save iqoption data to rethinkdb:
- install rethinkdb
- create database called 'iqoption'
- create table 'candles'
- run fallowing code:
python rethinkdb.py -a EURUSD -i 5
- Graphical interface web or desktop
- Test other models
- logistic regression with lbfgs
- test different parameter to SVC
- way to classify moviments
- Optimize training with error function
- Create backtest to improve tests
- Use clean code to improve code
- analise backtrader
- Add function to load trained model
- create public database to store historical data( It will need donation to server manteinance )
- Create pipeline to deploy in a server
- unit tests
when spread is big and asset has small changes it doesn't compensate to start bull or sell
spread < 0,30 change 0.08 %
Best strategy: buy once when there are signals and if there is many signals close just do one one buy with profit 1%
It is high risk to use just in tranament account
if you have any strategy let us know in an issue with prefix: [STRATEGY]
IMPORTANT: Don't be naivy, don't use it in real account
I'll be really happy if you support this project.
Contribute here
It will be used to:
- create server to historical data
- improve code
- create web interface
- develop new features
New test open 3 terminals
python assets.py -a USDJPY -i 5
python assets.py -a USDJPY -i 15 -f '-015'
python assets.py -a USDJPY -i 30 -f '-30'
python assets.py -a USDJPY -i 60 -f '-60'
when boilinger hit at same time buy/sell in at least 2 charts
good spread is less then 0.020
take a profit 1%