├── .depricated-readthedocs.yaml ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── worflows │ └── workflow.yml ├── .gitignore ├── .readthedocs.yml ├── BinaryOptionsTools ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-311.pyc │ └── __init__.cpython-312.pyc ├── api.py ├── bot │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-311.pyc │ │ └── __init__.cpython-312.pyc │ ├── base.py │ └── signals │ │ ├── __init__.py │ │ └── __pycache__ │ │ ├── __init__.cpython-311.pyc │ │ └── __init__.cpython-312.pyc ├── indicators │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-311.pyc │ │ ├── __init__.cpython-312.pyc │ │ ├── momentum.cpython-311.pyc │ │ ├── momentum.cpython-312.pyc │ │ ├── trend.cpython-311.pyc │ │ └── trend.cpython-312.pyc │ ├── momentum.py │ └── trend.py ├── platforms │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-311.pyc │ │ └── __init__.cpython-312.pyc │ └── pocketoption │ │ ├── __init__.py │ │ ├── __pycache__ │ │ ├── __init__.cpython-310.pyc │ │ ├── __init__.cpython-311.pyc │ │ ├── __init__.cpython-312.pyc │ │ ├── __init__.cpython-37.pyc │ │ ├── __init__.cpython-38.pyc │ │ ├── api.cpython-310.pyc │ │ ├── api.cpython-311.pyc │ │ ├── api.cpython-312.pyc │ │ ├── api.cpython-37.pyc │ │ ├── api.cpython-38.pyc │ │ ├── api.cpython-39.pyc │ │ ├── constants.cpython-310.pyc │ │ ├── constants.cpython-311.pyc │ │ ├── constants.cpython-312.pyc │ │ ├── constants.cpython-37.pyc │ │ ├── constants.cpython-38.pyc │ │ ├── constants.cpython-39.pyc │ │ ├── expiration.cpython-310.pyc │ │ ├── expiration.cpython-311.pyc │ │ ├── expiration.cpython-312.pyc │ │ ├── expiration.cpython-37.pyc │ │ ├── expiration.cpython-38.pyc │ │ ├── expiration.cpython-39.pyc │ │ ├── global_value.cpython-310.pyc │ │ ├── global_value.cpython-311.pyc │ │ ├── global_value.cpython-312.pyc │ │ ├── global_value.cpython-37.pyc │ │ ├── global_value.cpython-38.pyc │ │ ├── global_value.cpython-39.pyc │ │ ├── pocket.cpython-310.pyc │ │ ├── pocket.cpython-311.pyc │ │ ├── stable_api.cpython-310.pyc │ │ ├── stable_api.cpython-311.pyc │ │ ├── stable_api.cpython-312.pyc │ │ ├── stable_api.cpython-37.pyc │ │ ├── stable_api.cpython-38.pyc │ │ └── stable_api.cpython-39.pyc │ │ ├── api.py │ │ ├── candles.json │ │ ├── constants.py │ │ ├── expiration.py │ │ ├── global_value.py │ │ ├── login │ │ ├── __init__.py │ │ └── test │ │ │ ├── __init__.py │ │ │ └── login.py │ │ ├── stable_api.py │ │ ├── test │ │ ├── __init__.py │ │ └── webdrivertest.py │ │ └── ws │ │ ├── __init__.py │ │ ├── __pycache__ │ │ ├── __init__.cpython-312.pyc │ │ ├── client.cpython-310.pyc │ │ ├── client.cpython-311.pyc │ │ ├── client.cpython-312.pyc │ │ ├── client.cpython-37.pyc │ │ ├── client.cpython-38.pyc │ │ └── client.cpython-39.pyc │ │ ├── channels │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-312.pyc │ │ │ ├── base.cpython-310.pyc │ │ │ ├── base.cpython-311.pyc │ │ │ ├── base.cpython-312.pyc │ │ │ ├── base.cpython-37.pyc │ │ │ ├── base.cpython-38.pyc │ │ │ ├── base.cpython-39.pyc │ │ │ ├── buyv3.cpython-310.pyc │ │ │ ├── buyv3.cpython-311.pyc │ │ │ ├── buyv3.cpython-312.pyc │ │ │ ├── buyv3.cpython-37.pyc │ │ │ ├── buyv3.cpython-38.pyc │ │ │ ├── buyv3.cpython-39.pyc │ │ │ ├── candles.cpython-310.pyc │ │ │ ├── candles.cpython-311.pyc │ │ │ ├── candles.cpython-312.pyc │ │ │ ├── candles.cpython-37.pyc │ │ │ ├── candles.cpython-38.pyc │ │ │ ├── candles.cpython-39.pyc │ │ │ ├── change_symbol.cpython-310.pyc │ │ │ ├── change_symbol.cpython-311.pyc │ │ │ ├── change_symbol.cpython-312.pyc │ │ │ ├── change_symbol.cpython-37.pyc │ │ │ ├── change_symbol.cpython-38.pyc │ │ │ ├── change_symbol.cpython-39.pyc │ │ │ ├── get_balances.cpython-310.pyc │ │ │ ├── get_balances.cpython-311.pyc │ │ │ ├── get_balances.cpython-312.pyc │ │ │ ├── get_balances.cpython-37.pyc │ │ │ ├── get_balances.cpython-38.pyc │ │ │ ├── get_balances.cpython-39.pyc │ │ │ ├── ssid.cpython-310.pyc │ │ │ ├── ssid.cpython-311.pyc │ │ │ ├── ssid.cpython-312.pyc │ │ │ ├── ssid.cpython-37.pyc │ │ │ ├── ssid.cpython-38.pyc │ │ │ └── ssid.cpython-39.pyc │ │ ├── base.py │ │ ├── buyv3.py │ │ ├── candles.py │ │ ├── change_symbol.py │ │ └── get_balances.py │ │ ├── client.py │ │ └── objects │ │ ├── __init__.py │ │ ├── __pycache__ │ │ ├── __init__.cpython-312.pyc │ │ ├── base.cpython-310.pyc │ │ ├── base.cpython-311.pyc │ │ ├── base.cpython-312.pyc │ │ ├── base.cpython-37.pyc │ │ ├── base.cpython-38.pyc │ │ ├── base.cpython-39.pyc │ │ ├── candles.cpython-310.pyc │ │ ├── candles.cpython-311.pyc │ │ ├── candles.cpython-312.pyc │ │ ├── candles.cpython-37.pyc │ │ ├── candles.cpython-38.pyc │ │ ├── candles.cpython-39.pyc │ │ ├── time_sync.cpython-310.pyc │ │ ├── time_sync.cpython-311.pyc │ │ ├── time_sync.cpython-312.pyc │ │ ├── time_sync.cpython-37.pyc │ │ ├── time_sync.cpython-38.pyc │ │ ├── timesync.cpython-310.pyc │ │ ├── timesync.cpython-311.pyc │ │ ├── timesync.cpython-312.pyc │ │ ├── timesync.cpython-37.pyc │ │ ├── timesync.cpython-38.pyc │ │ └── timesync.cpython-39.pyc │ │ ├── base.py │ │ ├── candles.py │ │ ├── time_sync.py │ │ └── timesync.py └── research │ ├── __init__.py │ ├── smalowatr.py │ └── tests │ ├── __init__.py │ ├── csv_tests.py │ └── test_csv1__wdwd_.csv ├── LICENSE ├── Makefile ├── README.md ├── binary_options_model.pth ├── binary_options_model2.pth ├── binary_options_model_retrained.pth ├── build └── lib │ └── BinaryOptionsTools │ ├── __init__.py │ ├── api.py │ ├── bot │ ├── __init__.py │ ├── base.py │ └── signals │ │ └── __init__.py │ ├── indicators │ ├── __init__.py │ ├── momentum.py │ └── trend.py │ ├── platforms │ ├── __init__.py │ └── pocketoption │ │ ├── __init__.py │ │ ├── api.py │ │ ├── constants.py │ │ ├── expiration.py │ │ ├── global_value.py │ │ ├── login │ │ ├── __init__.py │ │ └── test │ │ │ ├── __init__.py │ │ │ └── login.py │ │ ├── stable_api.py │ │ ├── test │ │ ├── __init__.py │ │ └── webdrivertest.py │ │ └── ws │ │ ├── __init__.py │ │ ├── channels │ │ ├── __init__.py │ │ ├── base.py │ │ ├── buyv3.py │ │ ├── candles.py │ │ ├── change_symbol.py │ │ └── get_balances.py │ │ ├── client.py │ │ └── objects │ │ ├── __init__.py │ │ ├── base.py │ │ ├── candles.py │ │ ├── time_sync.py │ │ └── timesync.py │ └── research │ ├── __init__.py │ ├── smalowatr.py │ └── tests │ ├── __init__.py │ └── csv_tests.py ├── commit.py ├── docs ├── Makefile ├── build │ ├── doctrees │ │ ├── BinaryOptionsTools.bot.doctree │ │ ├── BinaryOptionsTools.bot.signals.doctree │ │ ├── BinaryOptionsTools.doctree │ │ ├── BinaryOptionsTools.indicators.doctree │ │ ├── BinaryOptionsTools.platforms.doctree │ │ ├── BinaryOptionsTools.platforms.pocketoption.doctree │ │ ├── BinaryOptionsTools.platforms.pocketoption.login.doctree │ │ ├── BinaryOptionsTools.platforms.pocketoption.login.test.doctree │ │ ├── BinaryOptionsTools.platforms.pocketoption.test.doctree │ │ ├── BinaryOptionsTools.platforms.pocketoption.ws.channels.doctree │ │ ├── BinaryOptionsTools.platforms.pocketoption.ws.doctree │ │ ├── BinaryOptionsTools.platforms.pocketoption.ws.objects.doctree │ │ ├── BinaryOptionsTools.research.doctree │ │ ├── BinaryOptionsTools.research.tests.doctree │ │ ├── environment.pickle │ │ └── index.doctree │ └── html │ │ ├── .buildinfo │ │ ├── BinaryOptionsTools.bot.html │ │ ├── BinaryOptionsTools.bot.signals.html │ │ ├── BinaryOptionsTools.html │ │ ├── BinaryOptionsTools.indicators.html │ │ ├── BinaryOptionsTools.platforms.html │ │ ├── BinaryOptionsTools.platforms.pocketoption.html │ │ ├── BinaryOptionsTools.platforms.pocketoption.login.html │ │ ├── BinaryOptionsTools.platforms.pocketoption.login.test.html │ │ ├── BinaryOptionsTools.platforms.pocketoption.test.html │ │ ├── BinaryOptionsTools.platforms.pocketoption.ws.channels.html │ │ ├── BinaryOptionsTools.platforms.pocketoption.ws.html │ │ ├── BinaryOptionsTools.platforms.pocketoption.ws.objects.html │ │ ├── BinaryOptionsTools.research.html │ │ ├── BinaryOptionsTools.research.tests.html │ │ ├── _sources │ │ ├── BinaryOptionsTools.bot.rst.txt │ │ ├── BinaryOptionsTools.bot.signals.rst.txt │ │ ├── BinaryOptionsTools.indicators.rst.txt │ │ ├── BinaryOptionsTools.platforms.pocketoption.login.rst.txt │ │ ├── BinaryOptionsTools.platforms.pocketoption.login.test.rst.txt │ │ ├── BinaryOptionsTools.platforms.pocketoption.rst.txt │ │ ├── BinaryOptionsTools.platforms.pocketoption.test.rst.txt │ │ ├── BinaryOptionsTools.platforms.pocketoption.ws.channels.rst.txt │ │ ├── BinaryOptionsTools.platforms.pocketoption.ws.objects.rst.txt │ │ ├── BinaryOptionsTools.platforms.pocketoption.ws.rst.txt │ │ ├── BinaryOptionsTools.platforms.rst.txt │ │ ├── BinaryOptionsTools.research.rst.txt │ │ ├── BinaryOptionsTools.research.tests.rst.txt │ │ ├── BinaryOptionsTools.rst.txt │ │ └── index.rst.txt │ │ ├── _static │ │ ├── _sphinx_javascript_frameworks_compat.js │ │ ├── basic.css │ │ ├── css │ │ │ ├── badge_only.css │ │ │ ├── fonts │ │ │ │ ├── Roboto-Slab-Bold.woff │ │ │ │ ├── Roboto-Slab-Bold.woff2 │ │ │ │ ├── Roboto-Slab-Regular.woff │ │ │ │ ├── Roboto-Slab-Regular.woff2 │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ ├── lato-bold-italic.woff │ │ │ │ ├── lato-bold-italic.woff2 │ │ │ │ ├── lato-bold.woff │ │ │ │ ├── lato-bold.woff2 │ │ │ │ ├── lato-normal-italic.woff │ │ │ │ ├── lato-normal-italic.woff2 │ │ │ │ ├── lato-normal.woff │ │ │ │ └── lato-normal.woff2 │ │ │ └── theme.css │ │ ├── doctools.js │ │ ├── documentation_options.js │ │ ├── file.png │ │ ├── fonts │ │ │ ├── Lato │ │ │ │ ├── lato-bold.eot │ │ │ │ ├── lato-bold.ttf │ │ │ │ ├── lato-bold.woff │ │ │ │ ├── lato-bold.woff2 │ │ │ │ ├── lato-bolditalic.eot │ │ │ │ ├── lato-bolditalic.ttf │ │ │ │ ├── lato-bolditalic.woff │ │ │ │ ├── lato-bolditalic.woff2 │ │ │ │ ├── lato-italic.eot │ │ │ │ ├── lato-italic.ttf │ │ │ │ ├── lato-italic.woff │ │ │ │ ├── lato-italic.woff2 │ │ │ │ ├── lato-regular.eot │ │ │ │ ├── lato-regular.ttf │ │ │ │ ├── lato-regular.woff │ │ │ │ └── lato-regular.woff2 │ │ │ └── RobotoSlab │ │ │ │ ├── roboto-slab-v7-bold.eot │ │ │ │ ├── roboto-slab-v7-bold.ttf │ │ │ │ ├── roboto-slab-v7-bold.woff │ │ │ │ ├── roboto-slab-v7-bold.woff2 │ │ │ │ ├── roboto-slab-v7-regular.eot │ │ │ │ ├── roboto-slab-v7-regular.ttf │ │ │ │ ├── roboto-slab-v7-regular.woff │ │ │ │ └── roboto-slab-v7-regular.woff2 │ │ ├── jquery.js │ │ ├── js │ │ │ ├── badge_only.js │ │ │ ├── theme.js │ │ │ └── versions.js │ │ ├── language_data.js │ │ ├── minus.png │ │ ├── plus.png │ │ ├── pygments.css │ │ ├── searchtools.js │ │ └── sphinx_highlight.js │ │ ├── genindex.html │ │ ├── index.html │ │ ├── objects.inv │ │ ├── py-modindex.html │ │ ├── search.html │ │ └── searchindex.js ├── make.bat ├── modules.rst ├── requirements.txt ├── source │ ├── BinaryOptionsTools.bot.rst │ ├── BinaryOptionsTools.bot.signals.rst │ ├── BinaryOptionsTools.indicators.rst │ ├── BinaryOptionsTools.platforms.pocketoption.login.rst │ ├── BinaryOptionsTools.platforms.pocketoption.login.test.rst │ ├── BinaryOptionsTools.platforms.pocketoption.rst │ ├── BinaryOptionsTools.platforms.pocketoption.test.rst │ ├── BinaryOptionsTools.platforms.pocketoption.ws.channels.rst │ ├── BinaryOptionsTools.platforms.pocketoption.ws.objects.rst │ ├── BinaryOptionsTools.platforms.pocketoption.ws.rst │ ├── BinaryOptionsTools.platforms.rst │ ├── BinaryOptionsTools.research.rst │ ├── BinaryOptionsTools.research.tests.rst │ ├── BinaryOptionsTools.rst │ ├── conf.py │ └── index.rst └── test_csv1__wdwd_.csv ├── examples ├── minimal.py ├── sma-crossoverbot.py ├── telegram_bot.zip └── telegram_bot │ ├── .env │ ├── server.py │ └── telegram-bot.py ├── getdatatest.py ├── history-AUDJPY_otc.csv ├── history-AUDNZD_otc.csv ├── history-EURUSD_otc.csv ├── make.bat ├── pyproject.toml ├── requirements.txt ├── setup.cfg ├── setup.py ├── test.py ├── test1.ipynb ├── test2.ipynb ├── test2.py ├── tools └── pocketoption-debugger.js └── trend.pth /.depricated-readthedocs.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | # List of output formats (optional) 4 | formats: 5 | - pdf 6 | - epub 7 | - htmlzip 8 | 9 | # Python settings 10 | python: 11 | version: "3.10" # Specify Python version as a string 12 | install: 13 | - method: pip 14 | path: . 15 | 16 | # Enable Sphinx build - test1 17 | sphinx: 18 | configuration: docs/source/conf.py 19 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/worflows/workflow.yml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | env 2 | dhajwd.log 3 | docker-compose.yml 4 | efs.py 5 | fesfs.py 6 | wupwup.py 7 | data 8 | .venv 9 | C:\Users\Vigo\BinaryOptionsTools-2\BinaryOptionstools.egg-info 10 | dist 11 | BinaryOptionstools.egg-info -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | 3 | build: 4 | os: "ubuntu-22.04" 5 | tools: 6 | python: "3.10" 7 | 8 | python: 9 | install: 10 | - requirements: docs/requirements.txt 11 | 12 | sphinx: 13 | configuration: docs/source/conf.py 14 | -------------------------------------------------------------------------------- /BinaryOptionsTools/__init__.py: -------------------------------------------------------------------------------- 1 | # Made by © Vigo Walker and © Alenxendre Portner at Chipa 2 | 3 | # Pocket Option 4 | from BinaryOptionsTools.platforms.pocketoption.stable_api import PocketOption 5 | import time 6 | #--------------------- Pocket Option Wrapper ---------------------# 7 | class pocketoption: 8 | def __init__(self, ssid: str, demo: bool = True) -> None: 9 | self.ssid = ssid 10 | self.api = PocketOption(ssid, demo) 11 | self.api.connect() 12 | print("Connecting...") 13 | time.sleep(10) 14 | def GetBalance(self) -> int | float: 15 | data = self.api.get_balance() 16 | return data 17 | def Reconnect(self, retries: int = 1) -> bool: 18 | for i in range(1, retries): 19 | self.api.connect() 20 | print("Connecting...") 21 | time.sleep(5) 22 | if self.api.check_connect(): 23 | return True 24 | elif self.api.check_connect() is False: 25 | return False 26 | return None 27 | def Call(self, amount: int = 1, active: str = "EURUSD_otc", expiration: int = 60, add_check_win: bool = False): 28 | if add_check_win: 29 | ido = self.api.buy(amount, active, "call", expiration)[1] 30 | print(ido) 31 | data = self.api.check_win(ido) 32 | return data 33 | elif add_check_win is False: 34 | ido = self.api.buy(amount, active, "call", expiration) 35 | return ido 36 | return None 37 | def Put(self, amount: int = 1, active: str = "EURUSD_otc", expiration: int = 60, add_check_win: bool = False): 38 | if add_check_win: 39 | ido = self.api.buy(amount, active, "put", expiration) 40 | data = self.api.check_win(ido) 41 | return data 42 | elif add_check_win is False: 43 | ido = self.api.buy(amount, active, "put", expiration) 44 | return ido 45 | return None 46 | def GetCandles(self, active, period, start_time=None, count=6000, count_request=1): 47 | data = self.api.get_candles(active, period, start_time, count, count_request) 48 | return data 49 | def CheckWin(self, id): 50 | data = self.api.check_win(id) 51 | return data 52 | 53 | def GetPayout(self, pair): 54 | return self.api.GetPayout(pair) -------------------------------------------------------------------------------- /BinaryOptionsTools/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/__pycache__/__init__.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/__pycache__/__init__.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/api.py -------------------------------------------------------------------------------- /BinaryOptionsTools/bot/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/bot/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/bot/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/bot/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/bot/__pycache__/__init__.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/bot/__pycache__/__init__.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/bot/base.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | 3 | class BaseBot: 4 | def __init__(self): 5 | pass 6 | 7 | def get_data(self, timestamp: int) -> pd.DataFrame: 8 | pass 9 | 10 | def predict_trade(self, data: pd.DataFrame) -> String: 11 | pass -------------------------------------------------------------------------------- /BinaryOptionsTools/bot/signals/__init__.py: -------------------------------------------------------------------------------- 1 | from BinaryOptionsTools.indicators.trend import sma 2 | 3 | class StreamSignals: 4 | def __init__(self) -> None: 5 | pass 6 | def sma(self, period): 7 | pass 8 | 9 | class signals: 10 | def __init__(self) -> None: 11 | pass 12 | def sma_cross_over(self, api, FAST_SMA_PERIOD: int = 9, SLOW_SMA_PERIOD: int = 14, timeframe: int = 60, ticker: str = "EURUSD_otc"): 13 | fast_sma = sma(api, timeframe, ticker, FAST_SMA_PERIOD) 14 | slow_sma = sma(api, timeframe, ticker, SLOW_SMA_PERIOD) 15 | 16 | if fast_sma["latest"] > slow_sma["latest"]: 17 | return "Bullish" 18 | elif fast_sma["latest"] < slow_sma["latest"]: 19 | return "Bearish" 20 | else: 21 | return "No trend" 22 | -------------------------------------------------------------------------------- /BinaryOptionsTools/bot/signals/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/bot/signals/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/bot/signals/__pycache__/__init__.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/bot/signals/__pycache__/__init__.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/indicators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/indicators/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/indicators/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/indicators/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/indicators/__pycache__/__init__.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/indicators/__pycache__/__init__.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/indicators/__pycache__/momentum.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/indicators/__pycache__/momentum.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/indicators/__pycache__/momentum.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/indicators/__pycache__/momentum.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/indicators/__pycache__/trend.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/indicators/__pycache__/trend.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/indicators/__pycache__/trend.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/indicators/__pycache__/trend.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/indicators/momentum.py: -------------------------------------------------------------------------------- 1 | from ta.momentum import RSIIndicator 2 | import pandas as pd 3 | import time 4 | 5 | def _fetch_candles(api, active, period, num_candles): 6 | try: 7 | candles_df = api.GetCandles(active, period) 8 | candles_df['volume'] = 0 9 | 10 | if len(candles_df) > num_candles: 11 | candles_df = candles_df.iloc[-num_candles:] 12 | 13 | required_columns = ['time', 'open', 'high', 'low', 'close'] 14 | if not all(col in candles_df.columns for col in required_columns): 15 | raise ValueError("Missing required columns in candle data.") 16 | 17 | candles_df.ffill(inplace=True) 18 | candles_df['time'] = pd.to_datetime(candles_df['time'], unit='s') 19 | 20 | return candles_df 21 | 22 | except Exception as e: 23 | print(f"Error fetching candles: {e}") 24 | time.sleep(5) 25 | return pd.DataFrame() 26 | 27 | def rsi(api, timeframe: int = 60, ticker: str = "EURUSD_otc", rsi_period: int = 14): 28 | close = _fetch_candles(api=api, active=ticker, period=timeframe, num_candles=420) 29 | rsi_data = RSIIndicator(close=close["close"], window=rsi_period, fillna=True).rsi() 30 | return { 31 | "rsi_values" : rsi_data, 32 | "latest" : rsi_data.iloc[-1] 33 | } 34 | -------------------------------------------------------------------------------- /BinaryOptionsTools/indicators/trend.py: -------------------------------------------------------------------------------- 1 | from ta.trend import SMAIndicator 2 | import pandas as pd 3 | import time 4 | 5 | def _fetch_candles(api, active, period, num_candles): 6 | try: 7 | candles_df = api.GetCandles(active, period) 8 | candles_df['volume'] = 0 9 | 10 | if len(candles_df) > num_candles: 11 | candles_df = candles_df.iloc[-num_candles:] 12 | 13 | required_columns = ['time', 'open', 'high', 'low', 'close'] 14 | if not all(col in candles_df.columns for col in required_columns): 15 | raise ValueError("Missing required columns in candle data.") 16 | 17 | candles_df.ffill(inplace=True) 18 | candles_df['time'] = pd.to_datetime(candles_df['time'], unit='s') 19 | 20 | return candles_df 21 | 22 | except Exception as e: 23 | print(f"Error fetching candles: {e}") 24 | time.sleep(5) 25 | return pd.DataFrame() 26 | 27 | def sma(api, timeframe: int = 60, ticker: str = "EURUSD_otc", sma_period: int = 14): 28 | close = _fetch_candles(api=api, active=ticker, period=timeframe, num_candles=420) 29 | rsi_data = SMAIndicator(close=close["close"], window=sma_period, fillna=True).sma_indicator() 30 | return { 31 | "SMA_VALUES" : rsi_data, 32 | "latest" : rsi_data.iloc[-1] 33 | } 34 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/__pycache__/__init__.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/__pycache__/__init__.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/api.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/constants.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/expiration.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/global_value.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/pocket.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/pocket.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/pocket.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/pocket.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/__pycache__/stable_api.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/candles.json: -------------------------------------------------------------------------------- 1 | { 2 | "asset": "AUDNZD_otc", 3 | "index": 171201484810, 4 | "data": 5 | [ 6 | { 7 | "symbol_id": 70, 8 | "time": 1712002800, 9 | "open": 1.08567, 10 | "close": 1.08553, 11 | "high": 1.08586, 12 | "low": 1.08475, 13 | "asset": "AUDNZD_otc" 14 | } 15 | ], 16 | "period": 60 17 | } 18 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/expiration.py: -------------------------------------------------------------------------------- 1 | import time 2 | from datetime import datetime, timedelta 3 | 4 | # https://docs.python.org/3/library/datetime.html If optional argument tz is None or not specified, the timestamp is 5 | # converted to the platform's local date and time, and the returned datetime object is naive. time.mktime( 6 | # dt.timetuple()) 7 | 8 | def date_to_timestamp(date): 9 | """Convierte un objeto datetime a timestamp.""" 10 | return int(date.timestamp()) 11 | 12 | 13 | def get_expiration_time(timestamp, duration): 14 | """ 15 | Calcula el tiempo de expiración más cercano basado en un timestamp dado y una duración. 16 | El tiempo de expiración siempre terminará en el segundo:30 del minuto. 17 | 18 | :param timestamp: El timestamp inicial para el cálculo. 19 | :param duration: La duración deseada en minutos. 20 | """ 21 | # Convertir el timestamp dado a un objeto datetime 22 | now_date = datetime.fromtimestamp(timestamp) 23 | 24 | # Ajustar los segundos a: 30 si no lo están ya, de lo contrario, pasar al siguiente: 30 25 | if now_date.second < 30: 26 | exp_date = now_date.replace(second=30, microsecond=0) 27 | else: 28 | exp_date = (now_date + timedelta(minutes=1)).replace(second=30, microsecond=0) 29 | 30 | # Calcular el tiempo de expiración teniendo en cuenta la duración 31 | if duration > 1: 32 | # Si la duración es más de un minuto, calcular el tiempo final agregando la duración 33 | # menos un minuto, ya que ya hemos ajustado para terminar en: 30 segundos. 34 | exp_date += timedelta(minutes=duration - 1) 35 | 36 | # Sumar dos horas al tiempo de expiración 37 | exp_date += timedelta(hours=2) 38 | # Convertir el tiempo de expiración a timestamp 39 | expiration_timestamp = date_to_timestamp(exp_date) 40 | 41 | return expiration_timestamp 42 | 43 | 44 | def get_remaning_time(timestamp): 45 | now_date = datetime.fromtimestamp(timestamp) 46 | exp_date = now_date.replace(second=0, microsecond=0) 47 | if (int(date_to_timestamp(exp_date+timedelta(minutes=1)))-timestamp) > 30: 48 | exp_date = exp_date+timedelta(minutes=1) 49 | 50 | else: 51 | exp_date = exp_date+timedelta(minutes=2) 52 | exp = [] 53 | for _ in range(5): 54 | exp.append(date_to_timestamp(exp_date)) 55 | exp_date = exp_date+timedelta(minutes=1) 56 | idx = 11 57 | index = 0 58 | now_date = datetime.fromtimestamp(timestamp) 59 | exp_date = now_date.replace(second=0, microsecond=0) 60 | while index < idx: 61 | if int(exp_date.strftime("%M")) % 15 == 0 and (int(date_to_timestamp(exp_date))-int(timestamp)) > 60*5: 62 | exp.append(date_to_timestamp(exp_date)) 63 | index = index+1 64 | exp_date = exp_date+timedelta(minutes=1) 65 | 66 | remaning = [] 67 | 68 | for idx, t in enumerate(exp): 69 | if idx >= 5: 70 | dr = 15*(idx-4) 71 | else: 72 | dr = idx+1 73 | remaning.append((dr, int(t)-int(time.time()))) 74 | 75 | return remaning -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/global_value.py: -------------------------------------------------------------------------------- 1 | # python 2 | websocket_is_connected = False 3 | # try fix ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2361) 4 | ssl_Mutual_exclusion = False # mutex read write 5 | # if false websocket can sent self.websocket.send(data) 6 | # else can not sent self.websocket.send(data) 7 | ssl_Mutual_exclusion_write = False # if thread write 8 | 9 | SSID = None 10 | 11 | check_websocket_if_error = False 12 | websocket_error_reason = None 13 | 14 | balance_id = None 15 | balance = None 16 | balance_type = None 17 | balance_updated = None 18 | result = None 19 | order_data = {} 20 | order_open = [] 21 | order_closed = [] 22 | stat = [] 23 | DEMO = None 24 | IS_DEMO = True 25 | 26 | # To get the payout data for the diferent pairs 27 | PayoutData = None -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/login/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/login/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/login/test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/login/test/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/login/test/login.py: -------------------------------------------------------------------------------- 1 | from selenium import webdriver 2 | from selenium.webdriver.common.by import By 3 | from selenium.webdriver.common.action_chains import ActionChains 4 | from selenium.webdriver.support import expected_conditions 5 | from selenium.webdriver.support.wait import WebDriverWait 6 | from selenium.webdriver.common.keys import Keys 7 | from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 8 | import urllib.parse 9 | from selenium_recaptcha_solver import RecaptchaSolver 10 | from webdriver_manager.chrome import ChromeDriverManager 11 | import time 12 | 13 | 14 | def GetSSID(email, password): 15 | driver = webdriver.Chrome(ChromeDriverManager().install()) 16 | solver = RecaptchaSolver(driver=driver) 17 | driver.get("https://po.trade/login") # https://po.trade/login 18 | driver.set_window_size(550, 691) 19 | driver.find_element(By.NAME, "email").click() 20 | driver.find_element(By.NAME, "email").send_keys(email) # email@mail.com 21 | driver.find_element(By.NAME, "password").click() 22 | driver.find_element(By.NAME, "password").send_keys(password) # password 23 | driver.find_element(By.XPATH, "/html/body/div[2]/div[2]/div/div/div/div[2]/form/div[4]/button").click() 24 | recaptcha_iframe = driver.find_element(By.XPATH, '//iframe[@title="reCAPTCHA"]') 25 | try: 26 | solver.click_recaptcha_v2(iframe=recaptcha_iframe) 27 | driver.find_element(By.XPATH, "/html/body/div[2]/div[2]/div/div/div/div[2]/form/div[4]/button").click() 28 | except: 29 | print("Cloud not solve captcha, please solve it and then press enter") 30 | input() 31 | WebDriverWait(driver, 30).until( 32 | expected_conditions.presence_of_element_located((By.CSS_SELECTOR, ".layer")) 33 | ) 34 | # For demo: 35 | driver.get( 36 | "https://po.trade/cabinet/demo-quick-high-low/" 37 | ) # https://po.trade/cabinet/demo-quick-high-low/ 38 | WebDriverWait(driver, 30).until( 39 | expected_conditions.presence_of_element_located((By.CSS_SELECTOR, ".layer")) 40 | ) 41 | cookies = driver.get_cookies() 42 | session_token = [x["value"] for x in cookies if x["name"] == "ci_session"][0] 43 | decoded_string = urllib.parse.unquote(session_token) 44 | session = '42["auth", {"session": "' + decoded_string + '"}]' 45 | print(session) 46 | 47 | driver.quit() 48 | return session 49 | 50 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/test/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/test/webdrivertest.py: -------------------------------------------------------------------------------- 1 | from webdriver_manager.chrome import ChromeDriverManager 2 | from selenium import webdriver 3 | 4 | class WebdriverTest: 5 | def __init__(self) -> None: 6 | self.driver = webdriver.Chrome(ChromeDriverManager().install()) 7 | self.url = "https://pocketoption.com" 8 | def connect(self): 9 | sevice = webdriver.ChromeService(executable_path=ChromeDriverManager().install()) 10 | driver = webdriver.Chrome(service=sevice) 11 | driver.get(url=self.url) 12 | 13 | # Example usage 14 | wt = WebdriverTest() 15 | wt.connect() -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/__init__.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/__init__.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/__pycache__/client.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/__init__.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/__init__.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/base.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/buyv3.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/candles.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/change_symbol.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/get_balances.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/channels/__pycache__/ssid.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/base.py: -------------------------------------------------------------------------------- 1 | """Module for base Pocket Option base websocket chanel.""" 2 | 3 | 4 | class Base(object): 5 | """Class for base Pocket Option websocket chanel.""" 6 | 7 | # pylint: disable=too-few-public-methods 8 | 9 | def __init__(self, api): 10 | """ 11 | :param api: The instance of :class:`PocketOptionAPI 12 | `. 13 | """ 14 | self.api = api 15 | 16 | def send_websocket_request(self, name, msg, request_id=""): 17 | """Send request to Pocket Option server websocket. 18 | 19 | :param request_id: 20 | :param str name: The websocket chanel name. 21 | :param list msg: The websocket chanel msg. 22 | 23 | :returns: The instance of :class:`requests.Response`. 24 | """ 25 | 26 | return self.api.send_websocket_request(name, msg, request_id) 27 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/buyv3.py: -------------------------------------------------------------------------------- 1 | # import datetime 2 | # import json 3 | # import time 4 | from BinaryOptionsTools.platforms.pocketoption.ws.channels.base import Base 5 | # import logging 6 | # import BinaryOptionsTools.platforms.pocketoption.global_value as global_value 7 | 8 | 9 | class Buyv3(Base): 10 | name = "sendMessage" 11 | 12 | def __call__(self, amount, active, direction, duration, request_id): 13 | 14 | # thank Darth-Carrotpie's code 15 | # https://github.com/Lu-Yi-Hsun/iqoptionapi/issues/6 16 | # exp = get_expiration_time(int(self.api.timesync.server_timestamps), duration) 17 | """if idx < 5: 18 | option = 3 # "turbo" 19 | else: 20 | option = 1 # "binary""" 21 | # Construir el diccionario 22 | data_dict = { 23 | "asset": active, 24 | "amount": amount, 25 | "action": direction, 26 | "isDemo": 1, 27 | "requestId": request_id, 28 | "optionType": 100, 29 | "time": duration 30 | } 31 | 32 | message = ["openOrder", data_dict] 33 | 34 | self.send_websocket_request(self.name, message, str(request_id)) 35 | 36 | 37 | # class Buyv3_by_raw_expired(Base): 38 | # name = "sendMessage" 39 | 40 | # def __call__(self, price, active, direction, option, expired, request_id): 41 | 42 | # # thank Darth-Carrotpie's code 43 | # # https://github.com/Lu-Yi-Hsun/iqoptionapi/issues/6 44 | 45 | # if option == "turbo": 46 | # option_id = 3 # "turbo" 47 | # elif option == "binary": 48 | # option_id = 1 # "binary" 49 | # data = { 50 | # "body": {"price": price, 51 | # "active_id": active, 52 | # "expired": int(expired), 53 | # "direction": direction.lower(), 54 | # "option_type_id": option_id, 55 | # "user_balance_id": int(global_value.balance_id) 56 | # }, 57 | # "name": "binary-options.open-option", 58 | # "version": "1.0" 59 | # } 60 | # self.send_websocket_request(self.name, data, str(request_id)) 61 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/candles.py: -------------------------------------------------------------------------------- 1 | """Module for Pocket option candles websocket chanel.""" 2 | 3 | from BinaryOptionsTools.platforms.pocketoption.ws.channels.base import Base 4 | # import time 5 | import random 6 | import time 7 | 8 | 9 | def index_num(): 10 | # El número mínimo sería 100000000000 (12 dígitos) 11 | minimo = 5000 12 | # El número máximo sería 999999999999 (12 dígitos) 13 | maximo = 10000 - 1 14 | # Generar y retornar un número aleatorio dentro del rango 15 | return random.randint(minimo, maximo) 16 | 17 | 18 | class GetCandles(Base): 19 | """Class for Pocket option candles websocket chanel.""" 20 | # pylint: disable=too-few-public-methods 21 | 22 | name = "sendMessage" 23 | 24 | def __call__(self, active_id, interval, count, end_time): 25 | """Method to send message to candles websocket chanel. 26 | 27 | :param active_id: The active/asset identifier. 28 | :param interval: The candle duration (timeframe for the candles). 29 | :param count: The number of candles you want to have 30 | """ 31 | 32 | # {"asset": "AUDNZD_otc", "index": 171201484810, "time": 1712002800, "offset": 9000, "period": 60}] 33 | rand = str(random.randint(10, 99)) 34 | cu = int(time.time()) 35 | t = str(cu + (2 * 60 * 60)) 36 | index = int(t + rand) 37 | data = { 38 | "asset": str(active_id), 39 | "index": index, 40 | "offset": count, # number of candles 41 | "period": interval, 42 | "time": end_time, # time size sample:if interval set 1 mean get time 0~1 candle 43 | } 44 | 45 | data = ["loadHistoryPeriod", data] 46 | self.send_websocket_request(self.name, data) 47 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/change_symbol.py: -------------------------------------------------------------------------------- 1 | """Module for PocketOption change symbol websocket chanel.""" 2 | 3 | from BinaryOptionsTools.platforms.pocketoption.ws.channels.base import Base 4 | # import time 5 | # import random 6 | 7 | 8 | class ChangeSymbol(Base): 9 | """Class for Pocket option change symbol websocket chanel.""" 10 | # pylint: disable=too-few-public-methods 11 | 12 | name = "sendMessage" 13 | 14 | def __call__(self, active_id, interval): 15 | """Method to send message to candles websocket chanel. 16 | 17 | :param active_id: The active/asset identifier. 18 | :param interval: The candle duration (timeframe for the candles). 19 | """ 20 | 21 | data_stream = ["changeSymbol", { 22 | "asset": active_id, 23 | "period": interval}] 24 | 25 | self.send_websocket_request(self.name, data_stream) 26 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/channels/get_balances.py: -------------------------------------------------------------------------------- 1 | from BinaryOptionsTools.platforms.pocketoption.ws.channels.base import Base 2 | # import time 3 | 4 | 5 | class Get_Balances(Base): 6 | name = "sendMessage" 7 | 8 | def __call__(self): 9 | """ 10 | :param options_ids: list or int 11 | """ 12 | 13 | data = {"name": "get-balances", 14 | "version": "1.0" 15 | } 16 | print("get_balances in get_balances.py") 17 | 18 | self.send_websocket_request(self.name, data) 19 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/__init__.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/__init__.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/base.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/candles.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/time_sync.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-310.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-311.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-312.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-37.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-38.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/platforms/pocketoption/ws/objects/__pycache__/timesync.cpython-39.pyc -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/base.py: -------------------------------------------------------------------------------- 1 | """Module for Pocket Option Base websocket object.""" 2 | 3 | 4 | class Base(object): 5 | """Class for Pocket Option Base websocket object.""" 6 | # pylint: disable=too-few-public-methods 7 | 8 | def __init__(self): 9 | self.__name = None 10 | 11 | @property 12 | def name(self): 13 | """Property to get websocket object name. 14 | 15 | :returns: The name of websocket object. 16 | """ 17 | return self.__name 18 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/candles.py: -------------------------------------------------------------------------------- 1 | """Module for Pocket Option Candles websocket object.""" 2 | 3 | from BinaryOptionsTools.platforms.pocketoption.ws.objects.base import Base 4 | 5 | 6 | class Candle(object): 7 | """Class for Pocket Option candle.""" 8 | 9 | def __init__(self, candle_data): 10 | """ 11 | :param candle_data: The list of candles data. 12 | """ 13 | self.__candle_data = candle_data 14 | 15 | @property 16 | def candle_time(self): 17 | """Property to get candle time. 18 | 19 | :returns: The candle time. 20 | """ 21 | return self.__candle_data[0] 22 | 23 | @property 24 | def candle_open(self): 25 | """Property to get candle open value. 26 | 27 | :returns: The candle open value. 28 | """ 29 | return self.__candle_data[1] 30 | 31 | @property 32 | def candle_close(self): 33 | """Property to get candle close value. 34 | 35 | :returns: The candle close value. 36 | """ 37 | return self.__candle_data[2] 38 | 39 | @property 40 | def candle_high(self): 41 | """Property to get candle high value. 42 | 43 | :returns: The candle high value. 44 | """ 45 | return self.__candle_data[3] 46 | 47 | @property 48 | def candle_low(self): 49 | """Property to get candle low value. 50 | 51 | :returns: The candle low value. 52 | """ 53 | return self.__candle_data[4] 54 | 55 | @property 56 | def candle_type(self): # pylint: disable=inconsistent-return-statements 57 | """Property to get candle type value. 58 | 59 | :returns: The candle type value. 60 | """ 61 | if self.candle_open < self.candle_close: 62 | return "green" 63 | elif self.candle_open > self.candle_close: 64 | return "red" 65 | 66 | 67 | class Candles(Base): 68 | """Class for Pocket Option Candles websocket object.""" 69 | 70 | def __init__(self): 71 | super(Candles, self).__init__() 72 | self.__name = "candles" 73 | self.__candles_data = None 74 | 75 | @property 76 | def candles_data(self): 77 | """Property to get candles data. 78 | 79 | :returns: The list of candles data. 80 | """ 81 | return self.__candles_data 82 | 83 | @candles_data.setter 84 | def candles_data(self, candles_data): 85 | """Method to set candles data.""" 86 | self.__candles_data = candles_data 87 | 88 | @property 89 | def first_candle(self): 90 | """Method to get first candle. 91 | 92 | :returns: The instance of :class:`Candle 93 | `. 94 | """ 95 | return Candle(self.candles_data[0]) 96 | 97 | @property 98 | def second_candle(self): 99 | """Method to get second candle. 100 | 101 | :returns: The instance of :class:`Candle 102 | `. 103 | """ 104 | return Candle(self.candles_data[1]) 105 | 106 | @property 107 | def current_candle(self): 108 | """Method to get current candle. 109 | 110 | :returns: The instance of :class:`Candle 111 | `. 112 | """ 113 | return Candle(self.candles_data[-1]) 114 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/time_sync.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import time 3 | from datetime import datetime, timedelta, timezone 4 | 5 | 6 | class TimeSynchronizer: 7 | def __init__(self): 8 | self.server_time_reference = None 9 | self.local_time_reference = None 10 | self.timezone_offset = timedelta(seconds=self._get_local_timezone_offset()) 11 | 12 | @staticmethod 13 | def _get_local_timezone_offset(): 14 | """ 15 | Obtiene el desplazamiento de la zona horaria local en segundos. 16 | 17 | :return: Desplazamiento de la zona horaria local en segundos. 18 | """ 19 | local_time = datetime.now() 20 | utc_time = datetime.utcnow() 21 | offset = (local_time - utc_time).total_seconds() 22 | return offset 23 | 24 | def synchronize(self, server_time): 25 | """ 26 | Sincroniza el tiempo local con el tiempo del servidor. 27 | 28 | :param server_time: Tiempo del servidor en segundos (puede ser un timestamp). 29 | """ 30 | 31 | self.server_time_reference = server_time 32 | self.local_time_reference = time.time() 33 | 34 | def get_synced_time(self): 35 | """ 36 | Obtiene el tiempo sincronizado basado en el tiempo actual del sistema. 37 | 38 | :return: Tiempo sincronizado en segundos. 39 | """ 40 | if self.server_time_reference is None or self.local_time_reference is None: 41 | raise ValueError("El tiempo no ha sido sincronizado aún.") 42 | 43 | # Calcula la diferencia de tiempo desde la última sincronización 44 | elapsed_time = time.time() - self.local_time_reference 45 | # Calcula el tiempo sincronizado 46 | synced_time = self.server_time_reference + elapsed_time 47 | return synced_time 48 | 49 | def get_synced_datetime(self): 50 | """ 51 | Convierte el tiempo sincronizado a un objeto datetime ajustado a la zona horaria local. 52 | 53 | :return: Tiempo sincronizado como un objeto datetime. 54 | """ 55 | synced_time_seconds = self.get_synced_time() 56 | # Redondear los segundos 57 | rounded_time_seconds = round(synced_time_seconds) 58 | # Convertir a datetime en UTC 59 | synced_datetime_utc = datetime.fromtimestamp(rounded_time_seconds, tz=timezone.utc) 60 | # Ajustar el tiempo sincronizado a la zona horaria local 61 | synced_datetime_local = synced_datetime_utc + self.timezone_offset 62 | return synced_datetime_local 63 | 64 | def update_sync(self, new_server_time): 65 | """ 66 | Actualiza la sincronización con un nuevo tiempo del servidor. 67 | 68 | :param new_server_time: Nuevo tiempo del servidor en segundos. 69 | """ 70 | self.synchronize(new_server_time) 71 | -------------------------------------------------------------------------------- /BinaryOptionsTools/platforms/pocketoption/ws/objects/timesync.py: -------------------------------------------------------------------------------- 1 | """Module for Pocket Option TimeSync websocket object.""" 2 | 3 | import time 4 | import datetime 5 | 6 | from BinaryOptionsTools.platforms.pocketoption.ws.objects.base import Base 7 | 8 | 9 | class TimeSync(Base): 10 | """Class for Pocket Option TimeSync websocket object.""" 11 | 12 | def __init__(self): 13 | super(TimeSync, self).__init__() 14 | self.__name = "timeSync" 15 | self.__server_timestamp = time.time() 16 | self.__expiration_time = 1 17 | 18 | @property 19 | def server_timestamp(self): 20 | """Property to get server timestamp. 21 | 22 | :returns: The server timestamp. 23 | """ 24 | return self.__server_timestamp 25 | 26 | @server_timestamp.setter 27 | def server_timestamp(self, timestamp): 28 | """Method to set server timestamp.""" 29 | self.__server_timestamp = timestamp 30 | 31 | @property 32 | def server_datetime(self): 33 | """Property to get server datetime. 34 | 35 | :returns: The server datetime. 36 | """ 37 | return datetime.datetime.fromtimestamp(self.server_timestamp) 38 | 39 | @property 40 | def expiration_time(self): 41 | """Property to get expiration time. 42 | 43 | :returns: The expiration time. 44 | """ 45 | return self.__expiration_time 46 | 47 | @expiration_time.setter 48 | def expiration_time(self, minutes): 49 | """Method to set expiration time 50 | 51 | :param int minutes: The expiration time in minutes. 52 | """ 53 | self.__expiration_time = minutes 54 | 55 | @property 56 | def expiration_datetime(self): 57 | """Property to get expiration datetime. 58 | 59 | :returns: The expiration datetime. 60 | """ 61 | return self.server_datetime + datetime.timedelta(minutes=self.expiration_time) 62 | 63 | @property 64 | def expiration_timestamp(self): 65 | """Property to get expiration timestamp. 66 | 67 | :returns: The expiration timestamp. 68 | """ 69 | return time.mktime(self.expiration_datetime.timetuple()) 70 | 71 | 72 | -------------------------------------------------------------------------------- /BinaryOptionsTools/research/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/research/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/research/smalowatr.py: -------------------------------------------------------------------------------- 1 | from BinaryOptionsTools import pocketoption 2 | from ta.trend import SMAIndicator 3 | from ta.volatility import AverageTrueRange 4 | import time 5 | # import pandas as pd 6 | 7 | ssid = (r'42["auth",{"session":"vtftn12e6f5f5008moitsd6skl","isDemo":1,"uid":27658142,"platform":2}]') 8 | demo = True 9 | api = pocketoption(ssid, demo) 10 | 11 | while True: 12 | try: 13 | data = api.GetCandles("EURUSD_otc", 1) 14 | sma5 = SMAIndicator(data["close"], 5).sma_indicator() 15 | sma10 = SMAIndicator(data["close"], 10).sma_indicator() 16 | atr = AverageTrueRange(data["high"], data["low"], data["close"], 14).average_true_range() 17 | 18 | print(f"SMA10: {sma10}") 19 | print(f"SMA5: {sma5}") 20 | print(f"ATR: {atr}") 21 | time.sleep(5) 22 | except KeyboardInterrupt: 23 | break -------------------------------------------------------------------------------- /BinaryOptionsTools/research/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/BinaryOptionsTools/research/tests/__init__.py -------------------------------------------------------------------------------- /BinaryOptionsTools/research/tests/csv_tests.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | 3 | test_dataframe = ["win", "win", "win", "win", "win", "win", "win", "loss", "loss", "loss", "loss", "loss"] 4 | 5 | df = pd.DataFrame(data=test_dataframe) 6 | df.columns = ["trade_result"] 7 | print(df) 8 | df.to_csv("test_csv1__wdwd_.csv") -------------------------------------------------------------------------------- /BinaryOptionsTools/research/tests/test_csv1__wdwd_.csv: -------------------------------------------------------------------------------- 1 | ,trade_result 2 | 0,win 3 | 1,win 4 | 2,win 5 | 3,win 6 | 4,win 7 | 5,win 8 | 6,win 9 | 7,loss 10 | 8,loss 11 | 9,loss 12 | 10,loss 13 | 11,loss 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Vigo Walker 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BinaryOptionsTools 2 | 3 | ![CodeRabbit Pull Request Reviews](https://img.shields.io/coderabbit/prs/github/ChipaDevTeam/BinaryOptionsToolsV1?utm_source=oss&utm_medium=github&utm_campaign=ChipaDevTeam%2FBinaryOptionsToolsV1&labelColor=171717&color=FF570A&link=https%3A%2F%2Fcoderabbit.ai&label=CodeRabbit+Reviews) 4 | 5 | **BinaryOptionsTools** is a set of tools designed to make binary options trading easier. It helps with market analysis, strategy creation, and automatic trading. Use these tools to make smarter trading decisions. 6 | 7 | 👉 [Join us on Discord](https://discord.gg/H8er9mbF4V) 8 | 9 | --- 10 | 11 | ## Support us 12 | join PocketOption with our affiliate link: [https://pocket-friends.com/r/u9klnwxgcc](https://pocket-friends.com/r/u9klnwxgcc)
13 | donate in paypal: [Paypal.me](https://paypal.me/ChipaCL?country.x=CL&locale.x=en_US)
14 | help us in patreon: [Patreon](https://patreon.com/VigoDEV?utm_medium=unknown&utm_source=join_link&utm_campaign=creatorshare_creator&utm_content=copyLink)
15 | 16 | ## Features 17 | 18 | - 📊 **Live market data**: Get the latest market updates instantly. 19 | - 🔎 **Analysis tools**: Use built-in indicators to study market trends. 20 | - 🤖 **Strategy tools**: Create, test, and improve your trading strategies. 21 | - 📈 **Automatic trading**: Let the tools trade for you based on your strategies. 22 | 23 | ## Join the Community 24 | 25 | Meet other traders, share ideas, and get updates about new features. 26 | 👉 [Join us on Discord](https://discord.gg/H8er9mbF4V) 27 | 28 | --- 29 | 30 |
31 | How do I set up and start using BinaryOptionsTools? 32 | 33 | ### Prerequisite: Create a Virtual Environment 34 | Setting up a virtual environment helps manage dependencies better: 35 | 36 | #### On Windows: 37 | ```bash 38 | python -m venv env 39 | .\env\Scripts\activate 40 | ``` 41 | 42 | #### On macOS/Linux: 43 | ```bash 44 | python3 -m venv env 45 | source env/bin/activate 46 | ``` 47 | 48 | ### Installation Steps 49 | 1. **Clone the Repository** 50 | ```bash 51 | git clone https://github.com/theshadow76/BinaryOptionsTools.git 52 | ``` 53 | ```bash 54 | cd BinaryOptionsTools 55 | ``` 56 | 57 | 2. **Install Dependencies** 58 | ```bash 59 | pip install . 60 | ``` 61 | 62 | 3. **Run the Application** 63 | ```bash 64 | python setup.py 65 | ``` 66 |
67 | 68 |
69 | What is BinaryOptionsTools? 70 | 71 | BinaryOptionsTools is a collection of tools to help you trade binary options better. It offers live data, analysis tools, strategy development, and automatic trading features. 72 | 73 |
74 | 75 |
76 | How do I install BinaryOptionsTools? 77 | 78 | Follow these steps: 79 | 80 | 1. **Clone the repository:** 81 | ```bash 82 | git clone https://github.com/theshadow76/BinaryOptionsTools.git 83 | ``` 84 | 85 | 2. **Go to the project folder:** 86 | ```bash 87 | cd BinaryOptionsTools 88 | ``` 89 | 90 | 3. **Install required files:** 91 | ```bash 92 | pip install . 93 | ``` 94 | 95 |
96 | 97 |
98 | How can I contribute to BinaryOptionsTools? 99 | 100 | We welcome help from everyone! Whether you find bugs, suggest improvements, or add new features, we encourage you to contribute. 101 | 102 | ### How to Contribute 103 | 1. Fork the project. 104 | 2. Create a new branch for your changes. 105 | 3. Write clear and detailed commit messages. 106 | 4. Open a pull request and explain your changes. 107 | 108 |
109 | 110 |
111 | How do I retrieve the authentication key for Pocket Option? 112 | 113 | Follow these steps to get your auth key from Pocket Option: 114 | 115 | 1. **Go to Pocket Option Website** 116 | Open [Pocket Option](https://pocketoption.com/en/cabinet/) in your browser. 117 | 118 | 2. **Open Developer Tools** 119 | Press `CTRL + Shift + I` to open Developer Tools. Then, go to the **Network** tab. 120 | 121 | 3. **Refresh the Network Activity** 122 | Press `CTRL + R` to refresh and see new network activity. 123 | 124 | 4. **Find WebSocket Activity** 125 | Click on **WS** (WebSocket) in the **Network** tab. 126 | 127 | 5. **Locate the Auth Key** 128 | Click on the last WebSocket line under **WS**, then go to **Messages** on the right panel. Look for `auth`. Right-click the WebSocket line and select **Copy Message** to save the auth key. 129 | 130 |
131 | 132 | --- 133 | -------------------------------------------------------------------------------- /binary_options_model.pth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/binary_options_model.pth -------------------------------------------------------------------------------- /binary_options_model2.pth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/binary_options_model2.pth -------------------------------------------------------------------------------- /binary_options_model_retrained.pth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/binary_options_model_retrained.pth -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/__init__.py: -------------------------------------------------------------------------------- 1 | # Made by © Vigo Walker and © Alenxendre Portner at Chipa 2 | 3 | # Pocket Option 4 | from BinaryOptionsTools.platforms.pocketoption.stable_api import PocketOption 5 | import time 6 | #--------------------- Pocket Option Wrapper ---------------------# 7 | class pocketoption: 8 | def __init__(self, ssid: str, demo: bool = True) -> None: 9 | self.ssid = ssid 10 | self.api = PocketOption(ssid, demo) 11 | self.api.connect() 12 | print("Connecting...") 13 | time.sleep(10) 14 | def GetBalance(self) -> int | float: 15 | data = self.api.get_balance() 16 | return data 17 | def Reconnect(self, retries: int = 1) -> bool: 18 | for i in range(1, retries): 19 | self.api.connect() 20 | print("Connecting...") 21 | time.sleep(5) 22 | if self.api.check_connect(): 23 | return True 24 | elif self.api.check_connect() is False: 25 | return False 26 | return None 27 | def Call(self, amount: int = 1, active: str = "EURUSD_otc", expiration: int = 60, add_check_win: bool = False): 28 | if add_check_win: 29 | ido = self.api.buy(amount, active, "call", expiration)[1] 30 | print(ido) 31 | data = self.api.check_win(ido) 32 | return data 33 | elif add_check_win is False: 34 | ido = self.api.buy(amount, active, "call", expiration) 35 | return ido 36 | return None 37 | def Put(self, amount: int = 1, active: str = "EURUSD_otc", expiration: int = 60, add_check_win: bool = False): 38 | if add_check_win: 39 | ido = self.api.buy(amount, active, "put", expiration) 40 | data = self.api.check_win(ido) 41 | return data 42 | elif add_check_win is False: 43 | ido = self.api.buy(amount, active, "put", expiration) 44 | return ido 45 | return None 46 | def GetCandles(self, active, period, start_time=None, count=6000, count_request=1): 47 | data = self.api.get_candles(active, period, start_time, count, count_request) 48 | return data 49 | def CheckWin(self, id): 50 | data = self.api.check_win(id) 51 | return data 52 | 53 | def GetPayout(self, pair): 54 | return self.api.GetPayout(pair) -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/api.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/bot/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/bot/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/bot/base.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | 3 | class BaseBot: 4 | def __init__(self): 5 | pass 6 | 7 | def get_data(self, timestamp: int) -> pd.DataFrame: 8 | pass 9 | 10 | def predict_trade(self, data: pd.DataFrame) -> String: 11 | pass -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/bot/signals/__init__.py: -------------------------------------------------------------------------------- 1 | from BinaryOptionsTools.indicators.trend import sma 2 | 3 | class StreamSignals: 4 | def __init__(self) -> None: 5 | pass 6 | def sma(self, period): 7 | pass 8 | 9 | class signals: 10 | def __init__(self) -> None: 11 | pass 12 | def sma_cross_over(self, api, FAST_SMA_PERIOD: int = 9, SLOW_SMA_PERIOD: int = 14, timeframe: int = 60, ticker: str = "EURUSD_otc"): 13 | fast_sma = sma(api, timeframe, ticker, FAST_SMA_PERIOD) 14 | slow_sma = sma(api, timeframe, ticker, SLOW_SMA_PERIOD) 15 | 16 | if fast_sma["latest"] > slow_sma["latest"]: 17 | return "Bullish" 18 | elif fast_sma["latest"] < slow_sma["latest"]: 19 | return "Bearish" 20 | else: 21 | return "No trend" 22 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/indicators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/indicators/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/indicators/momentum.py: -------------------------------------------------------------------------------- 1 | from ta.momentum import RSIIndicator 2 | import pandas as pd 3 | import time 4 | 5 | def _fetch_candles(api, active, period, num_candles): 6 | try: 7 | candles_df = api.GetCandles(active, period) 8 | candles_df['volume'] = 0 9 | 10 | if len(candles_df) > num_candles: 11 | candles_df = candles_df.iloc[-num_candles:] 12 | 13 | required_columns = ['time', 'open', 'high', 'low', 'close'] 14 | if not all(col in candles_df.columns for col in required_columns): 15 | raise ValueError("Missing required columns in candle data.") 16 | 17 | candles_df.ffill(inplace=True) 18 | candles_df['time'] = pd.to_datetime(candles_df['time'], unit='s') 19 | 20 | return candles_df 21 | 22 | except Exception as e: 23 | print(f"Error fetching candles: {e}") 24 | time.sleep(5) 25 | return pd.DataFrame() 26 | 27 | def rsi(api, timeframe: int = 60, ticker: str = "EURUSD_otc", rsi_period: int = 14): 28 | close = _fetch_candles(api=api, active=ticker, period=timeframe, num_candles=420) 29 | rsi_data = RSIIndicator(close=close["close"], window=rsi_period, fillna=True).rsi() 30 | return { 31 | "rsi_values" : rsi_data, 32 | "latest" : rsi_data.iloc[-1] 33 | } 34 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/indicators/trend.py: -------------------------------------------------------------------------------- 1 | from ta.trend import SMAIndicator 2 | import pandas as pd 3 | import time 4 | 5 | def _fetch_candles(api, active, period, num_candles): 6 | try: 7 | candles_df = api.GetCandles(active, period) 8 | candles_df['volume'] = 0 9 | 10 | if len(candles_df) > num_candles: 11 | candles_df = candles_df.iloc[-num_candles:] 12 | 13 | required_columns = ['time', 'open', 'high', 'low', 'close'] 14 | if not all(col in candles_df.columns for col in required_columns): 15 | raise ValueError("Missing required columns in candle data.") 16 | 17 | candles_df.ffill(inplace=True) 18 | candles_df['time'] = pd.to_datetime(candles_df['time'], unit='s') 19 | 20 | return candles_df 21 | 22 | except Exception as e: 23 | print(f"Error fetching candles: {e}") 24 | time.sleep(5) 25 | return pd.DataFrame() 26 | 27 | def sma(api, timeframe: int = 60, ticker: str = "EURUSD_otc", sma_period: int = 14): 28 | close = _fetch_candles(api=api, active=ticker, period=timeframe, num_candles=420) 29 | rsi_data = SMAIndicator(close=close["close"], window=sma_period, fillna=True).sma_indicator() 30 | return { 31 | "SMA_VALUES" : rsi_data, 32 | "latest" : rsi_data.iloc[-1] 33 | } 34 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/platforms/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/platforms/pocketoption/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/expiration.py: -------------------------------------------------------------------------------- 1 | import time 2 | from datetime import datetime, timedelta 3 | 4 | # https://docs.python.org/3/library/datetime.html If optional argument tz is None or not specified, the timestamp is 5 | # converted to the platform's local date and time, and the returned datetime object is naive. time.mktime( 6 | # dt.timetuple()) 7 | 8 | def date_to_timestamp(date): 9 | """Convierte un objeto datetime a timestamp.""" 10 | return int(date.timestamp()) 11 | 12 | 13 | def get_expiration_time(timestamp, duration): 14 | """ 15 | Calcula el tiempo de expiración más cercano basado en un timestamp dado y una duración. 16 | El tiempo de expiración siempre terminará en el segundo:30 del minuto. 17 | 18 | :param timestamp: El timestamp inicial para el cálculo. 19 | :param duration: La duración deseada en minutos. 20 | """ 21 | # Convertir el timestamp dado a un objeto datetime 22 | now_date = datetime.fromtimestamp(timestamp) 23 | 24 | # Ajustar los segundos a: 30 si no lo están ya, de lo contrario, pasar al siguiente: 30 25 | if now_date.second < 30: 26 | exp_date = now_date.replace(second=30, microsecond=0) 27 | else: 28 | exp_date = (now_date + timedelta(minutes=1)).replace(second=30, microsecond=0) 29 | 30 | # Calcular el tiempo de expiración teniendo en cuenta la duración 31 | if duration > 1: 32 | # Si la duración es más de un minuto, calcular el tiempo final agregando la duración 33 | # menos un minuto, ya que ya hemos ajustado para terminar en: 30 segundos. 34 | exp_date += timedelta(minutes=duration - 1) 35 | 36 | # Sumar dos horas al tiempo de expiración 37 | exp_date += timedelta(hours=2) 38 | # Convertir el tiempo de expiración a timestamp 39 | expiration_timestamp = date_to_timestamp(exp_date) 40 | 41 | return expiration_timestamp 42 | 43 | 44 | def get_remaning_time(timestamp): 45 | now_date = datetime.fromtimestamp(timestamp) 46 | exp_date = now_date.replace(second=0, microsecond=0) 47 | if (int(date_to_timestamp(exp_date+timedelta(minutes=1)))-timestamp) > 30: 48 | exp_date = exp_date+timedelta(minutes=1) 49 | 50 | else: 51 | exp_date = exp_date+timedelta(minutes=2) 52 | exp = [] 53 | for _ in range(5): 54 | exp.append(date_to_timestamp(exp_date)) 55 | exp_date = exp_date+timedelta(minutes=1) 56 | idx = 11 57 | index = 0 58 | now_date = datetime.fromtimestamp(timestamp) 59 | exp_date = now_date.replace(second=0, microsecond=0) 60 | while index < idx: 61 | if int(exp_date.strftime("%M")) % 15 == 0 and (int(date_to_timestamp(exp_date))-int(timestamp)) > 60*5: 62 | exp.append(date_to_timestamp(exp_date)) 63 | index = index+1 64 | exp_date = exp_date+timedelta(minutes=1) 65 | 66 | remaning = [] 67 | 68 | for idx, t in enumerate(exp): 69 | if idx >= 5: 70 | dr = 15*(idx-4) 71 | else: 72 | dr = idx+1 73 | remaning.append((dr, int(t)-int(time.time()))) 74 | 75 | return remaning -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/global_value.py: -------------------------------------------------------------------------------- 1 | # python 2 | websocket_is_connected = False 3 | # try fix ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:2361) 4 | ssl_Mutual_exclusion = False # mutex read write 5 | # if false websocket can sent self.websocket.send(data) 6 | # else can not sent self.websocket.send(data) 7 | ssl_Mutual_exclusion_write = False # if thread write 8 | 9 | SSID = None 10 | 11 | check_websocket_if_error = False 12 | websocket_error_reason = None 13 | 14 | balance_id = None 15 | balance = None 16 | balance_type = None 17 | balance_updated = None 18 | result = None 19 | order_data = {} 20 | order_open = [] 21 | order_closed = [] 22 | stat = [] 23 | DEMO = None 24 | IS_DEMO = True 25 | 26 | # To get the payout data for the diferent pairs 27 | PayoutData = None -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/login/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/platforms/pocketoption/login/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/login/test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/platforms/pocketoption/login/test/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/login/test/login.py: -------------------------------------------------------------------------------- 1 | from selenium import webdriver 2 | from selenium.webdriver.common.by import By 3 | from selenium.webdriver.common.action_chains import ActionChains 4 | from selenium.webdriver.support import expected_conditions 5 | from selenium.webdriver.support.wait import WebDriverWait 6 | from selenium.webdriver.common.keys import Keys 7 | from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 8 | import urllib.parse 9 | from selenium_recaptcha_solver import RecaptchaSolver 10 | from webdriver_manager.chrome import ChromeDriverManager 11 | import time 12 | 13 | 14 | def GetSSID(email, password): 15 | driver = webdriver.Chrome(ChromeDriverManager().install()) 16 | solver = RecaptchaSolver(driver=driver) 17 | driver.get("https://po.trade/login") # https://po.trade/login 18 | driver.set_window_size(550, 691) 19 | driver.find_element(By.NAME, "email").click() 20 | driver.find_element(By.NAME, "email").send_keys(email) # email@mail.com 21 | driver.find_element(By.NAME, "password").click() 22 | driver.find_element(By.NAME, "password").send_keys(password) # password 23 | driver.find_element(By.XPATH, "/html/body/div[2]/div[2]/div/div/div/div[2]/form/div[4]/button").click() 24 | recaptcha_iframe = driver.find_element(By.XPATH, '//iframe[@title="reCAPTCHA"]') 25 | try: 26 | solver.click_recaptcha_v2(iframe=recaptcha_iframe) 27 | driver.find_element(By.XPATH, "/html/body/div[2]/div[2]/div/div/div/div[2]/form/div[4]/button").click() 28 | except: 29 | print("Cloud not solve captcha, please solve it and then press enter") 30 | input() 31 | WebDriverWait(driver, 30).until( 32 | expected_conditions.presence_of_element_located((By.CSS_SELECTOR, ".layer")) 33 | ) 34 | # For demo: 35 | driver.get( 36 | "https://po.trade/cabinet/demo-quick-high-low/" 37 | ) # https://po.trade/cabinet/demo-quick-high-low/ 38 | WebDriverWait(driver, 30).until( 39 | expected_conditions.presence_of_element_located((By.CSS_SELECTOR, ".layer")) 40 | ) 41 | cookies = driver.get_cookies() 42 | session_token = [x["value"] for x in cookies if x["name"] == "ci_session"][0] 43 | decoded_string = urllib.parse.unquote(session_token) 44 | session = '42["auth", {"session": "' + decoded_string + '"}]' 45 | print(session) 46 | 47 | driver.quit() 48 | return session 49 | 50 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/platforms/pocketoption/test/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/test/webdrivertest.py: -------------------------------------------------------------------------------- 1 | from webdriver_manager.chrome import ChromeDriverManager 2 | from selenium import webdriver 3 | 4 | class WebdriverTest: 5 | def __init__(self) -> None: 6 | self.driver = webdriver.Chrome(ChromeDriverManager().install()) 7 | self.url = "https://pocketoption.com" 8 | def connect(self): 9 | sevice = webdriver.ChromeService(executable_path=ChromeDriverManager().install()) 10 | driver = webdriver.Chrome(service=sevice) 11 | driver.get(url=self.url) 12 | 13 | # Example usage 14 | wt = WebdriverTest() 15 | wt.connect() -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/platforms/pocketoption/ws/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/channels/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/platforms/pocketoption/ws/channels/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/channels/base.py: -------------------------------------------------------------------------------- 1 | """Module for base Pocket Option base websocket chanel.""" 2 | 3 | 4 | class Base(object): 5 | """Class for base Pocket Option websocket chanel.""" 6 | 7 | # pylint: disable=too-few-public-methods 8 | 9 | def __init__(self, api): 10 | """ 11 | :param api: The instance of :class:`PocketOptionAPI 12 | `. 13 | """ 14 | self.api = api 15 | 16 | def send_websocket_request(self, name, msg, request_id=""): 17 | """Send request to Pocket Option server websocket. 18 | 19 | :param request_id: 20 | :param str name: The websocket chanel name. 21 | :param list msg: The websocket chanel msg. 22 | 23 | :returns: The instance of :class:`requests.Response`. 24 | """ 25 | 26 | return self.api.send_websocket_request(name, msg, request_id) 27 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/channels/buyv3.py: -------------------------------------------------------------------------------- 1 | # import datetime 2 | # import json 3 | # import time 4 | from BinaryOptionsTools.platforms.pocketoption.ws.channels.base import Base 5 | # import logging 6 | # import BinaryOptionsTools.platforms.pocketoption.global_value as global_value 7 | 8 | 9 | class Buyv3(Base): 10 | name = "sendMessage" 11 | 12 | def __call__(self, amount, active, direction, duration, request_id): 13 | 14 | # thank Darth-Carrotpie's code 15 | # https://github.com/Lu-Yi-Hsun/iqoptionapi/issues/6 16 | # exp = get_expiration_time(int(self.api.timesync.server_timestamps), duration) 17 | """if idx < 5: 18 | option = 3 # "turbo" 19 | else: 20 | option = 1 # "binary""" 21 | # Construir el diccionario 22 | data_dict = { 23 | "asset": active, 24 | "amount": amount, 25 | "action": direction, 26 | "isDemo": 1, 27 | "requestId": request_id, 28 | "optionType": 100, 29 | "time": duration 30 | } 31 | 32 | message = ["openOrder", data_dict] 33 | 34 | self.send_websocket_request(self.name, message, str(request_id)) 35 | 36 | 37 | # class Buyv3_by_raw_expired(Base): 38 | # name = "sendMessage" 39 | 40 | # def __call__(self, price, active, direction, option, expired, request_id): 41 | 42 | # # thank Darth-Carrotpie's code 43 | # # https://github.com/Lu-Yi-Hsun/iqoptionapi/issues/6 44 | 45 | # if option == "turbo": 46 | # option_id = 3 # "turbo" 47 | # elif option == "binary": 48 | # option_id = 1 # "binary" 49 | # data = { 50 | # "body": {"price": price, 51 | # "active_id": active, 52 | # "expired": int(expired), 53 | # "direction": direction.lower(), 54 | # "option_type_id": option_id, 55 | # "user_balance_id": int(global_value.balance_id) 56 | # }, 57 | # "name": "binary-options.open-option", 58 | # "version": "1.0" 59 | # } 60 | # self.send_websocket_request(self.name, data, str(request_id)) 61 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/channels/candles.py: -------------------------------------------------------------------------------- 1 | """Module for Pocket option candles websocket chanel.""" 2 | 3 | from BinaryOptionsTools.platforms.pocketoption.ws.channels.base import Base 4 | # import time 5 | import random 6 | import time 7 | 8 | 9 | def index_num(): 10 | # El número mínimo sería 100000000000 (12 dígitos) 11 | minimo = 5000 12 | # El número máximo sería 999999999999 (12 dígitos) 13 | maximo = 10000 - 1 14 | # Generar y retornar un número aleatorio dentro del rango 15 | return random.randint(minimo, maximo) 16 | 17 | 18 | class GetCandles(Base): 19 | """Class for Pocket option candles websocket chanel.""" 20 | # pylint: disable=too-few-public-methods 21 | 22 | name = "sendMessage" 23 | 24 | def __call__(self, active_id, interval, count, end_time): 25 | """Method to send message to candles websocket chanel. 26 | 27 | :param active_id: The active/asset identifier. 28 | :param interval: The candle duration (timeframe for the candles). 29 | :param count: The number of candles you want to have 30 | """ 31 | 32 | # {"asset": "AUDNZD_otc", "index": 171201484810, "time": 1712002800, "offset": 9000, "period": 60}] 33 | rand = str(random.randint(10, 99)) 34 | cu = int(time.time()) 35 | t = str(cu + (2 * 60 * 60)) 36 | index = int(t + rand) 37 | data = { 38 | "asset": str(active_id), 39 | "index": index, 40 | "offset": count, # number of candles 41 | "period": interval, 42 | "time": end_time, # time size sample:if interval set 1 mean get time 0~1 candle 43 | } 44 | 45 | data = ["loadHistoryPeriod", data] 46 | self.send_websocket_request(self.name, data) 47 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/channels/change_symbol.py: -------------------------------------------------------------------------------- 1 | """Module for PocketOption change symbol websocket chanel.""" 2 | 3 | from BinaryOptionsTools.platforms.pocketoption.ws.channels.base import Base 4 | # import time 5 | # import random 6 | 7 | 8 | class ChangeSymbol(Base): 9 | """Class for Pocket option change symbol websocket chanel.""" 10 | # pylint: disable=too-few-public-methods 11 | 12 | name = "sendMessage" 13 | 14 | def __call__(self, active_id, interval): 15 | """Method to send message to candles websocket chanel. 16 | 17 | :param active_id: The active/asset identifier. 18 | :param interval: The candle duration (timeframe for the candles). 19 | """ 20 | 21 | data_stream = ["changeSymbol", { 22 | "asset": active_id, 23 | "period": interval}] 24 | 25 | self.send_websocket_request(self.name, data_stream) 26 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/channels/get_balances.py: -------------------------------------------------------------------------------- 1 | from BinaryOptionsTools.platforms.pocketoption.ws.channels.base import Base 2 | # import time 3 | 4 | 5 | class Get_Balances(Base): 6 | name = "sendMessage" 7 | 8 | def __call__(self): 9 | """ 10 | :param options_ids: list or int 11 | """ 12 | 13 | data = {"name": "get-balances", 14 | "version": "1.0" 15 | } 16 | print("get_balances in get_balances.py") 17 | 18 | self.send_websocket_request(self.name, data) 19 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/objects/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/platforms/pocketoption/ws/objects/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/objects/base.py: -------------------------------------------------------------------------------- 1 | """Module for Pocket Option Base websocket object.""" 2 | 3 | 4 | class Base(object): 5 | """Class for Pocket Option Base websocket object.""" 6 | # pylint: disable=too-few-public-methods 7 | 8 | def __init__(self): 9 | self.__name = None 10 | 11 | @property 12 | def name(self): 13 | """Property to get websocket object name. 14 | 15 | :returns: The name of websocket object. 16 | """ 17 | return self.__name 18 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/objects/candles.py: -------------------------------------------------------------------------------- 1 | """Module for Pocket Option Candles websocket object.""" 2 | 3 | from BinaryOptionsTools.platforms.pocketoption.ws.objects.base import Base 4 | 5 | 6 | class Candle(object): 7 | """Class for Pocket Option candle.""" 8 | 9 | def __init__(self, candle_data): 10 | """ 11 | :param candle_data: The list of candles data. 12 | """ 13 | self.__candle_data = candle_data 14 | 15 | @property 16 | def candle_time(self): 17 | """Property to get candle time. 18 | 19 | :returns: The candle time. 20 | """ 21 | return self.__candle_data[0] 22 | 23 | @property 24 | def candle_open(self): 25 | """Property to get candle open value. 26 | 27 | :returns: The candle open value. 28 | """ 29 | return self.__candle_data[1] 30 | 31 | @property 32 | def candle_close(self): 33 | """Property to get candle close value. 34 | 35 | :returns: The candle close value. 36 | """ 37 | return self.__candle_data[2] 38 | 39 | @property 40 | def candle_high(self): 41 | """Property to get candle high value. 42 | 43 | :returns: The candle high value. 44 | """ 45 | return self.__candle_data[3] 46 | 47 | @property 48 | def candle_low(self): 49 | """Property to get candle low value. 50 | 51 | :returns: The candle low value. 52 | """ 53 | return self.__candle_data[4] 54 | 55 | @property 56 | def candle_type(self): # pylint: disable=inconsistent-return-statements 57 | """Property to get candle type value. 58 | 59 | :returns: The candle type value. 60 | """ 61 | if self.candle_open < self.candle_close: 62 | return "green" 63 | elif self.candle_open > self.candle_close: 64 | return "red" 65 | 66 | 67 | class Candles(Base): 68 | """Class for Pocket Option Candles websocket object.""" 69 | 70 | def __init__(self): 71 | super(Candles, self).__init__() 72 | self.__name = "candles" 73 | self.__candles_data = None 74 | 75 | @property 76 | def candles_data(self): 77 | """Property to get candles data. 78 | 79 | :returns: The list of candles data. 80 | """ 81 | return self.__candles_data 82 | 83 | @candles_data.setter 84 | def candles_data(self, candles_data): 85 | """Method to set candles data.""" 86 | self.__candles_data = candles_data 87 | 88 | @property 89 | def first_candle(self): 90 | """Method to get first candle. 91 | 92 | :returns: The instance of :class:`Candle 93 | `. 94 | """ 95 | return Candle(self.candles_data[0]) 96 | 97 | @property 98 | def second_candle(self): 99 | """Method to get second candle. 100 | 101 | :returns: The instance of :class:`Candle 102 | `. 103 | """ 104 | return Candle(self.candles_data[1]) 105 | 106 | @property 107 | def current_candle(self): 108 | """Method to get current candle. 109 | 110 | :returns: The instance of :class:`Candle 111 | `. 112 | """ 113 | return Candle(self.candles_data[-1]) 114 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/objects/time_sync.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import time 3 | from datetime import datetime, timedelta, timezone 4 | 5 | 6 | class TimeSynchronizer: 7 | def __init__(self): 8 | self.server_time_reference = None 9 | self.local_time_reference = None 10 | self.timezone_offset = timedelta(seconds=self._get_local_timezone_offset()) 11 | 12 | @staticmethod 13 | def _get_local_timezone_offset(): 14 | """ 15 | Obtiene el desplazamiento de la zona horaria local en segundos. 16 | 17 | :return: Desplazamiento de la zona horaria local en segundos. 18 | """ 19 | local_time = datetime.now() 20 | utc_time = datetime.utcnow() 21 | offset = (local_time - utc_time).total_seconds() 22 | return offset 23 | 24 | def synchronize(self, server_time): 25 | """ 26 | Sincroniza el tiempo local con el tiempo del servidor. 27 | 28 | :param server_time: Tiempo del servidor en segundos (puede ser un timestamp). 29 | """ 30 | 31 | self.server_time_reference = server_time 32 | self.local_time_reference = time.time() 33 | 34 | def get_synced_time(self): 35 | """ 36 | Obtiene el tiempo sincronizado basado en el tiempo actual del sistema. 37 | 38 | :return: Tiempo sincronizado en segundos. 39 | """ 40 | if self.server_time_reference is None or self.local_time_reference is None: 41 | raise ValueError("El tiempo no ha sido sincronizado aún.") 42 | 43 | # Calcula la diferencia de tiempo desde la última sincronización 44 | elapsed_time = time.time() - self.local_time_reference 45 | # Calcula el tiempo sincronizado 46 | synced_time = self.server_time_reference + elapsed_time 47 | return synced_time 48 | 49 | def get_synced_datetime(self): 50 | """ 51 | Convierte el tiempo sincronizado a un objeto datetime ajustado a la zona horaria local. 52 | 53 | :return: Tiempo sincronizado como un objeto datetime. 54 | """ 55 | synced_time_seconds = self.get_synced_time() 56 | # Redondear los segundos 57 | rounded_time_seconds = round(synced_time_seconds) 58 | # Convertir a datetime en UTC 59 | synced_datetime_utc = datetime.fromtimestamp(rounded_time_seconds, tz=timezone.utc) 60 | # Ajustar el tiempo sincronizado a la zona horaria local 61 | synced_datetime_local = synced_datetime_utc + self.timezone_offset 62 | return synced_datetime_local 63 | 64 | def update_sync(self, new_server_time): 65 | """ 66 | Actualiza la sincronización con un nuevo tiempo del servidor. 67 | 68 | :param new_server_time: Nuevo tiempo del servidor en segundos. 69 | """ 70 | self.synchronize(new_server_time) 71 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/platforms/pocketoption/ws/objects/timesync.py: -------------------------------------------------------------------------------- 1 | """Module for Pocket Option TimeSync websocket object.""" 2 | 3 | import time 4 | import datetime 5 | 6 | from BinaryOptionsTools.platforms.pocketoption.ws.objects.base import Base 7 | 8 | 9 | class TimeSync(Base): 10 | """Class for Pocket Option TimeSync websocket object.""" 11 | 12 | def __init__(self): 13 | super(TimeSync, self).__init__() 14 | self.__name = "timeSync" 15 | self.__server_timestamp = time.time() 16 | self.__expiration_time = 1 17 | 18 | @property 19 | def server_timestamp(self): 20 | """Property to get server timestamp. 21 | 22 | :returns: The server timestamp. 23 | """ 24 | return self.__server_timestamp 25 | 26 | @server_timestamp.setter 27 | def server_timestamp(self, timestamp): 28 | """Method to set server timestamp.""" 29 | self.__server_timestamp = timestamp 30 | 31 | @property 32 | def server_datetime(self): 33 | """Property to get server datetime. 34 | 35 | :returns: The server datetime. 36 | """ 37 | return datetime.datetime.fromtimestamp(self.server_timestamp) 38 | 39 | @property 40 | def expiration_time(self): 41 | """Property to get expiration time. 42 | 43 | :returns: The expiration time. 44 | """ 45 | return self.__expiration_time 46 | 47 | @expiration_time.setter 48 | def expiration_time(self, minutes): 49 | """Method to set expiration time 50 | 51 | :param int minutes: The expiration time in minutes. 52 | """ 53 | self.__expiration_time = minutes 54 | 55 | @property 56 | def expiration_datetime(self): 57 | """Property to get expiration datetime. 58 | 59 | :returns: The expiration datetime. 60 | """ 61 | return self.server_datetime + datetime.timedelta(minutes=self.expiration_time) 62 | 63 | @property 64 | def expiration_timestamp(self): 65 | """Property to get expiration timestamp. 66 | 67 | :returns: The expiration timestamp. 68 | """ 69 | return time.mktime(self.expiration_datetime.timetuple()) 70 | 71 | 72 | -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/research/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/research/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/research/smalowatr.py: -------------------------------------------------------------------------------- 1 | from BinaryOptionsTools import pocketoption 2 | from ta.trend import SMAIndicator 3 | from ta.volatility import AverageTrueRange 4 | import time 5 | # import pandas as pd 6 | 7 | ssid = (r'42["auth",{"session":"vtftn12e6f5f5008moitsd6skl","isDemo":1,"uid":27658142,"platform":2}]') 8 | demo = True 9 | api = pocketoption(ssid, demo) 10 | 11 | while True: 12 | try: 13 | data = api.GetCandles("EURUSD_otc", 1) 14 | sma5 = SMAIndicator(data["close"], 5).sma_indicator() 15 | sma10 = SMAIndicator(data["close"], 10).sma_indicator() 16 | atr = AverageTrueRange(data["high"], data["low"], data["close"], 14).average_true_range() 17 | 18 | print(f"SMA10: {sma10}") 19 | print(f"SMA5: {sma5}") 20 | print(f"ATR: {atr}") 21 | time.sleep(5) 22 | except KeyboardInterrupt: 23 | break -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/research/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/build/lib/BinaryOptionsTools/research/tests/__init__.py -------------------------------------------------------------------------------- /build/lib/BinaryOptionsTools/research/tests/csv_tests.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | 3 | test_dataframe = ["win", "win", "win", "win", "win", "win", "win", "loss", "loss", "loss", "loss", "loss"] 4 | 5 | df = pd.DataFrame(data=test_dataframe) 6 | df.columns = ["trade_result"] 7 | print(df) 8 | df.to_csv("test_csv1__wdwd_.csv") -------------------------------------------------------------------------------- /commit.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.bot.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.bot.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.bot.signals.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.bot.signals.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.indicators.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.indicators.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.platforms.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.platforms.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.login.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.login.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.login.test.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.login.test.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.test.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.test.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.ws.channels.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.ws.channels.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.ws.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.ws.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.ws.objects.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.platforms.pocketoption.ws.objects.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.research.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.research.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/BinaryOptionsTools.research.tests.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/BinaryOptionsTools.research.tests.doctree -------------------------------------------------------------------------------- /docs/build/doctrees/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/environment.pickle -------------------------------------------------------------------------------- /docs/build/doctrees/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/doctrees/index.doctree -------------------------------------------------------------------------------- /docs/build/html/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file records the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: e4f2661e7a4e0d4dfaba7bd95a00fb35 4 | tags: 645f666f9bcd5a90fca523b33c5a78b7 5 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.bot.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.bot package 2 | ============================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.bot.signals 11 | 12 | Submodules 13 | ---------- 14 | 15 | BinaryOptionsTools.bot.base module 16 | ---------------------------------- 17 | 18 | .. automodule:: BinaryOptionsTools.bot.base 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | Module contents 24 | --------------- 25 | 26 | .. automodule:: BinaryOptionsTools.bot 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.bot.signals.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.bot.signals package 2 | ====================================== 3 | 4 | Module contents 5 | --------------- 6 | 7 | .. automodule:: BinaryOptionsTools.bot.signals 8 | :members: 9 | :show-inheritance: 10 | :undoc-members: 11 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.indicators.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.indicators package 2 | ===================================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.indicators.momentum module 8 | --------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.indicators.momentum 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | BinaryOptionsTools.indicators.trend module 16 | ------------------------------------------ 17 | 18 | .. automodule:: BinaryOptionsTools.indicators.trend 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | Module contents 24 | --------------- 25 | 26 | .. automodule:: BinaryOptionsTools.indicators 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.platforms.pocketoption.login.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.login package 2 | ======================================================= 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.platforms.pocketoption.login.test 11 | 12 | Module contents 13 | --------------- 14 | 15 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.login 16 | :members: 17 | :show-inheritance: 18 | :undoc-members: 19 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.platforms.pocketoption.login.test.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.login.test package 2 | ============================================================ 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.platforms.pocketoption.login.test.login module 8 | ----------------------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.login.test.login 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | Module contents 16 | --------------- 17 | 18 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.login.test 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.platforms.pocketoption.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption package 2 | ================================================= 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.platforms.pocketoption.login 11 | BinaryOptionsTools.platforms.pocketoption.test 12 | BinaryOptionsTools.platforms.pocketoption.ws 13 | 14 | Submodules 15 | ---------- 16 | 17 | BinaryOptionsTools.platforms.pocketoption.api module 18 | ---------------------------------------------------- 19 | 20 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.api 21 | :members: 22 | :show-inheritance: 23 | :undoc-members: 24 | 25 | BinaryOptionsTools.platforms.pocketoption.constants module 26 | ---------------------------------------------------------- 27 | 28 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.constants 29 | :members: 30 | :show-inheritance: 31 | :undoc-members: 32 | 33 | BinaryOptionsTools.platforms.pocketoption.expiration module 34 | ----------------------------------------------------------- 35 | 36 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.expiration 37 | :members: 38 | :show-inheritance: 39 | :undoc-members: 40 | 41 | BinaryOptionsTools.platforms.pocketoption.global\_value module 42 | -------------------------------------------------------------- 43 | 44 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.global_value 45 | :members: 46 | :show-inheritance: 47 | :undoc-members: 48 | 49 | BinaryOptionsTools.platforms.pocketoption.stable\_api module 50 | ------------------------------------------------------------ 51 | 52 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.stable_api 53 | :members: 54 | :show-inheritance: 55 | :undoc-members: 56 | 57 | Module contents 58 | --------------- 59 | 60 | .. automodule:: BinaryOptionsTools.platforms.pocketoption 61 | :members: 62 | :show-inheritance: 63 | :undoc-members: 64 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.platforms.pocketoption.test.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.test package 2 | ====================================================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.platforms.pocketoption.test.webdrivertest module 8 | ------------------------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.test.webdrivertest 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | Module contents 16 | --------------- 17 | 18 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.test 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.platforms.pocketoption.ws.channels.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.ws.channels package 2 | ============================================================= 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.platforms.pocketoption.ws.channels.base module 8 | ----------------------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.base 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | BinaryOptionsTools.platforms.pocketoption.ws.channels.buyv3 module 16 | ------------------------------------------------------------------ 17 | 18 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.buyv3 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | BinaryOptionsTools.platforms.pocketoption.ws.channels.candles module 24 | -------------------------------------------------------------------- 25 | 26 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.candles 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | 31 | BinaryOptionsTools.platforms.pocketoption.ws.channels.change\_symbol module 32 | --------------------------------------------------------------------------- 33 | 34 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.change_symbol 35 | :members: 36 | :show-inheritance: 37 | :undoc-members: 38 | 39 | BinaryOptionsTools.platforms.pocketoption.ws.channels.get\_balances module 40 | -------------------------------------------------------------------------- 41 | 42 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.get_balances 43 | :members: 44 | :show-inheritance: 45 | :undoc-members: 46 | 47 | Module contents 48 | --------------- 49 | 50 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels 51 | :members: 52 | :show-inheritance: 53 | :undoc-members: 54 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.platforms.pocketoption.ws.objects.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.ws.objects package 2 | ============================================================ 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.platforms.pocketoption.ws.objects.base module 8 | ---------------------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects.base 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | BinaryOptionsTools.platforms.pocketoption.ws.objects.candles module 16 | ------------------------------------------------------------------- 17 | 18 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects.candles 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | BinaryOptionsTools.platforms.pocketoption.ws.objects.time\_sync module 24 | ---------------------------------------------------------------------- 25 | 26 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects.time_sync 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | 31 | BinaryOptionsTools.platforms.pocketoption.ws.objects.timesync module 32 | -------------------------------------------------------------------- 33 | 34 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects.timesync 35 | :members: 36 | :show-inheritance: 37 | :undoc-members: 38 | 39 | Module contents 40 | --------------- 41 | 42 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects 43 | :members: 44 | :show-inheritance: 45 | :undoc-members: 46 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.platforms.pocketoption.ws.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.ws package 2 | ==================================================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.platforms.pocketoption.ws.channels 11 | BinaryOptionsTools.platforms.pocketoption.ws.objects 12 | 13 | Submodules 14 | ---------- 15 | 16 | BinaryOptionsTools.platforms.pocketoption.ws.client module 17 | ---------------------------------------------------------- 18 | 19 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.client 20 | :members: 21 | :show-inheritance: 22 | :undoc-members: 23 | 24 | Module contents 25 | --------------- 26 | 27 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws 28 | :members: 29 | :show-inheritance: 30 | :undoc-members: 31 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.platforms.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms package 2 | ==================================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.platforms.pocketoption 11 | 12 | Module contents 13 | --------------- 14 | 15 | .. automodule:: BinaryOptionsTools.platforms 16 | :members: 17 | :show-inheritance: 18 | :undoc-members: 19 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.research.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.research package 2 | =================================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.research.tests 11 | 12 | Submodules 13 | ---------- 14 | 15 | BinaryOptionsTools.research.smalowatr module 16 | -------------------------------------------- 17 | 18 | .. automodule:: BinaryOptionsTools.research.smalowatr 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | Module contents 24 | --------------- 25 | 26 | .. automodule:: BinaryOptionsTools.research 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.research.tests.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.research.tests package 2 | ========================================= 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.research.tests.csv\_tests module 8 | --------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.research.tests.csv_tests 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | Module contents 16 | --------------- 17 | 18 | .. automodule:: BinaryOptionsTools.research.tests 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | -------------------------------------------------------------------------------- /docs/build/html/_sources/BinaryOptionsTools.rst.txt: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools package 2 | ========================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.bot 11 | BinaryOptionsTools.indicators 12 | BinaryOptionsTools.platforms 13 | BinaryOptionsTools.research 14 | 15 | Submodules 16 | ---------- 17 | 18 | BinaryOptionsTools.api module 19 | ----------------------------- 20 | 21 | .. automodule:: BinaryOptionsTools.api 22 | :members: 23 | :show-inheritance: 24 | :undoc-members: 25 | 26 | Module contents 27 | --------------- 28 | 29 | .. automodule:: BinaryOptionsTools 30 | :members: 31 | :show-inheritance: 32 | :undoc-members: 33 | -------------------------------------------------------------------------------- /docs/build/html/_sources/index.rst.txt: -------------------------------------------------------------------------------- 1 | .. BinaryOptionsToolsV1 documentation master file, created by 2 | sphinx-quickstart on Wed Mar 26 11:29:11 2025. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to BinaryOptionsToolsV1's documentation! 7 | ===================================== 8 | 9 | .. toctree:: 10 | :maxdepth: 2 11 | :caption: Contents: 12 | 13 | BinaryOptionsTools 14 | BinaryOptionsTools.bot 15 | BinaryOptionsTools.platforms 16 | BinaryOptionsTools.research 17 | BinaryOptionsTools.indicators 18 | 19 | API Reference 20 | ============= 21 | 22 | .. automodule:: BinaryOptionsToolsV1 23 | :members: 24 | :undoc-members: 25 | :show-inheritance: 26 | 27 | -------------------------------------------------------------------------------- /docs/build/html/_static/_sphinx_javascript_frameworks_compat.js: -------------------------------------------------------------------------------- 1 | /* Compatability shim for jQuery and underscores.js. 2 | * 3 | * Copyright Sphinx contributors 4 | * Released under the two clause BSD licence 5 | */ 6 | 7 | /** 8 | * small helper function to urldecode strings 9 | * 10 | * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL 11 | */ 12 | jQuery.urldecode = function(x) { 13 | if (!x) { 14 | return x 15 | } 16 | return decodeURIComponent(x.replace(/\+/g, ' ')); 17 | }; 18 | 19 | /** 20 | * small helper function to urlencode strings 21 | */ 22 | jQuery.urlencode = encodeURIComponent; 23 | 24 | /** 25 | * This function returns the parsed url parameters of the 26 | * current request. Multiple values per key are supported, 27 | * it will always return arrays of strings for the value parts. 28 | */ 29 | jQuery.getQueryParameters = function(s) { 30 | if (typeof s === 'undefined') 31 | s = document.location.search; 32 | var parts = s.substr(s.indexOf('?') + 1).split('&'); 33 | var result = {}; 34 | for (var i = 0; i < parts.length; i++) { 35 | var tmp = parts[i].split('=', 2); 36 | var key = jQuery.urldecode(tmp[0]); 37 | var value = jQuery.urldecode(tmp[1]); 38 | if (key in result) 39 | result[key].push(value); 40 | else 41 | result[key] = [value]; 42 | } 43 | return result; 44 | }; 45 | 46 | /** 47 | * highlight a given string on a jquery object by wrapping it in 48 | * span elements with the given class name. 49 | */ 50 | jQuery.fn.highlightText = function(text, className) { 51 | function highlight(node, addItems) { 52 | if (node.nodeType === 3) { 53 | var val = node.nodeValue; 54 | var pos = val.toLowerCase().indexOf(text); 55 | if (pos >= 0 && 56 | !jQuery(node.parentNode).hasClass(className) && 57 | !jQuery(node.parentNode).hasClass("nohighlight")) { 58 | var span; 59 | var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); 60 | if (isInSVG) { 61 | span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); 62 | } else { 63 | span = document.createElement("span"); 64 | span.className = className; 65 | } 66 | span.appendChild(document.createTextNode(val.substr(pos, text.length))); 67 | node.parentNode.insertBefore(span, node.parentNode.insertBefore( 68 | document.createTextNode(val.substr(pos + text.length)), 69 | node.nextSibling)); 70 | node.nodeValue = val.substr(0, pos); 71 | if (isInSVG) { 72 | var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); 73 | var bbox = node.parentElement.getBBox(); 74 | rect.x.baseVal.value = bbox.x; 75 | rect.y.baseVal.value = bbox.y; 76 | rect.width.baseVal.value = bbox.width; 77 | rect.height.baseVal.value = bbox.height; 78 | rect.setAttribute('class', className); 79 | addItems.push({ 80 | "parent": node.parentNode, 81 | "target": rect}); 82 | } 83 | } 84 | } 85 | else if (!jQuery(node).is("button, select, textarea")) { 86 | jQuery.each(node.childNodes, function() { 87 | highlight(this, addItems); 88 | }); 89 | } 90 | } 91 | var addItems = []; 92 | var result = this.each(function() { 93 | highlight(this, addItems); 94 | }); 95 | for (var i = 0; i < addItems.length; ++i) { 96 | jQuery(addItems[i].parent).before(addItems[i].target); 97 | } 98 | return result; 99 | }; 100 | 101 | /* 102 | * backward compatibility for jQuery.browser 103 | * This will be supported until firefox bug is fixed. 104 | */ 105 | if (!jQuery.browser) { 106 | jQuery.uaMatch = function(ua) { 107 | ua = ua.toLowerCase(); 108 | 109 | var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || 110 | /(webkit)[ \/]([\w.]+)/.exec(ua) || 111 | /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || 112 | /(msie) ([\w.]+)/.exec(ua) || 113 | ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || 114 | []; 115 | 116 | return { 117 | browser: match[ 1 ] || "", 118 | version: match[ 2 ] || "0" 119 | }; 120 | }; 121 | jQuery.browser = {}; 122 | jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; 123 | } 124 | -------------------------------------------------------------------------------- /docs/build/html/_static/css/badge_only.css: -------------------------------------------------------------------------------- 1 | .clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px} -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/lato-bold-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/lato-bold-italic.woff -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/lato-bold-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/lato-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/lato-bold.woff -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/lato-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/lato-bold.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/lato-normal-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/lato-normal-italic.woff -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/lato-normal-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/lato-normal.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/lato-normal.woff -------------------------------------------------------------------------------- /docs/build/html/_static/css/fonts/lato-normal.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/css/fonts/lato-normal.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/documentation_options.js: -------------------------------------------------------------------------------- 1 | const DOCUMENTATION_OPTIONS = { 2 | VERSION: 'v1.0.1', 3 | LANGUAGE: 'en', 4 | COLLAPSE_INDEX: false, 5 | BUILDER: 'html', 6 | FILE_SUFFIX: '.html', 7 | LINK_SUFFIX: '.html', 8 | HAS_SOURCE: true, 9 | SOURCELINK_SUFFIX: '.txt', 10 | NAVIGATION_WITH_KEYS: false, 11 | SHOW_SEARCH_SUMMARY: true, 12 | ENABLE_SEARCH_SHORTCUTS: true, 13 | }; -------------------------------------------------------------------------------- /docs/build/html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/file.png -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-bold.eot -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-bold.ttf -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-bold.woff -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-bold.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-bolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-bolditalic.eot -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-bolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-italic.eot -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-italic.ttf -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-italic.woff -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-italic.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-regular.eot -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-regular.ttf -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-regular.woff -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/Lato/lato-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/Lato/lato-regular.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff -------------------------------------------------------------------------------- /docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 -------------------------------------------------------------------------------- /docs/build/html/_static/js/badge_only.js: -------------------------------------------------------------------------------- 1 | !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}}); -------------------------------------------------------------------------------- /docs/build/html/_static/js/theme.js: -------------------------------------------------------------------------------- 1 | !function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("
"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;tNUL 2>NUL 14 | if errorlevel 9009 ( 15 | echo. 16 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 17 | echo.installed, then set the SPHINXBUILD environment variable to point 18 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 19 | echo.may add the Sphinx directory to PATH. 20 | echo. 21 | echo.If you don't have Sphinx installed, grab it from 22 | echo.https://www.sphinx-doc.org/ 23 | exit /b 1 24 | ) 25 | 26 | if "%1" == "" goto help 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/modules.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools 2 | ================== 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | BinaryOptionsTools 8 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | aiohappyeyeballs 2 | aiohttp 3 | aiosignal 4 | async-timeout 5 | attrs 6 | certifi 7 | charset-normalizer 8 | choicelib 9 | frozenlist 10 | idna 11 | msgspec 12 | multidict 13 | numpy 14 | pandas 15 | propcache 16 | python-dateutil 17 | pytz 18 | requests 19 | six 20 | structlog 21 | typing-extensions 22 | tzdata 23 | tzlocal 24 | urllib3 25 | websockets 26 | yarl 27 | sphinx 28 | sphinx-rtd-theme 29 | sphinx-autodoc-typehints -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.bot.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.bot package 2 | ============================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.bot.signals 11 | 12 | Submodules 13 | ---------- 14 | 15 | BinaryOptionsTools.bot.base module 16 | ---------------------------------- 17 | 18 | .. automodule:: BinaryOptionsTools.bot.base 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | Module contents 24 | --------------- 25 | 26 | .. automodule:: BinaryOptionsTools.bot 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.bot.signals.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.bot.signals package 2 | ====================================== 3 | 4 | Module contents 5 | --------------- 6 | 7 | .. automodule:: BinaryOptionsTools.bot.signals 8 | :members: 9 | :show-inheritance: 10 | :undoc-members: 11 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.indicators.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.indicators package 2 | ===================================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.indicators.momentum module 8 | --------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.indicators.momentum 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | BinaryOptionsTools.indicators.trend module 16 | ------------------------------------------ 17 | 18 | .. automodule:: BinaryOptionsTools.indicators.trend 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | Module contents 24 | --------------- 25 | 26 | .. automodule:: BinaryOptionsTools.indicators 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.platforms.pocketoption.login.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.login package 2 | ======================================================= 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.platforms.pocketoption.login.test 11 | 12 | Module contents 13 | --------------- 14 | 15 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.login 16 | :members: 17 | :show-inheritance: 18 | :undoc-members: 19 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.platforms.pocketoption.login.test.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.login.test package 2 | ============================================================ 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.platforms.pocketoption.login.test.login module 8 | ----------------------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.login.test.login 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | Module contents 16 | --------------- 17 | 18 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.login.test 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.platforms.pocketoption.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption package 2 | ================================================= 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.platforms.pocketoption.login 11 | BinaryOptionsTools.platforms.pocketoption.test 12 | BinaryOptionsTools.platforms.pocketoption.ws 13 | 14 | Submodules 15 | ---------- 16 | 17 | BinaryOptionsTools.platforms.pocketoption.api module 18 | ---------------------------------------------------- 19 | 20 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.api 21 | :members: 22 | :show-inheritance: 23 | :undoc-members: 24 | 25 | BinaryOptionsTools.platforms.pocketoption.constants module 26 | ---------------------------------------------------------- 27 | 28 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.constants 29 | :members: 30 | :show-inheritance: 31 | :undoc-members: 32 | 33 | BinaryOptionsTools.platforms.pocketoption.expiration module 34 | ----------------------------------------------------------- 35 | 36 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.expiration 37 | :members: 38 | :show-inheritance: 39 | :undoc-members: 40 | 41 | BinaryOptionsTools.platforms.pocketoption.global\_value module 42 | -------------------------------------------------------------- 43 | 44 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.global_value 45 | :members: 46 | :show-inheritance: 47 | :undoc-members: 48 | 49 | BinaryOptionsTools.platforms.pocketoption.stable\_api module 50 | ------------------------------------------------------------ 51 | 52 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.stable_api 53 | :members: 54 | :show-inheritance: 55 | :undoc-members: 56 | 57 | Module contents 58 | --------------- 59 | 60 | .. automodule:: BinaryOptionsTools.platforms.pocketoption 61 | :members: 62 | :show-inheritance: 63 | :undoc-members: 64 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.platforms.pocketoption.test.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.test package 2 | ====================================================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.platforms.pocketoption.test.webdrivertest module 8 | ------------------------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.test.webdrivertest 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | Module contents 16 | --------------- 17 | 18 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.test 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.platforms.pocketoption.ws.channels.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.ws.channels package 2 | ============================================================= 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.platforms.pocketoption.ws.channels.base module 8 | ----------------------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.base 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | BinaryOptionsTools.platforms.pocketoption.ws.channels.buyv3 module 16 | ------------------------------------------------------------------ 17 | 18 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.buyv3 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | BinaryOptionsTools.platforms.pocketoption.ws.channels.candles module 24 | -------------------------------------------------------------------- 25 | 26 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.candles 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | 31 | BinaryOptionsTools.platforms.pocketoption.ws.channels.change\_symbol module 32 | --------------------------------------------------------------------------- 33 | 34 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.change_symbol 35 | :members: 36 | :show-inheritance: 37 | :undoc-members: 38 | 39 | BinaryOptionsTools.platforms.pocketoption.ws.channels.get\_balances module 40 | -------------------------------------------------------------------------- 41 | 42 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels.get_balances 43 | :members: 44 | :show-inheritance: 45 | :undoc-members: 46 | 47 | Module contents 48 | --------------- 49 | 50 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.channels 51 | :members: 52 | :show-inheritance: 53 | :undoc-members: 54 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.platforms.pocketoption.ws.objects.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.ws.objects package 2 | ============================================================ 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.platforms.pocketoption.ws.objects.base module 8 | ---------------------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects.base 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | BinaryOptionsTools.platforms.pocketoption.ws.objects.candles module 16 | ------------------------------------------------------------------- 17 | 18 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects.candles 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | BinaryOptionsTools.platforms.pocketoption.ws.objects.time\_sync module 24 | ---------------------------------------------------------------------- 25 | 26 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects.time_sync 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | 31 | BinaryOptionsTools.platforms.pocketoption.ws.objects.timesync module 32 | -------------------------------------------------------------------- 33 | 34 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects.timesync 35 | :members: 36 | :show-inheritance: 37 | :undoc-members: 38 | 39 | Module contents 40 | --------------- 41 | 42 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.objects 43 | :members: 44 | :show-inheritance: 45 | :undoc-members: 46 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.platforms.pocketoption.ws.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms.pocketoption.ws package 2 | ==================================================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.platforms.pocketoption.ws.channels 11 | BinaryOptionsTools.platforms.pocketoption.ws.objects 12 | 13 | Submodules 14 | ---------- 15 | 16 | BinaryOptionsTools.platforms.pocketoption.ws.client module 17 | ---------------------------------------------------------- 18 | 19 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws.client 20 | :members: 21 | :show-inheritance: 22 | :undoc-members: 23 | 24 | Module contents 25 | --------------- 26 | 27 | .. automodule:: BinaryOptionsTools.platforms.pocketoption.ws 28 | :members: 29 | :show-inheritance: 30 | :undoc-members: 31 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.platforms.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.platforms package 2 | ==================================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.platforms.pocketoption 11 | 12 | Module contents 13 | --------------- 14 | 15 | .. automodule:: BinaryOptionsTools.platforms 16 | :members: 17 | :show-inheritance: 18 | :undoc-members: 19 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.research.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.research package 2 | =================================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.research.tests 11 | 12 | Submodules 13 | ---------- 14 | 15 | BinaryOptionsTools.research.smalowatr module 16 | -------------------------------------------- 17 | 18 | .. automodule:: BinaryOptionsTools.research.smalowatr 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | 23 | Module contents 24 | --------------- 25 | 26 | .. automodule:: BinaryOptionsTools.research 27 | :members: 28 | :show-inheritance: 29 | :undoc-members: 30 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.research.tests.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools.research.tests package 2 | ========================================= 3 | 4 | Submodules 5 | ---------- 6 | 7 | BinaryOptionsTools.research.tests.csv\_tests module 8 | --------------------------------------------------- 9 | 10 | .. automodule:: BinaryOptionsTools.research.tests.csv_tests 11 | :members: 12 | :show-inheritance: 13 | :undoc-members: 14 | 15 | Module contents 16 | --------------- 17 | 18 | .. automodule:: BinaryOptionsTools.research.tests 19 | :members: 20 | :show-inheritance: 21 | :undoc-members: 22 | -------------------------------------------------------------------------------- /docs/source/BinaryOptionsTools.rst: -------------------------------------------------------------------------------- 1 | BinaryOptionsTools package 2 | ========================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | BinaryOptionsTools.bot 11 | BinaryOptionsTools.indicators 12 | BinaryOptionsTools.platforms 13 | BinaryOptionsTools.research 14 | 15 | Submodules 16 | ---------- 17 | 18 | BinaryOptionsTools.api module 19 | ----------------------------- 20 | 21 | .. automodule:: BinaryOptionsTools.api 22 | :members: 23 | :show-inheritance: 24 | :undoc-members: 25 | 26 | Module contents 27 | --------------- 28 | 29 | .. automodule:: BinaryOptionsTools 30 | :members: 31 | :show-inheritance: 32 | :undoc-members: 33 | -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- 1 | # Configuration file for the Sphinx documentation builder. 2 | # 3 | # For the full list of built-in configuration values, see the documentation: 4 | # https://www.sphinx-doc.org/en/master/usage/configuration.html 5 | 6 | # -- Project information ----------------------------------------------------- 7 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information 8 | import os 9 | import sys 10 | sys.path.insert(0, os.path.abspath('..')) # Make your package importable 11 | 12 | project = 'BinaryOptionsToolsV1' 13 | copyright = '2025, Vigo Walker' 14 | author = 'Vigo Walker' 15 | release = 'v1.0.1' 16 | 17 | # -- General configuration --------------------------------------------------- 18 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration 19 | 20 | extensions = ['sphinx.ext.autodoc', 'sphinx.ext.autodoc', 'sphinx.ext.napoleon'] 21 | 22 | # If you want to include type hints in the docs: 23 | autodoc_typehints = 'description' 24 | 25 | templates_path = ['_templates'] 26 | exclude_patterns = [] 27 | 28 | 29 | 30 | # -- Options for HTML output ------------------------------------------------- 31 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output 32 | 33 | html_theme = 'sphinx_rtd_theme' 34 | html_static_path = ['_static'] 35 | -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | .. BinaryOptionsToolsV1 documentation master file, created by 2 | sphinx-quickstart on Wed Mar 26 11:29:11 2025. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to BinaryOptionsToolsV1's documentation! 7 | ===================================== 8 | 9 | .. toctree:: 10 | :maxdepth: 2 11 | :caption: Contents: 12 | 13 | BinaryOptionsTools 14 | BinaryOptionsTools.bot 15 | BinaryOptionsTools.platforms 16 | BinaryOptionsTools.research 17 | BinaryOptionsTools.indicators 18 | 19 | API Reference 20 | ============= 21 | 22 | .. automodule:: BinaryOptionsToolsV1 23 | :members: 24 | :undoc-members: 25 | :show-inheritance: 26 | 27 | -------------------------------------------------------------------------------- /docs/test_csv1__wdwd_.csv: -------------------------------------------------------------------------------- 1 | ,trade_result 2 | 0,win 3 | 1,win 4 | 2,win 5 | 3,win 6 | 4,win 7 | 5,win 8 | 6,win 9 | 7,loss 10 | 8,loss 11 | 9,loss 12 | 10,loss 13 | 11,loss 14 | -------------------------------------------------------------------------------- /examples/minimal.py: -------------------------------------------------------------------------------- 1 | import logging.config 2 | from BinaryOptionsTools import pocketoption 3 | 4 | import logging 5 | logging.basicConfig(level=logging.INFO) 6 | 7 | ssid = input("Enter your ssid: ") 8 | api = pocketoption(ssid, True) 9 | 10 | # Get current balance 11 | print(f"GET BALANCE: {api.GetBalance()}") -------------------------------------------------------------------------------- /examples/sma-crossoverbot.py: -------------------------------------------------------------------------------- 1 | from BinaryOptionsTools import pocketoption 2 | import ta 3 | import time 4 | # import pandas as pd 5 | 6 | ssid = (r'42["auth",{"session":"vtftn12e6f5f5008moitsd6skl","isDemo":1,"uid":27658142,"platform":2}]') 7 | demo = True 8 | api = pocketoption(ssid, demo) 9 | 10 | def GetCandles(symbol, timeframe, limit=100): 11 | # Fetch candle data for a given symbol and timeframe 12 | candles = api.GetCandles(symbol, timeframe, limit) 13 | #df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s') # Assuming 'timestamp' is in seconds 14 | return candles 15 | 16 | def DetectSMAsimple(symbol, timeframe, period=14): 17 | # Fetch the candles for the given symbol and timeframe 18 | df = api.GetCandles(symbol, timeframe) 19 | print(f"DF: {df}") 20 | # Calculate the simple moving average using the 'close' price 21 | df['SMA'] = ta.trend.sma_indicator(df['close'], window=period) 22 | 23 | # Check if last SMA is bullish or bearish 24 | if df['SMA'].iloc[-1] > df['close'].iloc[-2]: # Bullish 25 | return "Bullish" 26 | elif df['SMA'].iloc[-1] < df['close'].iloc[-2]: # Bearish 27 | return "Bearish" 28 | else: 29 | return "Neutral" 30 | 31 | def DetectSMAStream(symbol, timeframe, period=14, interval=60): 32 | # Continuously fetch and detect SMA trend 33 | while True: 34 | try: 35 | result = DetectSMAsimple(symbol, timeframe, period) 36 | print(f"SMA Trend: {result}") 37 | # Wait for the next update (based on interval) 38 | time.sleep(interval) 39 | except KeyboardInterrupt: 40 | break 41 | 42 | # Detect SMA once 43 | print(DetectSMAsimple("EURUSD_otc", 1)) 44 | 45 | # Stream SMA trend detection every minute 46 | DetectSMAStream("EURUSD_otc", 1, interval=60) 47 | 48 | #NOTE: DetectSMAsimple is just the basic calculation and DetectSMAStream is like a stream of data, constantly detecting sma and if last sma was bullish or bearish -------------------------------------------------------------------------------- /examples/telegram_bot.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/examples/telegram_bot.zip -------------------------------------------------------------------------------- /examples/telegram_bot/.env: -------------------------------------------------------------------------------- 1 | TOKEN = "Your bot token" 2 | TIME_FRAME = 45 # Amount of seconds to wait for the trade to close 3 | AMOUNT = 10 # Amount of dollars to trade each time -------------------------------------------------------------------------------- /examples/telegram_bot/server.py: -------------------------------------------------------------------------------- 1 | from robyn import Robyn, Request, Response, Headers 2 | from BinaryOptionsTools import pocketoption 3 | import nest_asyncio 4 | nest_asyncio.apply() 5 | 6 | 7 | def get_args(): 8 | ssid = input("Enter your ssid: ") 9 | demo = not bool(int(input("Do you want to use demo or real account? (0: demo, 1: real) "))) 10 | if demo: 11 | print("DEMO") 12 | else: 13 | print("REAL") 14 | return ssid, demo 15 | app = Robyn(__file__) 16 | ssid, demo = get_args() 17 | api = pocketoption(ssid, demo) 18 | 19 | 20 | @app.post("/pocketoption") 21 | async def handler(request: Request): 22 | global api 23 | body = request.json() 24 | pair = body["pair"] 25 | action = body["action"] 26 | time_frame = int(body.get("time_frame", 60)) 27 | amount = int(body.get("amount", 10)) 28 | 29 | if action == "put": 30 | api.Put(amount, pair, time_frame) 31 | else: 32 | api.Call(amount, pair, time_frame) 33 | 34 | return Response(status_code=200, headers=Headers({}), description="OK") 35 | 36 | 37 | 38 | 39 | if __name__ == "__main__": 40 | app.start(port=3000) 41 | 42 | -------------------------------------------------------------------------------- /examples/telegram_bot/telegram-bot.py: -------------------------------------------------------------------------------- 1 | import requests 2 | 3 | from telegram import Update 4 | from telegram.ext import Application, ContextTypes, MessageHandler, filters 5 | 6 | from dotenv import load_dotenv 7 | import os 8 | load_dotenv() 9 | 10 | def make_request(pair: str, action: str, amount: int, time_frame: int): 11 | data = { 12 | "pair": pair, 13 | "action": action, 14 | "time_frame": time_frame, 15 | "amount": amount 16 | } 17 | url = "http://localhost:3000/pocketoption" 18 | headers = { 19 | "Content-Type": "application/json", 20 | } 21 | return requests.post(url, headers=headers, json=data) 22 | 23 | 24 | def get_args(): 25 | token = os.getenv("TOKEN") 26 | time_frame = int(os.getenv("TIME_FRAME", default= 60)) # It expects it to be an integer representing seconds 27 | amount = int(os.getenv("AMOUNT", default=10)) # The amount of dollars to trade 28 | return token, time_frame, amount 29 | 30 | 31 | def parser(text: str) -> tuple[str, str] | None: 32 | try: 33 | pair = text.split(":")[1].strip().split(" ")[0].replace("/", "") + "_otc" 34 | if "ПРОДАВАТЬ" in text or "🔴" in text: 35 | option = "put" 36 | elif "ПОКУПАТЬ" in text or "🟢" in text: 37 | option = "call" 38 | else: 39 | return None 40 | return pair, option 41 | except Exception as e: 42 | print("ERROR:", e) 43 | 44 | 45 | async def handler(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: 46 | global time_frame, amount, api 47 | print("Recieved message:", update.message.text) 48 | parsed = parser(update.message.text) 49 | if isinstance(parsed, tuple): 50 | pair, option = parsed[0], parsed[1] 51 | 52 | response = make_request(pair, option, amount, time_frame) 53 | print(response.text) 54 | return 55 | return 56 | 57 | if __name__ == "__main__": 58 | token, time_frame, amount = get_args() 59 | 60 | application = Application.builder().token(token).build() 61 | application.add_handler(MessageHandler(filters.TEXT, handler)) 62 | application.run_polling(allowed_updates=Update.ALL_TYPES) 63 | # tests = [ 64 | # """Валютная пара: EUR/JPY 🇪🇺/🇯🇵 65 | # Сигнал: ПРОДАВАТЬ 🔴 66 | # Текущая цена: 165.964 67 | # Время опциона: 1 минут ⏱️ 68 | # """, 69 | # """ 70 | # Валютная пара: AUD/USD 🇦🇺/🇺🇸 71 | # Сигнал: ПОКУПАТЬ 🟢 72 | # Текущая цена: 0.65744 73 | # Время опциона: 1 минут ⏱️ 74 | # """, 75 | # """ 76 | # Валютная пара: EUR/USD 🇪🇺/🇺🇸Сигнал: ПРОДАВАТЬ 🔴 77 | # Текущая цена: 1.08307Время опциона: 1 минут ⏱️ 78 | # """ 79 | # ] 80 | # for test in tests: 81 | # print(parser(test)) -------------------------------------------------------------------------------- /getdatatest.py: -------------------------------------------------------------------------------- 1 | from BinaryOptionsTools import pocketoption 2 | 3 | ssid = (r'42["auth",{"session":"n6ghkt8nk931jj6ffljoj8knj3","isDemo":1,"uid":85249466,"platform":2}]') 4 | api = pocketoption(ssid, True) 5 | 6 | df = api.GetCandles("AUDNZD_otc", 1, count=9000, count_request=100) 7 | df.to_csv("history-AUDNZD_otc.csv") 8 | -------------------------------------------------------------------------------- /make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=source 11 | set BUILDDIR=build 12 | 13 | %SPHINXBUILD% >NUL 2>NUL 14 | if errorlevel 9009 ( 15 | echo. 16 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 17 | echo.installed, then set the SPHINXBUILD environment variable to point 18 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 19 | echo.may add the Sphinx directory to PATH. 20 | echo. 21 | echo.If you don't have Sphinx installed, grab it from 22 | echo.https://www.sphinx-doc.org/ 23 | exit /b 1 24 | ) 25 | 26 | if "%1" == "" goto help 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools>=42", "wheel"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | aiohappyeyeballs 2 | aiohttp 3 | aiosignal 4 | async-timeout 5 | attrs 6 | certifi 7 | charset-normalizer 8 | choicelib 9 | frozenlist 10 | idna 11 | msgspec 12 | multidict 13 | numpy 14 | pandas 15 | propcache 16 | python-dateutil 0 17 | pytz 18 | requests 19 | six 20 | structlog 21 | typing-extensions 22 | tzdata 23 | tzlocal 24 | urllib3 25 | websockets 26 | yarl -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | name = BinaryOptionsTools 3 | version = 1.0.0 4 | author = Vigo Walker 5 | author_email = vigopaul05@gmail.com 6 | description = BinaryOptionsTools is a powerful suite of tools designed to enhance your binary options trading experience. Whether you're looking for analysis, strategy optimization, or execution tools, this project provides a variety of solutions to help you make informed trading decisions. 7 | long_description = file: README.md 8 | long_description_content_type = text/markdown 9 | url = https://github.com/ChipaDevTeam/BinaryOptionsTools 10 | license = MIT 11 | classifiers = 12 | Programming Language :: Python :: 3 13 | License :: OSI Approved :: MIT License 14 | Operating System :: OS Independent 15 | 16 | [options] 17 | packages = find: 18 | python_requires = >=3.6 19 | install_requires = 20 | pandas 21 | 22 | [options.packages.find] 23 | where = BinaryOptionsTools 24 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup, find_packages 2 | 3 | setup( 4 | name='BinaryOptionsTools', 5 | version='1.0.0', 6 | author='Chipa', 7 | author_email='vigopaul05@gmail.com', 8 | description='Tools for Binary Options trading', 9 | long_description=open('README.md').read(), 10 | long_description_content_type='text/markdown', 11 | url='https://github.com/ChipaDevTeam/BinaryOptionsToolsV1', 12 | packages=find_packages(), 13 | include_package_data=True, 14 | install_requires=[ 15 | # List your dependencies here, e.g. 16 | 'numpy', 17 | 'pandas', 18 | ], 19 | classifiers=[ 20 | 'Programming Language :: Python :: 3', 21 | 'License :: OSI Approved :: MIT License', 22 | 'Operating System :: OS Independent', 23 | ], 24 | ) 25 | -------------------------------------------------------------------------------- /test.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | from BinaryOptionsTools import pocketoption 3 | from sklearn.preprocessing import StandardScaler 4 | import torch 5 | import torch.nn as nn 6 | import torch.optim as optim 7 | from ta.momentum import RSIIndicator 8 | from ta.trend import MACD, SMAIndicator, EMAIndicator 9 | import time 10 | # Define a basic neural network 11 | class BinaryOptionsModel(nn.Module): 12 | def __init__(self, input_size, hidden_size, output_size): 13 | super(BinaryOptionsModel, self).__init__() 14 | self.fc1 = nn.Linear(input_size, hidden_size) 15 | self.relu = nn.ReLU() 16 | self.fc2 = nn.Linear(hidden_size, hidden_size) 17 | self.relu2 = nn.ReLU() 18 | self.fc3 = nn.Linear(hidden_size, output_size) 19 | self.sigmoid = nn.Sigmoid() 20 | 21 | def forward(self, x): 22 | x = self.fc1(x) 23 | x = self.relu(x) 24 | x = self.fc2(x) 25 | x = self.relu2(x) 26 | x = self.fc3(x) 27 | x = self.sigmoid(x) 28 | return x 29 | # Load the session and connect to the PocketOption API 30 | ssid = (r'42["auth",{"session":"n6ghkt8nk931jj6ffljoj8knj3","isDemo":1,"uid":85249466,"platform":2}]') 31 | 32 | api = pocketoption(ssid, True) 33 | 34 | # Get current balance 35 | print(f"GET BALANCE: {api.GetBalance()}") 36 | 37 | # Fetch candle data 38 | df = api.GetCandles("EURUSD_otc", 1, count=420) 39 | print(df) 40 | 41 | # Preprocess the data (example assumes df has the right structure) 42 | def preprocess_data(df): 43 | data = df 44 | # Calculate RSI 45 | rsi_period = 14 46 | data['rsi'] = RSIIndicator(close=data['close'], window=rsi_period).rsi() 47 | 48 | # Calculate MACD 49 | macd = MACD(close=data['close']) 50 | data['macd'] = macd.macd() 51 | data['macd_signal'] = macd.macd_signal() 52 | 53 | # Calculate Moving Averages 54 | sma_period = 50 55 | ema_period = 20 56 | data['sma'] = SMAIndicator(close=data['close'], window=sma_period).sma_indicator() 57 | data['ema'] = EMAIndicator(close=data['close'], window=ema_period).ema_indicator() 58 | 59 | # Drop any NaN values generated by the indicators 60 | data.dropna(inplace=True) 61 | 62 | # Define the feature columns, including the new signals 63 | features = ['open', 'high', 'low', 'close', 'rsi', 'macd', 'macd_signal', 'sma', 'ema'] 64 | 65 | # Define a future prediction window (e.g., 5 periods ahead) 66 | prediction_window = 5 67 | 68 | # Create the target column: 1 if future close price is higher, else 0 69 | data['target'] = (data['close'].shift(-prediction_window) > data['close']).astype(int) 70 | 71 | 72 | # Extract features and target 73 | X = data[features].values 74 | y = data['target'].values 75 | 76 | scaler = StandardScaler() 77 | features_scaled = scaler.fit_transform(X) 78 | 79 | # Convert to torch tensor 80 | features_tensor = torch.tensor(features_scaled, dtype=torch.float32) 81 | 82 | return features_tensor 83 | 84 | while True: 85 | try: 86 | # Preprocess the fetched data 87 | X = preprocess_data(df) 88 | 89 | # Initialize the model (ensure that the architecture matches the trained model) 90 | input_size = 9 # Number of features 91 | hidden_size = 640 # Same hidden size as during training 92 | output_size = 1 # Single output (binary classification: "put" or "call") 93 | 94 | model = BinaryOptionsModel(input_size, hidden_size, output_size) 95 | 96 | # Load the saved model 97 | model.load_state_dict(torch.load(r"C:\Users\vigop\BinaryOptionsTools\binary_options_model2.pth")) 98 | 99 | # Set the model to evaluation mode (since we're making predictions) 100 | model.eval() 101 | 102 | # Make predictions 103 | with torch.no_grad(): 104 | outputs = model(X) 105 | predictions = (outputs > 0.5).float() # Binary prediction: 1 for call, 0 for put 106 | 107 | # Example of taking action based on predictions 108 | last_prediction = predictions[-1].item() 109 | 110 | if last_prediction == 1: 111 | print("Placing a 'call' trade.") 112 | # api.Trade('EURUSD_otc', direction='call', amount=1) # Uncomment to place a call trade 113 | api.Call(10, "EURUSD_otc", 5) 114 | time.sleep(1) 115 | else: 116 | print("Placing a 'put' trade.") 117 | # api.Trade('EURUSD_otc', direction='put', amount=1) # Uncomment to place a put trade 118 | api.Put(10, "EURUSD_otc", 5) 119 | time.sleep(1) 120 | time.sleep(1) 121 | except KeyboardInterrupt: 122 | break 123 | -------------------------------------------------------------------------------- /test2.py: -------------------------------------------------------------------------------- 1 | # Made by Vigo Walker 2 | 3 | from BinaryOptionsTools import pocketoption 4 | from ta.trend import MACD 5 | import time 6 | 7 | ssid = (r'42["auth",{"session":"vtftn12e6f5f5008moitsd6skl","isDemo":1,"uid":27658142,"platform":2}]') 8 | demo = True 9 | api = pocketoption(ssid, demo) 10 | 11 | last_trade = None # Track the last trade type (either "call" or "put") 12 | 13 | while True: 14 | try: 15 | data = api.GetCandles("EURUSD_otc", 5) 16 | 17 | # MACD calculation 18 | macd_indicator = MACD(data["close"], window_slow=26, window_fast=12, window_sign=9) 19 | macd_line = macd_indicator.macd() 20 | signal_line = macd_indicator.macd_signal() 21 | histogram = macd_indicator.macd_diff() 22 | 23 | # Get the last values for the MACD, signal line, and histogram 24 | macd_val = macd_line.iloc[-1] 25 | signal_val = signal_line.iloc[-1] 26 | hist_val = histogram.iloc[-1] 27 | 28 | print(macd_val) 29 | print(signal_val) 30 | print(hist_val) 31 | 32 | # Conditions for bullish and bearish crossovers 33 | bullish_crossover = macd_val > signal_val 34 | bearish_crossover = macd_val < signal_val 35 | 36 | if bullish_crossover and last_trade != "call": 37 | print("Bullish crossover detected - Placing a CALL order") 38 | api.Call(expiration=5, amount=10) 39 | last_trade = "call" 40 | 41 | elif bearish_crossover and last_trade != "put": 42 | print("Bearish crossover detected - Placing a PUT order") 43 | api.Put(expiration=5, amount=10) 44 | last_trade = "put" 45 | else: 46 | print("No trade...") 47 | 48 | time.sleep(1) # Delay to avoid overloading the API 49 | 50 | except KeyboardInterrupt: 51 | break 52 | except Exception as e: 53 | print(f"An error occurred: {e}") 54 | -------------------------------------------------------------------------------- /tools/pocketoption-debugger.js: -------------------------------------------------------------------------------- 1 | // Made by © https://github.com/B4rCodee 2 | 3 | 4 | const messageReceiveListeners = [receiveListener] 5 | const messageSendListeners = [sendListener] 6 | const decoder = new TextDecoder("utf-8"); 7 | 8 | /** 9 | * WebSocket Interception 10 | */ 11 | const sockets = [] 12 | 13 | function listen(fn = debug) { 14 | const originalDataGetter = Object.getOwnPropertyDescriptor(MessageEvent.prototype, "data").get; 15 | 16 | function dataInterceptor() { 17 | if (this.currentTarget instanceof WebSocket) { 18 | if (!sockets.includes(this.currentTarget) && !this.currentTarget.url.includes("chat")) { 19 | const originalSend = this.currentTarget.send; 20 | this.currentTarget.send = function(message) { 21 | originalSend.call(this, message); 22 | messageSendListeners.forEach(listener => listener(message)); 23 | }; 24 | sockets.push(this.currentTarget) 25 | this.currentTarget.addEventListener("message", (event) => { 26 | 27 | messageReceiveListeners.forEach(listener => listener(event.data)); 28 | }); 29 | } 30 | 31 | // fn({ data: originalDataGetter.call(this), socket: this.currentTarget, event: this }); 32 | } 33 | return originalDataGetter.call(this); 34 | } 35 | 36 | Object.defineProperty(MessageEvent.prototype, "data", { 37 | get: dataInterceptor, 38 | configurable: true 39 | }); 40 | } 41 | 42 | function messageHandler(data) { 43 | messageReceiveListeners.forEach(listener => listener(data)); 44 | messageSendListeners.forEach(listener => listener(data)); 45 | } 46 | 47 | let receive = true 48 | let send = true 49 | 50 | const types = new Map() 51 | 52 | let expected = "" 53 | 54 | function receiveListener(data) { 55 | if (!receive || data.length < 2) return 56 | if (data instanceof ArrayBuffer) { 57 | data = decoder.decode(data) 58 | } 59 | 60 | if (data.startsWith("451-")) { 61 | const proc = data.replace("451-", "") 62 | const json = JSON.parse(proc) 63 | const messageType = json[0] 64 | expected = messageType 65 | return 66 | } 67 | 68 | if (!types.has(expected && expected != "")) { 69 | 70 | types.set(expected, data) 71 | console.log("[RECEIVE] " + expected, ": ", data) 72 | } 73 | } 74 | 75 | function sendListener(data) { 76 | if (!send || data.length < 3) return 77 | 78 | const proc = data.replace("42", "") 79 | const json = JSON.parse(proc) 80 | const type = json[0] 81 | console.log("[SEND]: ", type + ": " + proc) 82 | if (!types.has(type)) { 83 | 84 | types.set(type, data) 85 | console.log(type, ": ", data) 86 | } 87 | } 88 | 89 | listen(({ data }) => messageHandler(data)); -------------------------------------------------------------------------------- /trend.pth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChipaDevTeam/BinaryOptionsToolsV1/a9ff1157351e8632883541f8b3b0072a10e04fb3/trend.pth --------------------------------------------------------------------------------