{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Образец работы стратегии\n", "В этом файле представлен образец простешей стратегии.\n", "\n", "Формат самого файла - notebook, записная книжка. Это специальный формат файлов, в котором каждый кусочек кода можно исполнять отдельно.\n", "\n", "Для того, чтобы исполнить ячейку - нужно нажать Shift+Enter. После одиночного нажатия активной ячейкой ставится следующая. Для работы достаточно поочередно понажимать эту комбинацию до последней ячейки, где и запустится основная программа." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Добавляем директорию основной папки в PATH\n", "## Посмотрите как это можно пофиксить. Возможно на проде такого не будет\n", "Здесь Python понимает, что ему нужно обращать внимание на главную папку с библиотекой. Ничего дополнительно нажимать не надо, только исполнить ячейку." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import sys\n", "import os\n", "\n", "path = os.getcwd()\n", "repo_folder = os.path.dirname(os.path.dirname(path))\n", "sys.path.append(repo_folder)\n", "!set PATH=%PATH%;%APPDATA%\\Python\\Scripts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Загружаем все необходимые библиотеки для запуска скрипта\n", "Здесь загружаются основные библиотеки для работы программы.\n", "Загрузки представлены в виде \"from ... import ...\". Это значит, что из библиотеки decimal (from decimal) мы загружаем функционад Decimal (import Decimal). Это может как отдельные спецфункции, так и сложные алгоритмы." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "pycharm": { "is_executing": true } }, "outputs": [], "source": [ "import logging\n", "\n", "from t_tech.invest.mock_services import MockedClient\n", "from decimal import Decimal\n", "from t_tech.invest.strategies.moving_average.strategy_settings import (\n", " MovingAverageStrategySettings,\n", ")\n", "from t_tech.invest import CandleInterval, MoneyValue\n", "from t_tech.invest.strategies.moving_average.signal_executor import (\n", " MovingAverageSignalExecutor,\n", ")\n", "from t_tech.invest.strategies.moving_average.supervisor import (\n", " MovingAverageStrategySupervisor,\n", ")\n", "from t_tech.invest.strategies.moving_average.strategy_state import (\n", " MovingAverageStrategyState,\n", ")\n", "from t_tech.invest.strategies.moving_average.strategy import MovingAverageStrategy\n", "from t_tech.invest.strategies.moving_average.trader import MovingAverageStrategyTrader\n", "from datetime import timedelta, datetime, timezone\n", "from t_tech.invest.typedefs import ShareId, AccountId\n", "from t_tech.invest.strategies.base.account_manager import AccountManager\n", "from t_tech.invest.strategies.moving_average.plotter import (\n", " MovingAverageStrategyPlotter,\n", ")\n", "\n", "\n", "logging.basicConfig(format=\"%(asctime)s %(levelname)s:%(message)s\", level=logging.INFO)\n", "logger = logging.getLogger(__name__)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Загружаем токен\n", "Здесь мы указываем токен для работы с программой.\n", "Токен - этой такой ключ-идентификатор, который позволяет программе понять что вы это вы.\n", "Инструкция здесь: https://www.tbank.ru/invest/open-api/\n", "\n", "Для работы нам нужен sandbox токен.\n", "\n", "Sandbox - это такая внутрення виртуальная площадка, на которой ценовые и потоковые данные полностью совпадают с реальным рынком, но портфель и заявки могут быть заданы самим пользователем. Эдакая песочница (что и отражено в названии) для того, чтобы испытать интерфейс и инфраструктуру без угрозы настоящему аккаунту с настоящими деньгами.\n", "\n", "При получении sandbox токена вы не рискуете ничем, кроме виртуальных денег на вашем счете :)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "pycharm": { "is_executing": true } }, "outputs": [], "source": [ "# sandbox token\n", "token = \"\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Раздел с настройками\n", "Здесь вводятся основные настройки стратегии, по которой будут определяться сигналы.\n", "\n", "Стратегия основана на том, что цена время от времени возвращается к своей длинной средней. Если в это время зайти по направлению этой средней, то можно совершить достаточно эффективную сделку с точки зрения прибыль/убытка.\n", "\n", "Для запуска стратегии необходимо задать следующие параметры:\n", "\n", " - long_ma - количество периодов для расчета длинной скользяшки\n", " - short_ma - количество периодов для расчета короткой скользяшки\n", " - std_period - количество периодов для расчета волатильности инструмента\n", " - timeframe - выбранная размерность свечей для расчета\n", " \n", " В переменную stocks записываются акции, на которых будет тестироваться стратегия." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "long_ma = 240\n", "short_ma = 60\n", "std_period = 30\n", "timaframe = CandleInterval.CANDLE_INTERVAL_1_MIN\n", "n, m, s, tf = long_ma, short_ma, std_period, timaframe\n", "period = 1 # сюда добавить переход от tf к числу или отрекдактировать код снизу\n", "\n", "stocks = {\n", " \"AAPL\": {\"figi\": \"BBG000B9XRY4\"},\n", " \"MSFT\": {\"figi\": \"BBG000BPH459\"},\n", " # \"GOOG\":{\"figi\":\"BBG009S3NB30\"}, гугл не работает\n", " \"AMZN\": {\"figi\": \"BBG000BVPV84\"},\n", " \"TSLA\": {\"figi\": \"BBG000N9MNX3\"},\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Блок с определением дат для бектестинга\n", "Здесь задаются временные пределы для даты, на котором будет производиться бектестинг (проверка на исторических данных).\n", "\n", "По умолчанию задаются как зависимости от количества периодов." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def start_datetime() -> datetime:\n", " return datetime(year=2022, month=2, day=1, hour=17, tzinfo=timezone.utc)\n", "\n", "\n", "# тут надо проставлять сдвиг даты в зависимости от выбранного тф\n", "# что-то вроде CandleInterval.CANDLE_INTERVAL_1_MIN.seconds * (m+n) для real_market_data_test_from\n", "real_market_data_test_from = start_datetime() - timedelta(\n", " minutes=(n + m) * 2\n", ") # с какой даты начинают считаться индикаторы\n", "real_market_data_test_start = (\n", " start_datetime()\n", ") # с какой даты начинает работать стратегия\n", "real_market_data_test_end = start_datetime() + timedelta(\n", " days=2\n", ") # когда все заканчивается" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Запуск бектестинга\n", "В этой ячейке основной исполняемый код для проверки стратегии. В конце определяется инструмент, для которого наилучшим образом подходит данная стратегия\n", "\n", "По завершении стратегии можно вызывать картинку с графиком цены акции и сделками (если были).\n", "\n", "## Обеспечить такой выбор через обращение к полю events в виде events(best_stock)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2022-02-01 20:00:00,000 INFO:5f7a771f14f01b5b76ac68ea714f344a GetCandles\n", "2022-02-01 20:00:00,000 INFO:5635e1dbaa249a58e111c29dae684006 GetCandles\n", "2022-02-01 20:00:00,000 INFO:fb56d92d981e55d59805908a21abce24 GetCandles\n", "2022-02-01 20:00:00,000 INFO:Loading candles for period 5:00:00 from 2022-02-01 17:00:00+00:00\n", "2022-02-01 20:00:00,000 INFO:Marginal trade is active\n", "2022-02-01 20:00:00,000 INFO:Got enough data for strategy\n", "2022-02-01 20:00:00,000 INFO:Trade 0\n", "2022-02-01 20:00:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:00:00,000 INFO:Refreshing data\n", "2022-02-01 20:00:00,000 INFO:Data refreshed\n", "2022-02-01 20:00:00,000 INFO:Strategy predict\n", "2022-02-01 20:00:00,000 INFO:Got signals [OpenLongMarketOrder(lots=115, direction=)]\n", "2022-02-01 20:00:00,000 INFO:Trying to execute signal OpenLongMarketOrder(lots=115, direction=)\n", "2022-02-01 20:00:00,000 WARNING:Operation: OrderDirection.ORDER_DIRECTION_BUY, -20026.10000000\n", "2022-02-01 20:00:00,000 INFO:Signal executed OpenLongMarketOrder(lots=115, direction=)\n", "2022-02-01 20:00:00,000 INFO:Trade 1\n", "2022-02-01 20:00:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:00:00,000 INFO:Refreshing data\n", "2022-02-01 20:01:00,000 INFO:Data refreshed\n", "2022-02-01 20:01:00,000 INFO:Strategy predict\n", "2022-02-01 20:01:00,000 INFO:Trade 2\n", "2022-02-01 20:01:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:01:00,000 INFO:Refreshing data\n", "2022-02-01 20:02:00,000 INFO:Data refreshed\n", "2022-02-01 20:02:00,000 INFO:Strategy predict\n", "2022-02-01 20:02:00,000 INFO:Trade 3\n", "2022-02-01 20:02:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:02:00,000 INFO:Refreshing data\n", "2022-02-01 20:03:00,000 INFO:Data refreshed\n", "2022-02-01 20:03:00,000 INFO:Strategy predict\n", "2022-02-01 20:03:00,000 INFO:Trade 4\n", "2022-02-01 20:03:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:03:00,000 INFO:Refreshing data\n", "2022-02-01 20:04:00,000 INFO:Data refreshed\n", "2022-02-01 20:04:00,000 INFO:Strategy predict\n", "2022-02-01 20:04:00,000 INFO:Trade 5\n", "2022-02-01 20:04:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:04:00,000 INFO:Refreshing data\n", "2022-02-01 20:05:00,000 INFO:Data refreshed\n", "2022-02-01 20:05:00,000 INFO:Strategy predict\n", "2022-02-01 20:05:00,000 INFO:Trade 6\n", "2022-02-01 20:05:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:05:00,000 INFO:Refreshing data\n", "2022-02-01 20:06:00,000 INFO:Data refreshed\n", "2022-02-01 20:06:00,000 INFO:Strategy predict\n", "2022-02-01 20:06:00,000 INFO:Trade 7\n", "2022-02-01 20:06:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:06:00,000 INFO:Refreshing data\n", "2022-02-01 20:07:00,000 INFO:Data refreshed\n", "2022-02-01 20:07:00,000 INFO:Strategy predict\n", "2022-02-01 20:07:00,000 INFO:Trade 8\n", "2022-02-01 20:07:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:07:00,000 INFO:Refreshing data\n", "2022-02-01 20:08:00,000 INFO:Data refreshed\n", "2022-02-01 20:08:00,000 INFO:Strategy predict\n", "2022-02-01 20:08:00,000 INFO:Trade 9\n", "2022-02-01 20:08:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:08:00,000 INFO:Refreshing data\n", "2022-02-01 20:09:00,000 INFO:Data refreshed\n", "2022-02-01 20:09:00,000 INFO:Strategy predict\n", "2022-02-01 20:09:00,000 INFO:Trade 10\n", "2022-02-01 20:09:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:09:00,000 INFO:Refreshing data\n", "2022-02-01 20:10:00,000 INFO:Data refreshed\n", "2022-02-01 20:10:00,000 INFO:Strategy predict\n", "2022-02-01 20:10:00,000 INFO:Trade 11\n", "2022-02-01 20:10:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:10:00,000 INFO:Refreshing data\n", "2022-02-01 20:11:00,000 INFO:Data refreshed\n", "2022-02-01 20:11:00,000 INFO:Strategy predict\n", "2022-02-01 20:11:00,000 INFO:Trade 12\n", "2022-02-01 20:11:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:11:00,000 INFO:Refreshing data\n", "2022-02-01 20:12:00,000 INFO:Data refreshed\n", "2022-02-01 20:12:00,000 INFO:Strategy predict\n", "2022-02-01 20:12:00,000 INFO:Trade 13\n", "2022-02-01 20:12:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:12:00,000 INFO:Refreshing data\n", "2022-02-01 20:13:00,000 INFO:Data refreshed\n", "2022-02-01 20:13:00,000 INFO:Strategy predict\n", "2022-02-01 20:13:00,000 INFO:Trade 14\n", "2022-02-01 20:13:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:13:00,000 INFO:Refreshing data\n", "2022-02-01 20:14:00,000 INFO:Data refreshed\n", "2022-02-01 20:14:00,000 INFO:Strategy predict\n", "2022-02-01 20:14:00,000 INFO:Trade 15\n", "2022-02-01 20:14:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:14:00,000 INFO:Refreshing data\n", "2022-02-01 20:15:00,000 INFO:Data refreshed\n", "2022-02-01 20:15:00,000 INFO:Strategy predict\n", "2022-02-01 20:15:00,000 INFO:Trade 16\n", "2022-02-01 20:15:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:15:00,000 INFO:Refreshing data\n", "2022-02-01 20:16:00,000 INFO:Data refreshed\n", "2022-02-01 20:16:00,000 INFO:Strategy predict\n", "2022-02-01 20:16:00,000 INFO:Trade 17\n", "2022-02-01 20:16:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:16:00,000 INFO:Refreshing data\n", "2022-02-01 20:17:00,000 INFO:Data refreshed\n", "2022-02-01 20:17:00,000 INFO:Strategy predict\n", "2022-02-01 20:17:00,000 INFO:Trade 18\n", "2022-02-01 20:17:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:17:00,000 INFO:Refreshing data\n", "2022-02-01 20:18:00,000 INFO:Data refreshed\n", "2022-02-01 20:18:00,000 INFO:Strategy predict\n", "2022-02-01 20:18:00,000 INFO:Trade 19\n", "2022-02-01 20:18:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:18:00,000 INFO:Refreshing data\n", "2022-02-01 20:19:00,000 INFO:Data refreshed\n", "2022-02-01 20:19:00,000 INFO:Strategy predict\n", "2022-02-01 20:19:00,000 INFO:Trade 20\n", "2022-02-01 20:19:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:19:00,000 INFO:Refreshing data\n", "2022-02-01 20:20:00,000 INFO:Data refreshed\n", "2022-02-01 20:20:00,000 INFO:Strategy predict\n", "2022-02-01 20:20:00,000 INFO:Trade 21\n", "2022-02-01 20:20:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:20:00,000 INFO:Refreshing data\n", "2022-02-01 20:21:00,000 INFO:Data refreshed\n", "2022-02-01 20:21:00,000 INFO:Strategy predict\n", "2022-02-01 20:21:00,000 INFO:Trade 22\n", "2022-02-01 20:21:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:21:00,000 INFO:Refreshing data\n", "2022-02-01 20:22:00,000 INFO:Data refreshed\n", "2022-02-01 20:22:00,000 INFO:Strategy predict\n", "2022-02-01 20:22:00,000 INFO:Trade 23\n", "2022-02-01 20:22:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:22:00,000 INFO:Refreshing data\n", "2022-02-01 20:23:00,000 INFO:Data refreshed\n", "2022-02-01 20:23:00,000 INFO:Strategy predict\n", "2022-02-01 20:23:00,000 INFO:Trade 24\n", "2022-02-01 20:23:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:23:00,000 INFO:Refreshing data\n", "2022-02-01 20:24:00,000 INFO:Data refreshed\n", "2022-02-01 20:24:00,000 INFO:Strategy predict\n", "2022-02-01 20:24:00,000 INFO:Trade 25\n", "2022-02-01 20:24:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:24:00,000 INFO:Refreshing data\n", "2022-02-01 20:25:00,000 INFO:Data refreshed\n", "2022-02-01 20:25:00,000 INFO:Strategy predict\n", "2022-02-01 20:25:00,000 INFO:Trade 26\n", "2022-02-01 20:25:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:25:00,000 INFO:Refreshing data\n", "2022-02-01 20:26:00,000 INFO:Data refreshed\n", "2022-02-01 20:26:00,000 INFO:Strategy predict\n", "2022-02-01 20:26:00,000 INFO:Trade 27\n", "2022-02-01 20:26:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:26:00,000 INFO:Refreshing data\n", "2022-02-01 20:27:00,000 INFO:Data refreshed\n", "2022-02-01 20:27:00,000 INFO:Strategy predict\n", "2022-02-01 20:27:00,000 INFO:Trade 28\n", "2022-02-01 20:27:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:27:00,000 INFO:Refreshing data\n", "2022-02-01 20:28:00,000 INFO:Data refreshed\n", "2022-02-01 20:28:00,000 INFO:Strategy predict\n", "2022-02-01 20:28:00,000 INFO:Trade 29\n", "2022-02-01 20:28:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:28:00,000 INFO:Refreshing data\n", "2022-02-01 20:29:00,000 INFO:Data refreshed\n", "2022-02-01 20:29:00,000 INFO:Strategy predict\n", "2022-02-01 20:29:00,000 INFO:Trade 30\n", "2022-02-01 20:29:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:29:00,000 INFO:Refreshing data\n", "2022-02-01 20:30:00,000 INFO:Data refreshed\n", "2022-02-01 20:30:00,000 INFO:Strategy predict\n", "2022-02-01 20:30:00,000 INFO:Trade 31\n", "2022-02-01 20:30:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:30:00,000 INFO:Refreshing data\n", "2022-02-01 20:31:00,000 INFO:Data refreshed\n", "2022-02-01 20:31:00,000 INFO:Strategy predict\n", "2022-02-01 20:31:00,000 INFO:Trade 32\n", "2022-02-01 20:31:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:31:00,000 INFO:Refreshing data\n", "2022-02-01 20:32:00,000 INFO:Data refreshed\n", "2022-02-01 20:32:00,000 INFO:Strategy predict\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2022-02-01 20:32:00,000 INFO:Trade 33\n", "2022-02-01 20:32:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:32:00,000 INFO:Refreshing data\n", "2022-02-01 20:33:00,000 INFO:Data refreshed\n", "2022-02-01 20:33:00,000 INFO:Strategy predict\n", "2022-02-01 20:33:00,000 INFO:Trade 34\n", "2022-02-01 20:33:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:33:00,000 INFO:Refreshing data\n", "2022-02-01 20:34:00,000 INFO:Data refreshed\n", "2022-02-01 20:34:00,000 INFO:Strategy predict\n", "2022-02-01 20:34:00,000 INFO:Trade 35\n", "2022-02-01 20:34:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:34:00,000 INFO:Refreshing data\n", "2022-02-01 20:35:00,000 INFO:Data refreshed\n", "2022-02-01 20:35:00,000 INFO:Strategy predict\n", "2022-02-01 20:35:00,000 INFO:Trade 36\n", "2022-02-01 20:35:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:35:00,000 INFO:Refreshing data\n", "2022-02-01 20:36:00,000 INFO:Data refreshed\n", "2022-02-01 20:36:00,000 INFO:Strategy predict\n", "2022-02-01 20:36:00,000 INFO:Trade 37\n", "2022-02-01 20:36:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:36:00,000 INFO:Refreshing data\n", "2022-02-01 20:37:00,000 INFO:Data refreshed\n", "2022-02-01 20:37:00,000 INFO:Strategy predict\n", "2022-02-01 20:37:00,000 INFO:Trade 38\n", "2022-02-01 20:37:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:37:00,000 INFO:Refreshing data\n", "2022-02-01 20:38:00,000 INFO:Data refreshed\n", "2022-02-01 20:38:00,000 INFO:Strategy predict\n", "2022-02-01 20:38:00,000 INFO:Trade 39\n", "2022-02-01 20:38:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:38:00,000 INFO:Refreshing data\n", "2022-02-01 20:39:00,000 INFO:Data refreshed\n", "2022-02-01 20:39:00,000 INFO:Strategy predict\n", "2022-02-01 20:39:00,000 INFO:Trade 40\n", "2022-02-01 20:39:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:39:00,000 INFO:Refreshing data\n", "2022-02-01 20:40:00,000 INFO:Data refreshed\n", "2022-02-01 20:40:00,000 INFO:Strategy predict\n", "2022-02-01 20:40:00,000 INFO:Trade 41\n", "2022-02-01 20:40:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:40:00,000 INFO:Refreshing data\n", "2022-02-01 20:41:00,000 INFO:Data refreshed\n", "2022-02-01 20:41:00,000 INFO:Strategy predict\n", "2022-02-01 20:41:00,000 INFO:Trade 42\n", "2022-02-01 20:41:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:41:00,000 INFO:Refreshing data\n", "2022-02-01 20:42:00,000 INFO:Data refreshed\n", "2022-02-01 20:42:00,000 INFO:Strategy predict\n", "2022-02-01 20:42:00,000 INFO:Trade 43\n", "2022-02-01 20:42:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:42:00,000 INFO:Refreshing data\n", "2022-02-01 20:43:00,000 INFO:Data refreshed\n", "2022-02-01 20:43:00,000 INFO:Strategy predict\n", "2022-02-01 20:43:00,000 INFO:Trade 44\n", "2022-02-01 20:43:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:43:00,000 INFO:Refreshing data\n", "2022-02-01 20:44:00,000 INFO:Data refreshed\n", "2022-02-01 20:44:00,000 INFO:Strategy predict\n", "2022-02-01 20:44:00,000 INFO:Trade 45\n", "2022-02-01 20:44:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:44:00,000 INFO:Refreshing data\n", "2022-02-01 20:45:00,000 INFO:Data refreshed\n", "2022-02-01 20:45:00,000 INFO:Strategy predict\n", "2022-02-01 20:45:00,000 INFO:Trade 46\n", "2022-02-01 20:45:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:45:00,000 INFO:Refreshing data\n", "2022-02-01 20:46:00,000 INFO:Data refreshed\n", "2022-02-01 20:46:00,000 INFO:Strategy predict\n", "2022-02-01 20:46:00,000 INFO:Trade 47\n", "2022-02-01 20:46:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:46:00,000 INFO:Refreshing data\n", "2022-02-01 20:47:00,000 INFO:Data refreshed\n", "2022-02-01 20:47:00,000 INFO:Strategy predict\n", "2022-02-01 20:47:00,000 INFO:Trade 48\n", "2022-02-01 20:47:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:47:00,000 INFO:Refreshing data\n", "2022-02-01 20:48:00,000 INFO:Data refreshed\n", "2022-02-01 20:48:00,000 INFO:Strategy predict\n", "2022-02-01 20:48:00,000 INFO:Trade 49\n", "2022-02-01 20:48:00,000 INFO:Balance: 24.59000000\n", "2022-02-01 20:48:00,000 INFO:Refreshing data\n", "2022-02-01 20:49:00,000 INFO:Data refreshed\n", "2022-02-01 20:49:00,000 INFO:Strategy predict\n", "2022-02-01 20:00:00,000 INFO:cb36fb2b70b07bfe4e18102e815e5251 GetCandles\n", "2022-02-01 20:00:00,000 INFO:de985340a1531dc91e108ff0eff51feb GetCandles\n", "2022-02-01 20:00:00,000 INFO:213c3c87452019436e51a8cdafd1b00e GetCandles\n", "2022-02-01 20:00:00,000 INFO:Loading candles for period 5:00:00 from 2022-02-01 17:00:00+00:00\n", "2022-02-01 20:00:00,000 INFO:Marginal trade is active\n", "2022-02-01 20:00:00,000 INFO:Got enough data for strategy\n", "2022-02-01 20:00:00,000 INFO:Trade 0\n", "2022-02-01 20:00:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:00:00,000 INFO:Refreshing data\n", "2022-02-01 20:00:00,000 INFO:Data refreshed\n", "2022-02-01 20:00:00,000 INFO:Strategy predict\n", "2022-02-01 20:00:00,000 INFO:Trade try complete\n", "2022-02-01 20:00:00,000 INFO:Trade 1\n", "2022-02-01 20:00:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:00:00,000 INFO:Refreshing data\n", "2022-02-01 20:01:00,000 INFO:Data refreshed\n", "2022-02-01 20:01:00,000 INFO:Strategy predict\n", "2022-02-01 20:01:00,000 INFO:Trade try complete\n", "2022-02-01 20:01:00,000 INFO:Trade 2\n", "2022-02-01 20:01:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:01:00,000 INFO:Refreshing data\n", "2022-02-01 20:02:00,000 INFO:Data refreshed\n", "2022-02-01 20:02:00,000 INFO:Strategy predict\n", "2022-02-01 20:02:00,000 INFO:Trade try complete\n", "2022-02-01 20:02:00,000 INFO:Trade 3\n", "2022-02-01 20:02:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:02:00,000 INFO:Refreshing data\n", "2022-02-01 20:03:00,000 INFO:Data refreshed\n", "2022-02-01 20:03:00,000 INFO:Strategy predict\n", "2022-02-01 20:03:00,000 INFO:Trade try complete\n", "2022-02-01 20:03:00,000 INFO:Trade 4\n", "2022-02-01 20:03:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:03:00,000 INFO:Refreshing data\n", "2022-02-01 20:04:00,000 INFO:Data refreshed\n", "2022-02-01 20:04:00,000 INFO:Strategy predict\n", "2022-02-01 20:04:00,000 INFO:Trade try complete\n", "2022-02-01 20:04:00,000 INFO:Trade 5\n", "2022-02-01 20:04:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:04:00,000 INFO:Refreshing data\n", "2022-02-01 20:05:00,000 INFO:Data refreshed\n", "2022-02-01 20:05:00,000 INFO:Strategy predict\n", "2022-02-01 20:05:00,000 INFO:Trade try complete\n", "2022-02-01 20:05:00,000 INFO:Trade 6\n", "2022-02-01 20:05:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:05:00,000 INFO:Refreshing data\n", "2022-02-01 20:06:00,000 INFO:Data refreshed\n", "2022-02-01 20:06:00,000 INFO:Strategy predict\n", "2022-02-01 20:06:00,000 INFO:Trade try complete\n", "2022-02-01 20:06:00,000 INFO:Trade 7\n", "2022-02-01 20:06:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:06:00,000 INFO:Refreshing data\n", "2022-02-01 20:07:00,000 INFO:Data refreshed\n", "2022-02-01 20:07:00,000 INFO:Strategy predict\n", "2022-02-01 20:07:00,000 INFO:Trade try complete\n", "2022-02-01 20:07:00,000 INFO:Trade 8\n", "2022-02-01 20:07:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:07:00,000 INFO:Refreshing data\n", "2022-02-01 20:08:00,000 INFO:Data refreshed\n", "2022-02-01 20:08:00,000 INFO:Strategy predict\n", "2022-02-01 20:08:00,000 INFO:Trade try complete\n", "2022-02-01 20:08:00,000 INFO:Trade 9\n", "2022-02-01 20:08:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:08:00,000 INFO:Refreshing data\n", "2022-02-01 20:09:00,000 INFO:Data refreshed\n", "2022-02-01 20:09:00,000 INFO:Strategy predict\n", "2022-02-01 20:09:00,000 INFO:Trade try complete\n", "2022-02-01 20:09:00,000 INFO:Trade 10\n", "2022-02-01 20:09:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:09:00,000 INFO:Refreshing data\n", "2022-02-01 20:10:00,000 INFO:Data refreshed\n", "2022-02-01 20:10:00,000 INFO:Strategy predict\n", "2022-02-01 20:10:00,000 INFO:Trade try complete\n", "2022-02-01 20:10:00,000 INFO:Trade 11\n", "2022-02-01 20:10:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:10:00,000 INFO:Refreshing data\n", "2022-02-01 20:11:00,000 INFO:Data refreshed\n", "2022-02-01 20:11:00,000 INFO:Strategy predict\n", "2022-02-01 20:11:00,000 INFO:Trade try complete\n", "2022-02-01 20:11:00,000 INFO:Trade 12\n", "2022-02-01 20:11:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:11:00,000 INFO:Refreshing data\n", "2022-02-01 20:12:00,000 INFO:Data refreshed\n", "2022-02-01 20:12:00,000 INFO:Strategy predict\n", "2022-02-01 20:12:00,000 INFO:Trade try complete\n", "2022-02-01 20:12:00,000 INFO:Trade 13\n", "2022-02-01 20:12:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:12:00,000 INFO:Refreshing data\n", "2022-02-01 20:13:00,000 INFO:Data refreshed\n", "2022-02-01 20:13:00,000 INFO:Strategy predict\n", "2022-02-01 20:13:00,000 INFO:Trade try complete\n", "2022-02-01 20:13:00,000 INFO:Trade 14\n", "2022-02-01 20:13:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:13:00,000 INFO:Refreshing data\n", "2022-02-01 20:14:00,000 INFO:Data refreshed\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2022-02-01 20:14:00,000 INFO:Strategy predict\n", "2022-02-01 20:14:00,000 INFO:Trade try complete\n", "2022-02-01 20:14:00,000 INFO:Trade 15\n", "2022-02-01 20:14:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:14:00,000 INFO:Refreshing data\n", "2022-02-01 20:15:00,000 INFO:Data refreshed\n", "2022-02-01 20:15:00,000 INFO:Strategy predict\n", "2022-02-01 20:15:00,000 INFO:Trade try complete\n", "2022-02-01 20:15:00,000 INFO:Trade 16\n", "2022-02-01 20:15:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:15:00,000 INFO:Refreshing data\n", "2022-02-01 20:16:00,000 INFO:Data refreshed\n", "2022-02-01 20:16:00,000 INFO:Strategy predict\n", "2022-02-01 20:16:00,000 INFO:Trade try complete\n", "2022-02-01 20:16:00,000 INFO:Trade 17\n", "2022-02-01 20:16:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:16:00,000 INFO:Refreshing data\n", "2022-02-01 20:17:00,000 INFO:Data refreshed\n", "2022-02-01 20:17:00,000 INFO:Strategy predict\n", "2022-02-01 20:17:00,000 INFO:Trade try complete\n", "2022-02-01 20:17:00,000 INFO:Trade 18\n", "2022-02-01 20:17:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:17:00,000 INFO:Refreshing data\n", "2022-02-01 20:18:00,000 INFO:Data refreshed\n", "2022-02-01 20:18:00,000 INFO:Strategy predict\n", "2022-02-01 20:18:00,000 INFO:Trade try complete\n", "2022-02-01 20:18:00,000 INFO:Trade 19\n", "2022-02-01 20:18:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:18:00,000 INFO:Refreshing data\n", "2022-02-01 20:19:00,000 INFO:Data refreshed\n", "2022-02-01 20:19:00,000 INFO:Strategy predict\n", "2022-02-01 20:19:00,000 INFO:Trade try complete\n", "2022-02-01 20:19:00,000 INFO:Trade 20\n", "2022-02-01 20:19:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:19:00,000 INFO:Refreshing data\n", "2022-02-01 20:20:00,000 INFO:Data refreshed\n", "2022-02-01 20:20:00,000 INFO:Strategy predict\n", "2022-02-01 20:20:00,000 INFO:Trade try complete\n", "2022-02-01 20:20:00,000 INFO:Trade 21\n", "2022-02-01 20:20:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:20:00,000 INFO:Refreshing data\n", "2022-02-01 20:21:00,000 INFO:Data refreshed\n", "2022-02-01 20:21:00,000 INFO:Strategy predict\n", "2022-02-01 20:21:00,000 INFO:Trade try complete\n", "2022-02-01 20:21:00,000 INFO:Trade 22\n", "2022-02-01 20:21:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:21:00,000 INFO:Refreshing data\n", "2022-02-01 20:22:00,000 INFO:Data refreshed\n", "2022-02-01 20:22:00,000 INFO:Strategy predict\n", "2022-02-01 20:22:00,000 INFO:Trade try complete\n", "2022-02-01 20:22:00,000 INFO:Trade 23\n", "2022-02-01 20:22:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:22:00,000 INFO:Refreshing data\n", "2022-02-01 20:23:00,000 INFO:Data refreshed\n", "2022-02-01 20:23:00,000 INFO:Strategy predict\n", "2022-02-01 20:23:00,000 INFO:Trade try complete\n", "2022-02-01 20:23:00,000 INFO:Trade 24\n", "2022-02-01 20:23:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:23:00,000 INFO:Refreshing data\n", "2022-02-01 20:24:00,000 INFO:Data refreshed\n", "2022-02-01 20:24:00,000 INFO:Strategy predict\n", "2022-02-01 20:24:00,000 INFO:Trade try complete\n", "2022-02-01 20:24:00,000 INFO:Trade 25\n", "2022-02-01 20:24:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:24:00,000 INFO:Refreshing data\n", "2022-02-01 20:25:00,000 INFO:Data refreshed\n", "2022-02-01 20:25:00,000 INFO:Strategy predict\n", "2022-02-01 20:25:00,000 INFO:Trade try complete\n", "2022-02-01 20:25:00,000 INFO:Trade 26\n", "2022-02-01 20:25:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:25:00,000 INFO:Refreshing data\n", "2022-02-01 20:26:00,000 INFO:Data refreshed\n", "2022-02-01 20:26:00,000 INFO:Strategy predict\n", "2022-02-01 20:26:00,000 INFO:Trade try complete\n", "2022-02-01 20:26:00,000 INFO:Trade 27\n", "2022-02-01 20:26:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:26:00,000 INFO:Refreshing data\n", "2022-02-01 20:27:00,000 INFO:Data refreshed\n", "2022-02-01 20:27:00,000 INFO:Strategy predict\n", "2022-02-01 20:27:00,000 INFO:Trade try complete\n", "2022-02-01 20:27:00,000 INFO:Trade 28\n", "2022-02-01 20:27:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:27:00,000 INFO:Refreshing data\n", "2022-02-01 20:28:00,000 INFO:Data refreshed\n", "2022-02-01 20:28:00,000 INFO:Strategy predict\n", "2022-02-01 20:28:00,000 INFO:Trade try complete\n", "2022-02-01 20:28:00,000 INFO:Trade 29\n", "2022-02-01 20:28:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:28:00,000 INFO:Refreshing data\n", "2022-02-01 20:29:00,000 INFO:Data refreshed\n", "2022-02-01 20:29:00,000 INFO:Strategy predict\n", "2022-02-01 20:29:00,000 INFO:Trade try complete\n", "2022-02-01 20:29:00,000 INFO:Trade 30\n", "2022-02-01 20:29:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:29:00,000 INFO:Refreshing data\n", "2022-02-01 20:30:00,000 INFO:Data refreshed\n", "2022-02-01 20:30:00,000 INFO:Strategy predict\n", "2022-02-01 20:30:00,000 INFO:Trade try complete\n", "2022-02-01 20:30:00,000 INFO:Trade 31\n", "2022-02-01 20:30:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:30:00,000 INFO:Refreshing data\n", "2022-02-01 20:31:00,000 INFO:Data refreshed\n", "2022-02-01 20:31:00,000 INFO:Strategy predict\n", "2022-02-01 20:31:00,000 INFO:Trade try complete\n", "2022-02-01 20:31:00,000 INFO:Trade 32\n", "2022-02-01 20:31:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:31:00,000 INFO:Refreshing data\n", "2022-02-01 20:32:00,000 INFO:Data refreshed\n", "2022-02-01 20:32:00,000 INFO:Strategy predict\n", "2022-02-01 20:32:00,000 INFO:Trade try complete\n", "2022-02-01 20:32:00,000 INFO:Trade 33\n", "2022-02-01 20:32:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:32:00,000 INFO:Refreshing data\n", "2022-02-01 20:33:00,000 INFO:Data refreshed\n", "2022-02-01 20:33:00,000 INFO:Strategy predict\n", "2022-02-01 20:33:00,000 INFO:Trade try complete\n", "2022-02-01 20:33:00,000 INFO:Trade 34\n", "2022-02-01 20:33:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:33:00,000 INFO:Refreshing data\n", "2022-02-01 20:34:00,000 INFO:Data refreshed\n", "2022-02-01 20:34:00,000 INFO:Strategy predict\n", "2022-02-01 20:34:00,000 INFO:Trade try complete\n", "2022-02-01 20:34:00,000 INFO:Trade 35\n", "2022-02-01 20:34:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:34:00,000 INFO:Refreshing data\n", "2022-02-01 20:35:00,000 INFO:Data refreshed\n", "2022-02-01 20:35:00,000 INFO:Strategy predict\n", "2022-02-01 20:35:00,000 INFO:Trade try complete\n", "2022-02-01 20:35:00,000 INFO:Trade 36\n", "2022-02-01 20:35:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:35:00,000 INFO:Refreshing data\n", "2022-02-01 20:36:00,000 INFO:Data refreshed\n", "2022-02-01 20:36:00,000 INFO:Strategy predict\n", "2022-02-01 20:36:00,000 INFO:Trade try complete\n", "2022-02-01 20:36:00,000 INFO:Trade 37\n", "2022-02-01 20:36:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:36:00,000 INFO:Refreshing data\n", "2022-02-01 20:37:00,000 INFO:Data refreshed\n", "2022-02-01 20:37:00,000 INFO:Strategy predict\n", "2022-02-01 20:37:00,000 INFO:Trade try complete\n", "2022-02-01 20:37:00,000 INFO:Trade 38\n", "2022-02-01 20:37:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:37:00,000 INFO:Refreshing data\n", "2022-02-01 20:38:00,000 INFO:Data refreshed\n", "2022-02-01 20:38:00,000 INFO:Strategy predict\n", "2022-02-01 20:38:00,000 INFO:Trade try complete\n", "2022-02-01 20:38:00,000 INFO:Trade 39\n", "2022-02-01 20:38:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:38:00,000 INFO:Refreshing data\n", "2022-02-01 20:39:00,000 INFO:Data refreshed\n", "2022-02-01 20:39:00,000 INFO:Strategy predict\n", "2022-02-01 20:39:00,000 INFO:Trade try complete\n", "2022-02-01 20:39:00,000 INFO:Trade 40\n", "2022-02-01 20:39:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:39:00,000 INFO:Refreshing data\n", "2022-02-01 20:40:00,000 INFO:Data refreshed\n", "2022-02-01 20:40:00,000 INFO:Strategy predict\n", "2022-02-01 20:40:00,000 INFO:Trade try complete\n", "2022-02-01 20:40:00,000 INFO:Trade 41\n", "2022-02-01 20:40:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:40:00,000 INFO:Refreshing data\n", "2022-02-01 20:41:00,000 INFO:Data refreshed\n", "2022-02-01 20:41:00,000 INFO:Strategy predict\n", "2022-02-01 20:41:00,000 INFO:Trade try complete\n", "2022-02-01 20:41:00,000 INFO:Trade 42\n", "2022-02-01 20:41:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:41:00,000 INFO:Refreshing data\n", "2022-02-01 20:42:00,000 INFO:Data refreshed\n", "2022-02-01 20:42:00,000 INFO:Strategy predict\n", "2022-02-01 20:42:00,000 INFO:Trade try complete\n", "2022-02-01 20:42:00,000 INFO:Trade 43\n", "2022-02-01 20:42:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:42:00,000 INFO:Refreshing data\n", "2022-02-01 20:43:00,000 INFO:Data refreshed\n", "2022-02-01 20:43:00,000 INFO:Strategy predict\n", "2022-02-01 20:43:00,000 INFO:Trade try complete\n", "2022-02-01 20:43:00,000 INFO:Trade 44\n", "2022-02-01 20:43:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:43:00,000 INFO:Refreshing data\n", "2022-02-01 20:44:00,000 INFO:Data refreshed\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2022-02-01 20:44:00,000 INFO:Strategy predict\n", "2022-02-01 20:44:00,000 INFO:Trade try complete\n", "2022-02-01 20:44:00,000 INFO:Trade 45\n", "2022-02-01 20:44:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:44:00,000 INFO:Refreshing data\n", "2022-02-01 20:45:00,000 INFO:Data refreshed\n", "2022-02-01 20:45:00,000 INFO:Strategy predict\n", "2022-02-01 20:45:00,000 INFO:Got signals [OpenShortMarketOrder(lots=65, direction=)]\n", "2022-02-01 20:45:00,000 INFO:Trying to execute signal OpenShortMarketOrder(lots=65, direction=)\n", "2022-02-01 20:45:00,000 WARNING:Operation: OrderDirection.ORDER_DIRECTION_SELL, 19919.25000000\n", "2022-02-01 20:45:00,000 INFO:Signal executed OpenShortMarketOrder(lots=65, direction=)\n", "2022-02-01 20:45:00,000 INFO:Trade 46\n", "2022-02-01 20:45:00,000 INFO:Balance: 39969.94000000\n", "2022-02-01 20:45:00,000 INFO:Refreshing data\n", "2022-02-01 20:46:00,000 INFO:Data refreshed\n", "2022-02-01 20:46:00,000 INFO:Strategy predict\n", "2022-02-01 20:46:00,000 INFO:Trade 47\n", "2022-02-01 20:46:00,000 INFO:Balance: 39969.94000000\n", "2022-02-01 20:46:00,000 INFO:Refreshing data\n", "2022-02-01 20:47:00,000 INFO:Data refreshed\n", "2022-02-01 20:47:00,000 INFO:Strategy predict\n", "2022-02-01 20:47:00,000 INFO:Trade 48\n", "2022-02-01 20:47:00,000 INFO:Balance: 39969.94000000\n", "2022-02-01 20:47:00,000 INFO:Refreshing data\n", "2022-02-01 20:48:00,000 INFO:Data refreshed\n", "2022-02-01 20:48:00,000 INFO:Strategy predict\n", "2022-02-01 20:48:00,000 INFO:Trade 49\n", "2022-02-01 20:48:00,000 INFO:Balance: 39969.94000000\n", "2022-02-01 20:48:00,000 INFO:Refreshing data\n", "2022-02-01 20:49:00,000 INFO:Data refreshed\n", "2022-02-01 20:49:00,000 INFO:Strategy predict\n", "2022-02-01 20:00:00,000 INFO:73b4915626a6f9fae3d6b1faadd2b3f0 GetCandles\n", "2022-02-01 20:00:00,000 INFO:4943406ce66bed9baba9031e69d8f5a3 GetCandles\n", "2022-02-01 20:00:00,000 INFO:c782d925a41d3def35dd4269ce2f13f4 GetCandles\n", "2022-02-01 20:00:00,000 INFO:Loading candles for period 5:00:00 from 2022-02-01 17:00:00+00:00\n", "2022-02-01 20:00:00,000 INFO:Marginal trade is active\n", "2022-02-01 20:00:00,000 INFO:Got enough data for strategy\n", "2022-02-01 20:00:00,000 INFO:Trade 0\n", "2022-02-01 20:00:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:00:00,000 INFO:Refreshing data\n", "2022-02-01 20:00:00,000 INFO:Data refreshed\n", "2022-02-01 20:00:00,000 INFO:Strategy predict\n", "2022-02-01 20:00:00,000 INFO:Trade try complete\n", "2022-02-01 20:00:00,000 INFO:Trade 1\n", "2022-02-01 20:00:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:00:00,000 INFO:Refreshing data\n", "2022-02-01 20:01:00,000 INFO:Data refreshed\n", "2022-02-01 20:01:00,000 INFO:Strategy predict\n", "2022-02-01 20:01:00,000 INFO:Trade try complete\n", "2022-02-01 20:01:00,000 INFO:Trade 2\n", "2022-02-01 20:01:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:01:00,000 INFO:Refreshing data\n", "2022-02-01 20:02:00,000 INFO:Data refreshed\n", "2022-02-01 20:02:00,000 INFO:Strategy predict\n", "2022-02-01 20:02:00,000 INFO:Trade try complete\n", "2022-02-01 20:02:00,000 INFO:Trade 3\n", "2022-02-01 20:02:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:02:00,000 INFO:Refreshing data\n", "2022-02-01 20:03:00,000 INFO:Data refreshed\n", "2022-02-01 20:03:00,000 INFO:Strategy predict\n", "2022-02-01 20:03:00,000 INFO:Trade try complete\n", "2022-02-01 20:03:00,000 INFO:Trade 4\n", "2022-02-01 20:03:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:03:00,000 INFO:Refreshing data\n", "2022-02-01 20:04:00,000 INFO:Data refreshed\n", "2022-02-01 20:04:00,000 INFO:Strategy predict\n", "2022-02-01 20:04:00,000 INFO:Trade try complete\n", "2022-02-01 20:04:00,000 INFO:Trade 5\n", "2022-02-01 20:04:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:04:00,000 INFO:Refreshing data\n", "2022-02-01 20:05:00,000 INFO:Data refreshed\n", "2022-02-01 20:05:00,000 INFO:Strategy predict\n", "2022-02-01 20:05:00,000 INFO:Trade try complete\n", "2022-02-01 20:05:00,000 INFO:Trade 6\n", "2022-02-01 20:05:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:05:00,000 INFO:Refreshing data\n", "2022-02-01 20:06:00,000 INFO:Data refreshed\n", "2022-02-01 20:06:00,000 INFO:Strategy predict\n", "2022-02-01 20:06:00,000 INFO:Trade try complete\n", "2022-02-01 20:06:00,000 INFO:Trade 7\n", "2022-02-01 20:06:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:06:00,000 INFO:Refreshing data\n", "2022-02-01 20:07:00,000 INFO:Data refreshed\n", "2022-02-01 20:07:00,000 INFO:Strategy predict\n", "2022-02-01 20:07:00,000 INFO:Trade try complete\n", "2022-02-01 20:07:00,000 INFO:Trade 8\n", "2022-02-01 20:07:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:07:00,000 INFO:Refreshing data\n", "2022-02-01 20:08:00,000 INFO:Data refreshed\n", "2022-02-01 20:08:00,000 INFO:Strategy predict\n", "2022-02-01 20:08:00,000 INFO:Trade try complete\n", "2022-02-01 20:08:00,000 INFO:Trade 9\n", "2022-02-01 20:08:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:08:00,000 INFO:Refreshing data\n", "2022-02-01 20:09:00,000 INFO:Data refreshed\n", "2022-02-01 20:09:00,000 INFO:Strategy predict\n", "2022-02-01 20:09:00,000 INFO:Trade try complete\n", "2022-02-01 20:09:00,000 INFO:Trade 10\n", "2022-02-01 20:09:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:09:00,000 INFO:Refreshing data\n", "2022-02-01 20:10:00,000 INFO:Data refreshed\n", "2022-02-01 20:10:00,000 INFO:Strategy predict\n", "2022-02-01 20:10:00,000 INFO:Trade try complete\n", "2022-02-01 20:10:00,000 INFO:Trade 11\n", "2022-02-01 20:10:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:10:00,000 INFO:Refreshing data\n", "2022-02-01 20:11:00,000 INFO:Data refreshed\n", "2022-02-01 20:11:00,000 INFO:Strategy predict\n", "2022-02-01 20:11:00,000 INFO:Trade try complete\n", "2022-02-01 20:11:00,000 INFO:Trade 12\n", "2022-02-01 20:11:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:11:00,000 INFO:Refreshing data\n", "2022-02-01 20:12:00,000 INFO:Data refreshed\n", "2022-02-01 20:12:00,000 INFO:Strategy predict\n", "2022-02-01 20:12:00,000 INFO:Trade try complete\n", "2022-02-01 20:12:00,000 INFO:Trade 13\n", "2022-02-01 20:12:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:12:00,000 INFO:Refreshing data\n", "2022-02-01 20:13:00,000 INFO:Data refreshed\n", "2022-02-01 20:13:00,000 INFO:Strategy predict\n", "2022-02-01 20:13:00,000 INFO:Trade try complete\n", "2022-02-01 20:13:00,000 INFO:Trade 14\n", "2022-02-01 20:13:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:13:00,000 INFO:Refreshing data\n", "2022-02-01 20:14:00,000 INFO:Data refreshed\n", "2022-02-01 20:14:00,000 INFO:Strategy predict\n", "2022-02-01 20:14:00,000 INFO:Got signals [OpenShortMarketOrder(lots=6, direction=)]\n", "2022-02-01 20:14:00,000 INFO:Trying to execute signal OpenShortMarketOrder(lots=6, direction=)\n", "2022-02-01 20:14:00,000 WARNING:Operation: OrderDirection.ORDER_DIRECTION_SELL, 17938.92000000\n", "2022-02-01 20:14:00,000 INFO:Signal executed OpenShortMarketOrder(lots=6, direction=)\n", "2022-02-01 20:14:00,000 INFO:Trade 15\n", "2022-02-01 20:14:00,000 INFO:Balance: 37989.61000000\n", "2022-02-01 20:14:00,000 INFO:Refreshing data\n", "2022-02-01 20:15:00,000 INFO:Data refreshed\n", "2022-02-01 20:15:00,000 INFO:Strategy predict\n", "2022-02-01 20:15:00,000 INFO:Trade 16\n", "2022-02-01 20:15:00,000 INFO:Balance: 37989.61000000\n", "2022-02-01 20:15:00,000 INFO:Refreshing data\n", "2022-02-01 20:16:00,000 INFO:Data refreshed\n", "2022-02-01 20:16:00,000 INFO:Strategy predict\n", "2022-02-01 20:16:00,000 INFO:Trade 17\n", "2022-02-01 20:16:00,000 INFO:Balance: 37989.61000000\n", "2022-02-01 20:16:00,000 INFO:Refreshing data\n", "2022-02-01 20:17:00,000 INFO:Data refreshed\n", "2022-02-01 20:17:00,000 INFO:Strategy predict\n", "2022-02-01 20:17:00,000 INFO:Trade 18\n", "2022-02-01 20:17:00,000 INFO:Balance: 37989.61000000\n", "2022-02-01 20:17:00,000 INFO:Refreshing data\n", "2022-02-01 20:18:00,000 INFO:Data refreshed\n", "2022-02-01 20:18:00,000 INFO:Strategy predict\n", "2022-02-01 20:18:00,000 INFO:Trade 19\n", "2022-02-01 20:18:00,000 INFO:Balance: 37989.61000000\n", "2022-02-01 20:18:00,000 INFO:Refreshing data\n", "2022-02-01 20:19:00,000 INFO:Data refreshed\n", "2022-02-01 20:19:00,000 INFO:Strategy predict\n", "2022-02-01 20:19:00,000 INFO:Trade 20\n", "2022-02-01 20:19:00,000 INFO:Balance: 37989.61000000\n", "2022-02-01 20:19:00,000 INFO:Refreshing data\n", "2022-02-01 20:20:00,000 INFO:Data refreshed\n", "2022-02-01 20:20:00,000 INFO:Strategy predict\n", "2022-02-01 20:20:00,000 INFO:Got signals [CloseShortMarketOrder(lots=6, direction=), OpenLongMarketOrder(lots=12, direction=)]\n", "2022-02-01 20:20:00,000 INFO:Trying to execute signal CloseShortMarketOrder(lots=6, direction=)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2022-02-01 20:20:00,000 WARNING:Operation: OrderDirection.ORDER_DIRECTION_BUY, -17977.44000000\n", "2022-02-01 20:20:00,000 INFO:Signal executed CloseShortMarketOrder(lots=6, direction=)\n", "2022-02-01 20:20:00,000 INFO:Trying to execute signal OpenLongMarketOrder(lots=12, direction=)\n", "2022-02-01 20:20:00,000 WARNING:Operation: OrderDirection.ORDER_DIRECTION_BUY, -35954.88000000\n", "2022-02-01 20:20:00,000 INFO:Signal executed OpenLongMarketOrder(lots=12, direction=)\n", "2022-02-01 20:20:00,000 INFO:Trade 21\n", "2022-02-01 20:20:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:20:00,000 INFO:Refreshing data\n", "2022-02-01 20:21:00,000 INFO:Data refreshed\n", "2022-02-01 20:21:00,000 INFO:Strategy predict\n", "2022-02-01 20:21:00,000 INFO:Trade 22\n", "2022-02-01 20:21:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:21:00,000 INFO:Refreshing data\n", "2022-02-01 20:22:00,000 INFO:Data refreshed\n", "2022-02-01 20:22:00,000 INFO:Strategy predict\n", "2022-02-01 20:22:00,000 INFO:Trade 23\n", "2022-02-01 20:22:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:22:00,000 INFO:Refreshing data\n", "2022-02-01 20:23:00,000 INFO:Data refreshed\n", "2022-02-01 20:23:00,000 INFO:Strategy predict\n", "2022-02-01 20:23:00,000 INFO:Trade 24\n", "2022-02-01 20:23:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:23:00,000 INFO:Refreshing data\n", "2022-02-01 20:24:00,000 INFO:Data refreshed\n", "2022-02-01 20:24:00,000 INFO:Strategy predict\n", "2022-02-01 20:24:00,000 INFO:Trade 25\n", "2022-02-01 20:24:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:24:00,000 INFO:Refreshing data\n", "2022-02-01 20:25:00,000 INFO:Data refreshed\n", "2022-02-01 20:25:00,000 INFO:Strategy predict\n", "2022-02-01 20:25:00,000 INFO:Trade 26\n", "2022-02-01 20:25:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:25:00,000 INFO:Refreshing data\n", "2022-02-01 20:26:00,000 INFO:Data refreshed\n", "2022-02-01 20:26:00,000 INFO:Strategy predict\n", "2022-02-01 20:26:00,000 INFO:Trade 27\n", "2022-02-01 20:26:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:26:00,000 INFO:Refreshing data\n", "2022-02-01 20:27:00,000 INFO:Data refreshed\n", "2022-02-01 20:27:00,000 INFO:Strategy predict\n", "2022-02-01 20:27:00,000 INFO:Trade 28\n", "2022-02-01 20:27:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:27:00,000 INFO:Refreshing data\n", "2022-02-01 20:28:00,000 INFO:Data refreshed\n", "2022-02-01 20:28:00,000 INFO:Strategy predict\n", "2022-02-01 20:28:00,000 INFO:Trade 29\n", "2022-02-01 20:28:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:28:00,000 INFO:Refreshing data\n", "2022-02-01 20:29:00,000 INFO:Data refreshed\n", "2022-02-01 20:29:00,000 INFO:Strategy predict\n", "2022-02-01 20:29:00,000 INFO:Trade 30\n", "2022-02-01 20:29:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:29:00,000 INFO:Refreshing data\n", "2022-02-01 20:30:00,000 INFO:Data refreshed\n", "2022-02-01 20:30:00,000 INFO:Strategy predict\n", "2022-02-01 20:30:00,000 INFO:Trade 31\n", "2022-02-01 20:30:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:30:00,000 INFO:Refreshing data\n", "2022-02-01 20:31:00,000 INFO:Data refreshed\n", "2022-02-01 20:31:00,000 INFO:Strategy predict\n", "2022-02-01 20:31:00,000 INFO:Trade 32\n", "2022-02-01 20:31:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:31:00,000 INFO:Refreshing data\n", "2022-02-01 20:32:00,000 INFO:Data refreshed\n", "2022-02-01 20:32:00,000 INFO:Strategy predict\n", "2022-02-01 20:32:00,000 INFO:Trade 33\n", "2022-02-01 20:32:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:32:00,000 INFO:Refreshing data\n", "2022-02-01 20:33:00,000 INFO:Data refreshed\n", "2022-02-01 20:33:00,000 INFO:Strategy predict\n", "2022-02-01 20:33:00,000 INFO:Trade 34\n", "2022-02-01 20:33:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:33:00,000 INFO:Refreshing data\n", "2022-02-01 20:34:00,000 INFO:Data refreshed\n", "2022-02-01 20:34:00,000 INFO:Strategy predict\n", "2022-02-01 20:34:00,000 INFO:Trade 35\n", "2022-02-01 20:34:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:34:00,000 INFO:Refreshing data\n", "2022-02-01 20:35:00,000 INFO:Data refreshed\n", "2022-02-01 20:35:00,000 INFO:Strategy predict\n", "2022-02-01 20:35:00,000 INFO:Trade 36\n", "2022-02-01 20:35:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:35:00,000 INFO:Refreshing data\n", "2022-02-01 20:36:00,000 INFO:Data refreshed\n", "2022-02-01 20:36:00,000 INFO:Strategy predict\n", "2022-02-01 20:36:00,000 INFO:Trade 37\n", "2022-02-01 20:36:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:36:00,000 INFO:Refreshing data\n", "2022-02-01 20:37:00,000 INFO:Data refreshed\n", "2022-02-01 20:37:00,000 INFO:Strategy predict\n", "2022-02-01 20:37:00,000 INFO:Trade 38\n", "2022-02-01 20:37:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:37:00,000 INFO:Refreshing data\n", "2022-02-01 20:38:00,000 INFO:Data refreshed\n", "2022-02-01 20:38:00,000 INFO:Strategy predict\n", "2022-02-01 20:38:00,000 INFO:Trade 39\n", "2022-02-01 20:38:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:38:00,000 INFO:Refreshing data\n", "2022-02-01 20:39:00,000 INFO:Data refreshed\n", "2022-02-01 20:39:00,000 INFO:Strategy predict\n", "2022-02-01 20:39:00,000 INFO:Trade 40\n", "2022-02-01 20:39:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:39:00,000 INFO:Refreshing data\n", "2022-02-01 20:40:00,000 INFO:Data refreshed\n", "2022-02-01 20:40:00,000 INFO:Strategy predict\n", "2022-02-01 20:40:00,000 INFO:Trade 41\n", "2022-02-01 20:40:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:40:00,000 INFO:Refreshing data\n", "2022-02-01 20:41:00,000 INFO:Data refreshed\n", "2022-02-01 20:41:00,000 INFO:Strategy predict\n", "2022-02-01 20:41:00,000 INFO:Trade 42\n", "2022-02-01 20:41:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:41:00,000 INFO:Refreshing data\n", "2022-02-01 20:42:00,000 INFO:Data refreshed\n", "2022-02-01 20:42:00,000 INFO:Strategy predict\n", "2022-02-01 20:42:00,000 INFO:Trade 43\n", "2022-02-01 20:42:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:42:00,000 INFO:Refreshing data\n", "2022-02-01 20:43:00,000 INFO:Data refreshed\n", "2022-02-01 20:43:00,000 INFO:Strategy predict\n", "2022-02-01 20:43:00,000 INFO:Trade 44\n", "2022-02-01 20:43:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:43:00,000 INFO:Refreshing data\n", "2022-02-01 20:44:00,000 INFO:Data refreshed\n", "2022-02-01 20:44:00,000 INFO:Strategy predict\n", "2022-02-01 20:44:00,000 INFO:Trade 45\n", "2022-02-01 20:44:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:44:00,000 INFO:Refreshing data\n", "2022-02-01 20:45:00,000 INFO:Data refreshed\n", "2022-02-01 20:45:00,000 INFO:Strategy predict\n", "2022-02-01 20:45:00,000 INFO:Trade 46\n", "2022-02-01 20:45:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:45:00,000 INFO:Refreshing data\n", "2022-02-01 20:46:00,000 INFO:Data refreshed\n", "2022-02-01 20:46:00,000 INFO:Strategy predict\n", "2022-02-01 20:46:00,000 INFO:Trade 47\n", "2022-02-01 20:46:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:46:00,000 INFO:Refreshing data\n", "2022-02-01 20:47:00,000 INFO:Data refreshed\n", "2022-02-01 20:47:00,000 INFO:Strategy predict\n", "2022-02-01 20:47:00,000 INFO:Trade 48\n", "2022-02-01 20:47:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:47:00,000 INFO:Refreshing data\n", "2022-02-01 20:48:00,000 INFO:Data refreshed\n", "2022-02-01 20:48:00,000 INFO:Strategy predict\n", "2022-02-01 20:48:00,000 INFO:Trade 49\n", "2022-02-01 20:48:00,000 INFO:Balance: -15942.71000000\n", "2022-02-01 20:48:00,000 INFO:Refreshing data\n", "2022-02-01 20:49:00,000 INFO:Data refreshed\n", "2022-02-01 20:49:00,000 INFO:Strategy predict\n", "2022-02-01 20:00:00,000 INFO:25bf6d098f590bda1b9d184a554c0001 GetCandles\n", "2022-02-01 20:00:00,000 INFO:fee88ad1df39149c099a9f286c6af805 GetCandles\n", "2022-02-01 20:00:00,000 INFO:ad1bc7bd9ca8fdbd1e4b8e706627a2bc GetCandles\n", "2022-02-01 20:00:00,000 INFO:Loading candles for period 5:00:00 from 2022-02-01 17:00:00+00:00\n", "2022-02-01 20:00:00,000 INFO:Marginal trade is active\n", "2022-02-01 20:00:00,000 INFO:Got enough data for strategy\n", "2022-02-01 20:00:00,000 INFO:Trade 0\n", "2022-02-01 20:00:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:00:00,000 INFO:Refreshing data\n", "2022-02-01 20:00:00,000 INFO:Data refreshed\n", "2022-02-01 20:00:00,000 INFO:Strategy predict\n", "2022-02-01 20:00:00,000 INFO:Trade try complete\n", "2022-02-01 20:00:00,000 INFO:Trade 1\n", "2022-02-01 20:00:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:00:00,000 INFO:Refreshing data\n", "2022-02-01 20:01:00,000 INFO:Data refreshed\n", "2022-02-01 20:01:00,000 INFO:Strategy predict\n", "2022-02-01 20:01:00,000 INFO:Trade try complete\n", "2022-02-01 20:01:00,000 INFO:Trade 2\n", "2022-02-01 20:01:00,000 INFO:Balance: 20050.69000000\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2022-02-01 20:01:00,000 INFO:Refreshing data\n", "2022-02-01 20:02:00,000 INFO:Data refreshed\n", "2022-02-01 20:02:00,000 INFO:Strategy predict\n", "2022-02-01 20:02:00,000 INFO:Trade try complete\n", "2022-02-01 20:02:00,000 INFO:Trade 3\n", "2022-02-01 20:02:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:02:00,000 INFO:Refreshing data\n", "2022-02-01 20:03:00,000 INFO:Data refreshed\n", "2022-02-01 20:03:00,000 INFO:Strategy predict\n", "2022-02-01 20:03:00,000 INFO:Trade try complete\n", "2022-02-01 20:03:00,000 INFO:Trade 4\n", "2022-02-01 20:03:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:03:00,000 INFO:Refreshing data\n", "2022-02-01 20:04:00,000 INFO:Data refreshed\n", "2022-02-01 20:04:00,000 INFO:Strategy predict\n", "2022-02-01 20:04:00,000 INFO:Trade try complete\n", "2022-02-01 20:04:00,000 INFO:Trade 5\n", "2022-02-01 20:04:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:04:00,000 INFO:Refreshing data\n", "2022-02-01 20:05:00,000 INFO:Data refreshed\n", "2022-02-01 20:05:00,000 INFO:Strategy predict\n", "2022-02-01 20:05:00,000 INFO:Trade try complete\n", "2022-02-01 20:05:00,000 INFO:Trade 6\n", "2022-02-01 20:05:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:05:00,000 INFO:Refreshing data\n", "2022-02-01 20:06:00,000 INFO:Data refreshed\n", "2022-02-01 20:06:00,000 INFO:Strategy predict\n", "2022-02-01 20:06:00,000 INFO:Trade try complete\n", "2022-02-01 20:06:00,000 INFO:Trade 7\n", "2022-02-01 20:06:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:06:00,000 INFO:Refreshing data\n", "2022-02-01 20:07:00,000 INFO:Data refreshed\n", "2022-02-01 20:07:00,000 INFO:Strategy predict\n", "2022-02-01 20:07:00,000 INFO:Trade try complete\n", "2022-02-01 20:07:00,000 INFO:Trade 8\n", "2022-02-01 20:07:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:07:00,000 INFO:Refreshing data\n", "2022-02-01 20:08:00,000 INFO:Data refreshed\n", "2022-02-01 20:08:00,000 INFO:Strategy predict\n", "2022-02-01 20:08:00,000 INFO:Trade try complete\n", "2022-02-01 20:08:00,000 INFO:Trade 9\n", "2022-02-01 20:08:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:08:00,000 INFO:Refreshing data\n", "2022-02-01 20:09:00,000 INFO:Data refreshed\n", "2022-02-01 20:09:00,000 INFO:Strategy predict\n", "2022-02-01 20:09:00,000 INFO:Trade try complete\n", "2022-02-01 20:09:00,000 INFO:Trade 10\n", "2022-02-01 20:09:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:09:00,000 INFO:Refreshing data\n", "2022-02-01 20:10:00,000 INFO:Data refreshed\n", "2022-02-01 20:10:00,000 INFO:Strategy predict\n", "2022-02-01 20:10:00,000 INFO:Trade try complete\n", "2022-02-01 20:10:00,000 INFO:Trade 11\n", "2022-02-01 20:10:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:10:00,000 INFO:Refreshing data\n", "2022-02-01 20:11:00,000 INFO:Data refreshed\n", "2022-02-01 20:11:00,000 INFO:Strategy predict\n", "2022-02-01 20:11:00,000 INFO:Trade try complete\n", "2022-02-01 20:11:00,000 INFO:Trade 12\n", "2022-02-01 20:11:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:11:00,000 INFO:Refreshing data\n", "2022-02-01 20:12:00,000 INFO:Data refreshed\n", "2022-02-01 20:12:00,000 INFO:Strategy predict\n", "2022-02-01 20:12:00,000 INFO:Trade try complete\n", "2022-02-01 20:12:00,000 INFO:Trade 13\n", "2022-02-01 20:12:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:12:00,000 INFO:Refreshing data\n", "2022-02-01 20:13:00,000 INFO:Data refreshed\n", "2022-02-01 20:13:00,000 INFO:Strategy predict\n", "2022-02-01 20:13:00,000 INFO:Trade try complete\n", "2022-02-01 20:13:00,000 INFO:Trade 14\n", "2022-02-01 20:13:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:13:00,000 INFO:Refreshing data\n", "2022-02-01 20:14:00,000 INFO:Data refreshed\n", "2022-02-01 20:14:00,000 INFO:Strategy predict\n", "2022-02-01 20:14:00,000 INFO:Trade try complete\n", "2022-02-01 20:14:00,000 INFO:Trade 15\n", "2022-02-01 20:14:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:14:00,000 INFO:Refreshing data\n", "2022-02-01 20:15:00,000 INFO:Data refreshed\n", "2022-02-01 20:15:00,000 INFO:Strategy predict\n", "2022-02-01 20:15:00,000 INFO:Trade try complete\n", "2022-02-01 20:15:00,000 INFO:Trade 16\n", "2022-02-01 20:15:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:15:00,000 INFO:Refreshing data\n", "2022-02-01 20:16:00,000 INFO:Data refreshed\n", "2022-02-01 20:16:00,000 INFO:Strategy predict\n", "2022-02-01 20:16:00,000 INFO:Trade try complete\n", "2022-02-01 20:16:00,000 INFO:Trade 17\n", "2022-02-01 20:16:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:16:00,000 INFO:Refreshing data\n", "2022-02-01 20:17:00,000 INFO:Data refreshed\n", "2022-02-01 20:17:00,000 INFO:Strategy predict\n", "2022-02-01 20:17:00,000 INFO:Trade try complete\n", "2022-02-01 20:17:00,000 INFO:Trade 18\n", "2022-02-01 20:17:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:17:00,000 INFO:Refreshing data\n", "2022-02-01 20:18:00,000 INFO:Data refreshed\n", "2022-02-01 20:18:00,000 INFO:Strategy predict\n", "2022-02-01 20:18:00,000 INFO:Trade try complete\n", "2022-02-01 20:18:00,000 INFO:Trade 19\n", "2022-02-01 20:18:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:18:00,000 INFO:Refreshing data\n", "2022-02-01 20:19:00,000 INFO:Data refreshed\n", "2022-02-01 20:19:00,000 INFO:Strategy predict\n", "2022-02-01 20:19:00,000 INFO:Trade try complete\n", "2022-02-01 20:19:00,000 INFO:Trade 20\n", "2022-02-01 20:19:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:19:00,000 INFO:Refreshing data\n", "2022-02-01 20:20:00,000 INFO:Data refreshed\n", "2022-02-01 20:20:00,000 INFO:Strategy predict\n", "2022-02-01 20:20:00,000 INFO:Trade try complete\n", "2022-02-01 20:20:00,000 INFO:Trade 21\n", "2022-02-01 20:20:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:20:00,000 INFO:Refreshing data\n", "2022-02-01 20:21:00,000 INFO:Data refreshed\n", "2022-02-01 20:21:00,000 INFO:Strategy predict\n", "2022-02-01 20:21:00,000 INFO:Trade try complete\n", "2022-02-01 20:21:00,000 INFO:Trade 22\n", "2022-02-01 20:21:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:21:00,000 INFO:Refreshing data\n", "2022-02-01 20:22:00,000 INFO:Data refreshed\n", "2022-02-01 20:22:00,000 INFO:Strategy predict\n", "2022-02-01 20:22:00,000 INFO:Trade try complete\n", "2022-02-01 20:22:00,000 INFO:Trade 23\n", "2022-02-01 20:22:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:22:00,000 INFO:Refreshing data\n", "2022-02-01 20:23:00,000 INFO:Data refreshed\n", "2022-02-01 20:23:00,000 INFO:Strategy predict\n", "2022-02-01 20:23:00,000 INFO:Trade try complete\n", "2022-02-01 20:23:00,000 INFO:Trade 24\n", "2022-02-01 20:23:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:23:00,000 INFO:Refreshing data\n", "2022-02-01 20:24:00,000 INFO:Data refreshed\n", "2022-02-01 20:24:00,000 INFO:Strategy predict\n", "2022-02-01 20:24:00,000 INFO:Trade try complete\n", "2022-02-01 20:24:00,000 INFO:Trade 25\n", "2022-02-01 20:24:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:24:00,000 INFO:Refreshing data\n", "2022-02-01 20:25:00,000 INFO:Data refreshed\n", "2022-02-01 20:25:00,000 INFO:Strategy predict\n", "2022-02-01 20:25:00,000 INFO:Trade try complete\n", "2022-02-01 20:25:00,000 INFO:Trade 26\n", "2022-02-01 20:25:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:25:00,000 INFO:Refreshing data\n", "2022-02-01 20:26:00,000 INFO:Data refreshed\n", "2022-02-01 20:26:00,000 INFO:Strategy predict\n", "2022-02-01 20:26:00,000 INFO:Trade try complete\n", "2022-02-01 20:26:00,000 INFO:Trade 27\n", "2022-02-01 20:26:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:26:00,000 INFO:Refreshing data\n", "2022-02-01 20:27:00,000 INFO:Data refreshed\n", "2022-02-01 20:27:00,000 INFO:Strategy predict\n", "2022-02-01 20:27:00,000 INFO:Trade try complete\n", "2022-02-01 20:27:00,000 INFO:Trade 28\n", "2022-02-01 20:27:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:27:00,000 INFO:Refreshing data\n", "2022-02-01 20:28:00,000 INFO:Data refreshed\n", "2022-02-01 20:28:00,000 INFO:Strategy predict\n", "2022-02-01 20:28:00,000 INFO:Trade try complete\n", "2022-02-01 20:28:00,000 INFO:Trade 29\n", "2022-02-01 20:28:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:28:00,000 INFO:Refreshing data\n", "2022-02-01 20:29:00,000 INFO:Data refreshed\n", "2022-02-01 20:29:00,000 INFO:Strategy predict\n", "2022-02-01 20:29:00,000 INFO:Trade try complete\n", "2022-02-01 20:29:00,000 INFO:Trade 30\n", "2022-02-01 20:29:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:29:00,000 INFO:Refreshing data\n", "2022-02-01 20:30:00,000 INFO:Data refreshed\n", "2022-02-01 20:30:00,000 INFO:Strategy predict\n", "2022-02-01 20:30:00,000 INFO:Trade try complete\n", "2022-02-01 20:30:00,000 INFO:Trade 31\n", "2022-02-01 20:30:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:30:00,000 INFO:Refreshing data\n", "2022-02-01 20:31:00,000 INFO:Data refreshed\n", "2022-02-01 20:31:00,000 INFO:Strategy predict\n", "2022-02-01 20:31:00,000 INFO:Trade try complete\n", "2022-02-01 20:31:00,000 INFO:Trade 32\n", "2022-02-01 20:31:00,000 INFO:Balance: 20050.69000000\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2022-02-01 20:31:00,000 INFO:Refreshing data\n", "2022-02-01 20:32:00,000 INFO:Data refreshed\n", "2022-02-01 20:32:00,000 INFO:Strategy predict\n", "2022-02-01 20:32:00,000 INFO:Trade try complete\n", "2022-02-01 20:32:00,000 INFO:Trade 33\n", "2022-02-01 20:32:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:32:00,000 INFO:Refreshing data\n", "2022-02-01 20:33:00,000 INFO:Data refreshed\n", "2022-02-01 20:33:00,000 INFO:Strategy predict\n", "2022-02-01 20:33:00,000 INFO:Trade try complete\n", "2022-02-01 20:33:00,000 INFO:Trade 34\n", "2022-02-01 20:33:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:33:00,000 INFO:Refreshing data\n", "2022-02-01 20:34:00,000 INFO:Data refreshed\n", "2022-02-01 20:34:00,000 INFO:Strategy predict\n", "2022-02-01 20:34:00,000 INFO:Trade try complete\n", "2022-02-01 20:34:00,000 INFO:Trade 35\n", "2022-02-01 20:34:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:34:00,000 INFO:Refreshing data\n", "2022-02-01 20:35:00,000 INFO:Data refreshed\n", "2022-02-01 20:35:00,000 INFO:Strategy predict\n", "2022-02-01 20:35:00,000 INFO:Trade try complete\n", "2022-02-01 20:35:00,000 INFO:Trade 36\n", "2022-02-01 20:35:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:35:00,000 INFO:Refreshing data\n", "2022-02-01 20:36:00,000 INFO:Data refreshed\n", "2022-02-01 20:36:00,000 INFO:Strategy predict\n", "2022-02-01 20:36:00,000 INFO:Trade try complete\n", "2022-02-01 20:36:00,000 INFO:Trade 37\n", "2022-02-01 20:36:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:36:00,000 INFO:Refreshing data\n", "2022-02-01 20:37:00,000 INFO:Data refreshed\n", "2022-02-01 20:37:00,000 INFO:Strategy predict\n", "2022-02-01 20:37:00,000 INFO:Trade try complete\n", "2022-02-01 20:37:00,000 INFO:Trade 38\n", "2022-02-01 20:37:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:37:00,000 INFO:Refreshing data\n", "2022-02-01 20:38:00,000 INFO:Data refreshed\n", "2022-02-01 20:38:00,000 INFO:Strategy predict\n", "2022-02-01 20:38:00,000 INFO:Trade try complete\n", "2022-02-01 20:38:00,000 INFO:Trade 39\n", "2022-02-01 20:38:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:38:00,000 INFO:Refreshing data\n", "2022-02-01 20:39:00,000 INFO:Data refreshed\n", "2022-02-01 20:39:00,000 INFO:Strategy predict\n", "2022-02-01 20:39:00,000 INFO:Trade try complete\n", "2022-02-01 20:39:00,000 INFO:Trade 40\n", "2022-02-01 20:39:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:39:00,000 INFO:Refreshing data\n", "2022-02-01 20:40:00,000 INFO:Data refreshed\n", "2022-02-01 20:40:00,000 INFO:Strategy predict\n", "2022-02-01 20:40:00,000 INFO:Trade try complete\n", "2022-02-01 20:40:00,000 INFO:Trade 41\n", "2022-02-01 20:40:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:40:00,000 INFO:Refreshing data\n", "2022-02-01 20:41:00,000 INFO:Data refreshed\n", "2022-02-01 20:41:00,000 INFO:Strategy predict\n", "2022-02-01 20:41:00,000 INFO:Trade try complete\n", "2022-02-01 20:41:00,000 INFO:Trade 42\n", "2022-02-01 20:41:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:41:00,000 INFO:Refreshing data\n", "2022-02-01 20:42:00,000 INFO:Data refreshed\n", "2022-02-01 20:42:00,000 INFO:Strategy predict\n", "2022-02-01 20:42:00,000 INFO:Trade try complete\n", "2022-02-01 20:42:00,000 INFO:Trade 43\n", "2022-02-01 20:42:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:42:00,000 INFO:Refreshing data\n", "2022-02-01 20:43:00,000 INFO:Data refreshed\n", "2022-02-01 20:43:00,000 INFO:Strategy predict\n", "2022-02-01 20:43:00,000 INFO:Trade try complete\n", "2022-02-01 20:43:00,000 INFO:Trade 44\n", "2022-02-01 20:43:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:43:00,000 INFO:Refreshing data\n", "2022-02-01 20:44:00,000 INFO:Data refreshed\n", "2022-02-01 20:44:00,000 INFO:Strategy predict\n", "2022-02-01 20:44:00,000 INFO:Trade try complete\n", "2022-02-01 20:44:00,000 INFO:Trade 45\n", "2022-02-01 20:44:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:44:00,000 INFO:Refreshing data\n", "2022-02-01 20:45:00,000 INFO:Data refreshed\n", "2022-02-01 20:45:00,000 INFO:Strategy predict\n", "2022-02-01 20:45:00,000 INFO:Trade try complete\n", "2022-02-01 20:45:00,000 INFO:Trade 46\n", "2022-02-01 20:45:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:45:00,000 INFO:Refreshing data\n", "2022-02-01 20:46:00,000 INFO:Data refreshed\n", "2022-02-01 20:46:00,000 INFO:Strategy predict\n", "2022-02-01 20:46:00,000 INFO:Trade try complete\n", "2022-02-01 20:46:00,000 INFO:Trade 47\n", "2022-02-01 20:46:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:46:00,000 INFO:Refreshing data\n", "2022-02-01 20:47:00,000 INFO:Data refreshed\n", "2022-02-01 20:47:00,000 INFO:Strategy predict\n", "2022-02-01 20:47:00,000 INFO:Trade try complete\n", "2022-02-01 20:47:00,000 INFO:Trade 48\n", "2022-02-01 20:47:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:47:00,000 INFO:Refreshing data\n", "2022-02-01 20:48:00,000 INFO:Data refreshed\n", "2022-02-01 20:48:00,000 INFO:Strategy predict\n", "2022-02-01 20:48:00,000 INFO:Trade try complete\n", "2022-02-01 20:48:00,000 INFO:Trade 49\n", "2022-02-01 20:48:00,000 INFO:Balance: 20050.69000000\n", "2022-02-01 20:48:00,000 INFO:Refreshing data\n", "2022-02-01 20:49:00,000 INFO:Data refreshed\n", "2022-02-01 20:49:00,000 INFO:Strategy predict\n", "2022-02-01 20:49:00,000 INFO:Trade try complete\n" ] }, { "data": { "text/plain": [ "'MSFT'" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "balances = {}\n", "\n", "for stock in stocks:\n", " figi = ShareId(stocks[stock][\"figi\"])\n", "\n", " balance = MoneyValue(currency=\"rub\", units=20050, nano=690000000)\n", "\n", " account_id = AccountId(\"1337007228\")\n", " settings = MovingAverageStrategySettings(\n", " share_id=figi, # figi конкретной ценной бумаги\n", " account_id=account_id, # неважно для sandbox\n", " max_transaction_price=Decimal(\n", " 10000\n", " ), # максимальный объем сделки - зависит от размера портфеля. сейчас фиксировано\n", " candle_interval=tf, # тф - таймфрейм\n", " long_period=timedelta(minutes=n * period), # длинная скользяшка\n", " short_period=timedelta(minutes=m * period), # короткая скользяшка\n", " std_period=timedelta(minutes=s * period), # количество периодов для стд\n", " )\n", "\n", " with MockedClient(\n", " token=token,\n", " settings=settings,\n", " real_market_data_test_from=real_market_data_test_from,\n", " real_market_data_test_start=real_market_data_test_start,\n", " real_market_data_test_end=real_market_data_test_end,\n", " balance=balance,\n", " ) as mocked_services:\n", " account_manager = AccountManager(\n", " services=mocked_services, strategy_settings=settings\n", " )\n", " state = MovingAverageStrategyState()\n", " strategy = MovingAverageStrategy(\n", " settings=settings,\n", " account_manager=account_manager,\n", " state=state,\n", " )\n", " supervisor = MovingAverageStrategySupervisor()\n", " signal_executor = MovingAverageSignalExecutor(\n", " services=mocked_services,\n", " state=state,\n", " settings=settings,\n", " )\n", " moving_average_strategy_trader = MovingAverageStrategyTrader(\n", " strategy=strategy,\n", " settings=settings,\n", " services=mocked_services,\n", " state=state,\n", " signal_executor=signal_executor,\n", " account_manager=account_manager,\n", " supervisor=supervisor,\n", " )\n", " plotter = MovingAverageStrategyPlotter(settings=settings)\n", "\n", " initial_balance = account_manager.get_current_balance()\n", "\n", " for i in range(50):\n", " logger.info(\"Trade %s\", i)\n", " moving_average_strategy_trader.trade()\n", "\n", " balances[stock] = balance.units\n", "\n", "best_stock = max(balances, key=balances.get)\n", "best_stock" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Вывод картинки" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "events = supervisor.get_events()\n", "plotter.plot(events)\n", "\n", "current_balance = account_manager.get_current_balance()\n", "# assert initial_balance != current_balance\n", "# logger.info(\"Initial balance %s\", initial_balance)\n", "# logger.info(\"Current balance %s\", current_balance)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": ".venv" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 1 }