Как сделать торгового робота для Binance
В настоящее время я увлекаюсь написанием торговых роботов. Постепенно изучаю нейросети для их применения к анализу цен/объемов акций/фьючерсов.
Обычно я писал торговых роботов для работы с Брокерами и делал авто-торговлю Акциями или Фьючерсами, но вдруг возникла мысль.
— А что, если уже готовый код можно применять и на других активах? Например на крипто активах для Биткоина или Эфира или других?
Уже изучив много библиотек и примеров за долгое время написания своих торговых роботов, решил сделать небольшую библиотеку backtrader_binance для интеграции API Binance и библиотеки тестирования торговых стратегий Backtrader.
Вот с помощью backtrader_binance, сейчас и создадим алго-робота для торговли BTC и ETH.
Подготовка окружения
- Устанавливаем последнюю версию Python 3.11
- Устанавливаем среду разработки PyCharm Community 2023.1
- Запускаем PyCharm Community
- В нём создаем новый проект, давайте его назовём algo_trade_robot и укажем что создаем виртуальное окружение Virtualenv, с Python 3.11 => нажимаем «Create».
Посмотрев на код выше, можно легко увидеть, что
- импорт необходимых библиотек осуществляется строками 1..4
класс Индикатора 11..17 строки, обычно выносят в отдельный файл
класс Стратегии/Торговой системы 21..138, обычно выносят в отдельный файл
- — основной раздел — строка 141
- подключение по API к бирже — строки 151..155
- задание параметров запуска стратегии 172..180
- запуск стратегии — строка 182
- получение данных по тикеру/тикерам по API строки 172..175
- обработка этих данных стратегией — строки 61..115
- выставление заявок на покупку/продажу — строки 105 — покупка и 114 — продажа
- возврат результатов из стратегии — строки 183, 187, 188
- вывод результатов — строки 183, 187, 188
Класс торговой системы имеет несколько основных методов:
- init — итак понятно — здесь инициализируем вспомогательные переменные и индикаторы для потоков данных
- next — вызывается каждый раз при приходе нового бара по тикеру
- notify_order — вызывается, когда происходит покупка или продажа
- notify_trade — вызывается когда меняется статус позиции
Вы можете по желанию расширять/добавлять новые методы/функционал.
Иногда лучше один раз увидеть, чем сто раз прочитать
Поэтому я записал специально для вас видео по созданию этой стратегии по шагам:
Если возникают какие мысли по созданию, пишите посмотрим.
Результат работы торговой стратегии по BTC и ETH
Параметры стратегии не были оптимизированы, поэтому она может дать более лучший результат.
Т.е. 2000 USDT превратилось в 5515 USDT => прирост 175%
Как мне видится, получилось довольно интересно 🙂 И жду ваших коммитов / фиксов / идей!
P.S. Код библиотеки частично написан сообществом, существенное изменение которое я внёс — это возможность торговать портфелем тикеров — не просто одним, а множеством тикеров. Исправил некие ошибки, многократно протестировал и добавил много хороших примеров для создания своих полноценных собственных стратегий. Конечно, еще есть моменты, над чем можно будет поработать.
Всем хорошего дня! Спасибо за уделенное время!
Торговый робот на Python: от стратегии до успешного алготрейдинга

Торговый робот – это программный инструмент на языке Python, который автоматизирует процесс торговли на финансовых рынках. Он основан на заранее определенных стратегиях и правилах, которые позволяют роботу принимать торговые решения и исполнять сделки без необходимости вмешательства человека. В этой статье мы рассмотрим важные аспекты создания торгового робота на языке программирования Python и его использование в алготрейдинге.
Преимущества использования торгового робота
Использование торгового робота в алготрейдинге имеет множество преимуществ. Во-первых, робот способен обрабатывать и анализировать большие объемы данных намного быстрее, чем человек. Он может анализировать множество финансовых инструментов и рыночных условий одновременно, что позволяет ему принимать более информированные торговые решения.
Во-вторых, торговый робот работает без эмоций. Человеческие эмоции, такие как страх или жадность, могут негативно сказываться на процессе принятия решений в торговле. Робот же работает на основе заранее определенных стратегий и правил, что позволяет ему оставаться объективным и исключает влияние эмоций на торговые решения.
Зачем использовать Python для разработки торгового робота?
Python является одним из наиболее популярных языков программирования для разработки торговых роботов. Он обладает рядом преимуществ, которые делают его идеальным выбором для алготрейдинга.
Во-первых, Python имеет простой и понятный синтаксис, который делает его доступным для разработчиков всех уровней. Это позволяет быстро создавать и тестировать новые стратегии торговли.
Во-вторых, Python имеет огромное сообщество разработчиков и множество библиотек, специализированных на финансовом анализе и алготрейдинге. Библиотеки, такие как pandas, numpy и matplotlib, обеспечивают мощные инструменты для работы с финансовыми данными, а библиотека backtrader позволяет создавать и тестировать торговые стратегии.
Изучаем нейросети при помощи программы Neuro-lab
Кроме того, Python является переносимым и поддерживает множество операционных систем, что делает его универсальным языком для разработки торговых роботов.
Создание торгового робота на Python
Шаг 1: Установка Python и необходимых библиотек
Первый шаг в создании торгового робота на Python – установка интерпретатора Python и необходимых библиотек. Python можно скачать с официального сайта и установить на свой компьютер. Для работы с финансовыми данными и разработки торговых стратегий важно также установить библиотеки, такие как pandas, numpy и matplotlib. Установка библиотек производится с помощью менеджера пакетов pip.
Шаг 2: Определение стратегии торговли
Прежде чем приступить к разработке торгового робота, необходимо определить стратегию торговли. Стратегия – это набор правил и алгоритмов, по которым робот будет принимать решения о входе и выходе из сделок. Стратегия может основываться на различных подходах, таких как технический анализ, фундаментальный анализ или статистические модели. Важно четко определить правила стратегии и параметры, которые будут использоваться роботом для принятия решений.
Шаг 3: Получение данных для анализа
Для разработки торгового робота необходимо иметь доступ к финансовым данным для анализа. Есть несколько способов получения данных, включая использование специализированных финансовых API, веб-скрапинг или использование исторических данных. API (Application Programming Interface) предоставляют доступ к актуальным данным о котировках, ордерах и исполнении сделок. Веб-скрапинг позволяет получать данные с веб-сайтов финансовых рынков. Исторические данные можно скачать или приобрести у поставщиков данных. Важно выбрать источник данных, который соответствует вашим потребностям и стратегии торговли.
Шаг 4: Анализ данных и разработка торговых сигналов
После получения данных необходимо проанализировать их и разработать торговые сигналы. Анализ данных может включать в себя различные техники, такие как вычисление технических индикаторов, проведение статистического анализа или применение машинного обучения. Разработанные торговые сигналы определяют условия для входа и выхода из сделок. Важно тщательно протестировать и оптимизировать торговые сигналы на исторических данных, чтобы убедиться в их эффективности.
Фильм об алгоритмическом трейдинге — Кванты: Алхимики Уолл-стрит
Шаг 5: Разработка модуля управления портфелем
Управление портфелем является важной частью работы торгового робота. Модуль управления портфелем определяет, какие активы будут включены в портфель, какие позиции будут открыты и как будет распределен капитал между различными активами. Этот модуль также управляет размером позиции и риском, а также может принимать решения о ребалансировке портфеля в соответствии с заданной стратегией.
Шаг 6: Тестирование и оптимизация робота
После завершения разработки робота необходимо провести тестирование и оптимизацию. Тестирование позволяет оценить производительность робота на исторических данных и проверить его соответствие заданным правилам и стратегии. Оптимизация включает в себя настройку параметров стратегии и улучшение ее производительности. Важно использовать различные методы тестирования, такие как backtesting и forward testing, чтобы обеспечить стабильность и надежность работы робота.
Взаимодействие с биржей и исполнение сделок
Выбор биржи и получение API-ключей
Для взаимодействия с биржей и выполнения сделок необходимо выбрать подходящую биржу и получить API-ключи. API-ключи предоставляют доступ к функциям биржи, таким как получение данных о котировках и ордерах, выполнение сделок и управление портфелем. Каждая биржа имеет свои требования и процедуру получения API-ключей, которые следует изучить и выполнить.
Работа с API биржи для получения данных и выполнения сделок
После получения API-ключей можно начать работу с API биржи. API позволяет получать актуальные данные о котировках, ордерах и исполнении сделок, а также выполнять торговые операции. Важно правильно настроить запросы к API и обрабатывать полученные данные в соответствии с логикой вашего робота. Также следует учитывать ограничения и правила биржи, чтобы избежать возможных ошибок и проблем при взаимодействии.
Управление рисками и мониторинг результатов
Разработка модуля управления рисками
Управление рисками является важным аспектом торговли. Разработка модуля управления рисками позволяет контролировать потенциальные убытки и риски. Этот модуль определяет механизмы ограничения убытков, такие как стоп-лосс ордера или тейк-профит ордера, а также размер позиции и другие параметры, которые влияют на уровень риска. Управление рисками помогает сохранить стабильность и защитить портфель от больших потерь.
Почему трейдеры больше не могут зарабатывать без роботов
Мониторинг и анализ результатов торгового робота
Мониторинг результатов является важной частью работы торгового робота. Регулярный мониторинг позволяет отслеживать производительность робота, результаты его торговых операций и общее финансовое состояние портфеля. Анализ результатов помогает выявить сильные и слабые стороны робота, выявить необходимость внесения корректировок или изменений в стратегии. Также важно анализировать статистические данные, такие как доходность, максимальная просадка, коэффициент Шарпа и другие показатели, чтобы оценить эффективность и стабильность работы робота.
Заключение
В данной статье мы рассмотрели процесс создания торгового робота на языке программирования Python с нуля. Мы описали важные шаги, начиная от установки Python и необходимых библиотек, до разработки стратегии торговли, анализа данных и взаимодействия с биржей. Управление рисками и мониторинг результатов также были рассмотрены как важные аспекты успешной работы торгового робота.
Python предоставляет широкие возможности для разработки торговых роботов благодаря своей простоте, гибкости и богатому набору библиотек. Однако важно помнить, что разработка и использование торгового робота требуют тщательного тестирования, оптимизации и контроля. Постоянное улучшение стратегии и адаптация к изменениям на рынке являются ключевыми факторами успешной торговли.
FAQs
1. Можно ли использовать другой язык программирования для разработки торгового робота? Да, можно использовать и другие языки программирования для разработки торгового робота. Однако Python широко используется в алготрейдинге благодаря своей простоте, гибкости и богатому набору библиотек.
2. Каковы основные преимущества использования торгового робота? Основные преимущества использования торгового робота включают автоматизацию процесса торговли, анализ больших объемов данных, отсутствие эмоционального влияния и возможность работы круглосуточно.
3. Каким образом торговый робот взаимодействует с биржей? Торговый робот взаимодействует с биржей через API (Application Programming Interface). API позволяют получать данные о котировках, ордерах и исполнении сделок, а также выполнять торговые операции в соответствии с заданной стратегией.
4. Как важно управление рисками в алготрейдинге? Управление рисками является критически важным аспектом в алготрейдинге. Разработка и настройка модуля управления рисками позволяет контролировать потери и максимизировать прибыль, обеспечивая устойчивость и стабильность торгового процесса.
5. Каким образом мониторинг результатов помогает в улучшении работы торгового робота? Мониторинг результатов позволяет отслеживать производительность торгового робота в реальном времени. Анализ полученных данных позволяет выявить проблемные области и внести необходимые корректировки в стратегию торговли, что в конечном итоге может привести к улучшению результатов.
Торговые роботы на Python

Привет! На связи команда Тинькофф Инвестиций. В этой статье рассказываем про Tinkoff Invest API, объясняем, как написать робота на Python, и разбираем плюсы этого языка в сравнении с другими. А вместо заключения ловите гайд по созданию робота на примере работы победителя нашего конкурса Tinkoff Invest Robot Contest.
Почему Python
Когда хочется попробовать алготрейдинг, но нет глубоких знаний языков программирования, Python станет хорошим стартом. Этот язык самый популярный: через него исполняется более 8 миллионов запросов в сутки. Вдвое больше, чем у SDK на Java — второго по популярности.

Подключить робота к биржевой торговле можно через протоколы, зависящие от выбранного брокера:
- Часть брокеров позволяет клиентам подключаться через протоколы FIX/FAST, но для этого робот должен поддерживать этот протокол. В open source есть ряд библиотек, разработанных энтузиаcтами, и многие из них поддерживаются авторами.
- Некоторые брокеры предоставляют современные открытые API, не требующие дополнительных библиотек или ПО.
Tinkoff Invest API — это интерфейс для взаимодействия с торговой платформой Тинькофф Инвестиций
Наш интерфейс и большое комьюнити позволяют попробовать себя в алготрейдинге как опытным трейдерам, разработчикам, так и новичкам, которые только начинают путь в алготрейдинге и разработке. Можно написать своего торгового робота или использовать готовых роботов участников комьюнити.
В Tinkoff Invest API можно не только торговать, но и собирать данные для анализа. А еще есть песочница для регулировки и отладки стратегий на реальных котировках. Но обо всем по порядку.
Протокол и типы данных
Понять принципы структур и взаимодействие с ними помогает изучение протоколов и типов данных, используемых в API. Мы стараемся следовать рекомендациям Google и используем протоколы и типы данных, о которых расскажем ниже. Tinkoff Invest API поддерживает три протокола — gRPC, gRPC web и REST. Подробно об этом мы рассказывали в прошлой статье:
API для Инвестиций, или Как написать торгового робота
На связи команда Тинькофф Инвестиций. В этой статье разберем, как клиенты с минимальными навыками пр.
Через Tinkoff Invest API можно получить набор типов данных:
- Текущие режимы торгов на бирже.
- Список поручений других клиентов биржи на покупку и продажу — биржевой стакан.
- Ленту сделок в режиме реального времени.
- Биржевые свечи — исторические и текущие, в режиме реального времени. Свеча показывает, как менялась цена актива за определенный период. Это визуальное отображение цены открытия, закрытия, максимума и минимума и объема торгов за определенный промежуток, от минуты до суток.
- Информацию по торговым инструментам — акциям, облигациям, фьючерсам, опционам, ETF и другим.
- Данные о своих позициях, портфеле, списке операций, брокерском отчете и многое другое.
TINKOFF INVEST API позволяет выставить разные типы заявок. Мы собрали в документации описание зависимости рыночных или лимитных заявок от статуса торгов. Каждый тип заявки описали на сайте и дополнили примерами. Вот короткая справка.
Тейк-профит — стоп-приказ на продажу или покупку, когда стоимость ценных бумаг или валюты достигает выгодного трейдеру уровня.
Стоп-лосс — приказ на продажу или покупку, когда цена валюты или ценных бумаг начинает резко меняться не в пользу инвестора и нужно максимально уменьшить убыток.
Стоп-лимит — приказ на продажу или покупку, когда цена валюты или ценных бумаг начинает резко меняться не в пользу инвестора и нужно максимально уменьшить убыток. Работает только из приложения Тинькофф Инвестиций.
Стоп-маркет — приказ на продажу или покупку, когда цена валюты или ценных бумаг начинает резко меняться не в пользу инвестора и нужно максимально уменьшить убыток. Стоп-маркет нужен, когда нужно ограничить убытки прямо сейчас и не ждать хорошей цены для срабатывания стоп-приказов.
Лимитная заявка — указание брокеру, какую бумагу или валюту, сколько лотов и по какой цене нужно купить или продать.
Рыночная заявка — заявка на покупку или продажу активов по цене, которая есть на бирже в данный момент.
Заявка «Лучшая цена» — заявка на покупку или продажу активов по цене, которая есть на бирже в данный момент, но с защитным механизмом. Цена на бирже меняется ежесекундно, и, чтобы не отменять сделку при каждом таком изменении, брокер дополнительно блокирует на счете примерно 0,3% от суммы заявки. Если цена изменится в худшую сторону, заявка автоматически отменится, а деньги вернутся на счет.
Еще в Tinkoff Invest API мы используем нестандартные типы данных по рекомендации Google. Расскажем подробнее про каждый.
Timestamp — основной тип для передачи времени в формате protoсol-buffers. Это значение в диапазоне интервала дат от 0001-01-01T00:00:00Z до 9999-12-31T23:59:59.999999999Z. Timestamp всегда работает в формате UTC с нулевым смещением и состоит из двух полей целого типа: seconds и nanos.
MoneyValue — используется для параметров, у которых есть денежный эквивалент. Возьмем для примера стоимость ценных бумаг — тип состоит из трех параметров:
- currency — строковый ISO-код валюты, например RUB или USD;
- units — целая часть суммы;
- nano — дробная часть суммы, миллиардные доли единицы.
Quotation — тип, аналогичный MoneyValue, но без информации о валюте. Параметры типа — units и nano. Для корректной работы с ним требуется конвертация в стандартные типы языка программирования, который используется для написания торгового робота. Для Python это преобразование описано в utils.
Как сделать робота
Если вы планируете создать робота самостоятельно, план прост:
- Станьте нашим клиентом и создайте токен доступа.
- Протестируйте взаимодействие с Tinkoff Invest APIчерез gRPC-клиенты или наш swagger.
- Скачайте исторические рыночные данные по инструментам в виде архива. Для загрузки истории котировок можно воспользоваться специальным методом или подготовленными скриптом и справочником figi.
- Проработайте и настройте вашу стратегию в нашей песочнице. Для тестирования своего торгового робота в песочнице можно использовать неограниченное количество счетов, которые существуют только в песочнице и не имеют отношения к реальным торгам на бирже.
- Переведите робота на боевой контур.
Для тех, кто хочет воспользоваться готовыми роботами, сделали небольшую подборку. В большинстве случаев достаточно следовать инструкции по запуску и добавить свои параметры.
Tinkoff Trading Bot — реализована простая интервальная стратегия. Несложный код поможет начинающим разработчикам быстро запустить, проверить и доработать торговую стратегию под свои цели. Простое ведение статистики через sqllite. Любой желающий может дописывать свои стратегии. Интерфейс простой — только init и start. Фабрика на старте использует стратегии, опираясь на файл конфигурации. Параллельно может работать несколько стратегий для разных figi. Автор робота — @qwertyo
InvestRobot — понятный для запуска робот. В качестве демонстрации представлена одна торговая стратегия, основанная на индикаторе двух скользящих средних. Автор робота — @karpp
Робот на основе объемного анализа для Тинькофф Инвестиций — кластерный анализ и профиль рынка позволяет определить действительную заинтересованность участников рынка, реализован один из методов работы с профилем рынка — реакция на максимальный горизонтальный объем внутри дня за выбранный период. Автор робота — @rteslenko
Вместо заключения — план создания робота на примере работы победителя
- Переходим на Tinkoff Trading Bot.
- Клонируем ссылку на репозиторий.
- Открываем терминал или командную строку, переходим в папку, где будем разворачивать репозиторий.
- Вставляем и выполняем команду:
git clone https://github.com/qwertyo1/tinkoff-trading-bot.git
- Следуем инструкции из репозитория:
- Generate token for your account at the settings #Создаем токен для своего аккаунта в настройках.
- Create a file .env with required env variables. You can find an example in .env.example #из файла .env.example делаем файл .env и придаем заданным переменным свои значения.
- Create a file instuments_config.json with configurations. You can find an example in instruments_config.json.example #из файла instruments_config.json. делаем файл instuments_config.json. Для легкого старта советуем изменить значение параметра figi на BBG333333333 — «Тинькофф iMOEX».
pip install virtualenv virtualenv --python=python3.9 venv source venv/bin/activatepip install -r requirements.txt- Робот запрашивает свечи за последние 10 дней и высчитывает коридор с низшей и высшей ценой. И в случае пересечения границы коридора робот выставляет заявки на покупку или продаж.
- Ждем профит!
- Блог компании TINKOFF
- Python
Пошаговая инструкция к созданию торгового робота на Python
Тема онлайн торгов (будь то форекс, акции, полезные ископаемые) обычно вызывает интерес. Но вместе с тем многие люди думают: «я в этом не разбираюсь, мне спец. терминология неизвестна. Да и непонятно, как начать». Вот над этим мы и поработаем! К концу статьи у вас будет достаточно знаний и примеров, чтобы начать играть на финансовых рынках.
- Суть биржевой игры;
- Брокеры;
- API для торговли/Пример робота;
- Деплоймент онлайн;
- Заключительные мысли.
Суть биржевой игры
Есть много теорий и объяснений. Но мы подойдем к вопросу с точки зрения софтверщика и понятия об уровнях абстракции. Очень просто (но вместе с тем правдиво) суть игры в следующем: есть график некоей (псевдо?) случайной величины (цены). Известна её история за довольно большой период. Стоит задача предсказания движения (вверх или вниз). Всё. Реально. То, что делают трейдеры — предсказывают, пойдет цена вверх или вниз и делают на это ставки (оpen trades): покупают (buy/long) какое-то количество «продукта» (instrument) в надежде на поход вверх, или продают (sell/short) в надежде, что пойдет вниз.
После какого-то времени (если цена изменилась значительно) open trades закрывают и получают в результате прибыть (угадали с движением) или убыток (не угадали).Сделку можно закрыть руками, а можно автоматичеки (order): можно заранее задекларировать — если цена достигнет такого-то уровня, то закрыть trade.
Доступ к рынку для совершения сделок предоставляет брокер. И за это он взимают плату за каждую сделку.
Подкованные теорией, мы можем опять вернуться в область, далекую от финансов и сказать: хей! да мы же просто ищем сигнал в шуме! Сейчас по быстрому разложим в ряд Фурье, определим частоты и озолотимся!
Всё верно, так всё и есть. Игра началась.
Брокеры
Есть много брокеров, которые специализируются на частных лицах. Они отличают набором инструментов доступных для торгов, ценами на услуги, надежностью, возможность создания роботов.
Я не буду давать сравнительный анализ. Сразу дам лучшего — Oanda. Почему Oanda:
- Репутация;
- Возможность открыть сделку в 1 доллар и нет требований к размеру trade (некоторые брокеры обязывают делать его кратным большим величинам);
- Низкая цена за сделки (узкий spread);
- Огромное количество инструментов: валюты, драг металлы и нефть, индексы;
- Возможность торговать через API;
- Ввод вывод денег возможен через PayPal.
Для того, чтобы торговать, надо создать учетную запись на Oanda. Для начала — тренировочную (fxtrade practice). В меню «Manage API Access» нужно указать, что на вашем счету возможна торговля через API. После этого вам сгенерят секретный токен для использования в RESTful вызовах.
API для торговли

Я буду использовать Python 2.7 и библиотеку requests.
Для того, чтобы торговать, нам нужно:
Получать информацию о цене. Робот должен знать, что происходит
def connect_to_stream(): try: s = requests.Session() url = "https://stream-fxpractice.oanda.com/v1/prices" headers = params = req = requests.Request('GET', url, headers = headers, params = params) pre = req.prepare() resp = s.send(pre, stream = True, verify = False, timeout=20) return resp except Exception as e: s.close() print "Caught exception when connecting to stream\n" + str(e)Эта функция позволит соединиться к потоку цен на EUR/USD и AUD/JPY.
Теперь мы можем их считывать:
try: #infinite loop on receiving events about price. on each tick Strategy function is called for line in response.iter_lines(1): if line: msg = json.loads(line) if msg.has_key("instrument") or msg.has_key("tick"): strategy(msg['tick']['instrument'], msg['tick']['time'], msg['tick']['ask']) except Exception as e: print "something gone bad " +str(e) returnТеперь нам нужен мозг. Принятие решений

Как видно, в функцию стратегии передается информация о названии инструмента, цена и время.
Мы можем решать в функции strategy: а что нам делать с этой новой инфой? Проигнорировать? Или, может, открыть новую сделку?Вот здесь пригодится, что вы — программист. Изобретайте! Есть числовой ряд — ищете закономерности, анализируйте, да всё, что угодно.
Допустим, робот подумал и сказал: точно цена пойдет вверх! Чувствую своей shiny metal ass!
Тогда нам нужна возможность заключить сделку
def order(instr, take_profit, stop_loss): try: url = "https://" + "api-fxpractice.oanda.com" + "/v1/accounts/"+"YOUR ACC"+"/orders" headers = params = urllib.urlencode(< "instrument" : instr, # инструмент, по которому открывает сделку "units" : 10, # сколько единиц покупаем "type" : 'market', # прям сейчас исполнить! "side" : "buy", # считаем, что цена пойдет вверх ("sell" если думаем что вниз) "takeProfit" : take_profit # насколько цена должна пройти вверх, чтобы наша жадность удовлетворилась, и мы закрыли бы сделку. и считали профит "stopLoss" : stop_loss # насколько цена может опуститься, прежде чем наш страх скажет "ты чё. дальше только хуже будет. закрывай немедля. фиг с ними с потерями" >) req =requests.post(url, data=params, headers=headers) for line in req.iter_lines(1): print "order responce: ", line except Exception as e: print "Caught exception when connecting to orders\n" + str(e)Вот, в общем-то, и всё. Мы научились получать информацию о цене и, исходя из этого, открывать сделки с фиксированными целями.
Деплоймент онлайн
Открыл для себя наличие vps по бросовым ценам. Например, ftpit.com. Взял тот, что за 2 доллара в месяц.
Этот хостиг без проблем держит на себе 3-х моих роботов, которые день и ночь пытаются одолеть толстосумов с Wall Street. Плюс к этому есть свой SMTP server и небольшой сайт.Заключительные мысли
Торговля на финансовых рынках может стать замечательным хобби, которое не только дает возможность программировать, но и приобщиться к огромной онлайн игре, в которой каждый день много новостей, мнений, событий, страха, жадности и надежды!
Если у вас есть вопросы — отвечу с радостью и в меру сил.
UPDATE
Очень рекомендую оставаться на practice account хотя бы 1 год
не торопитесь вводить настоящие деньги
если Вы будете видеть, что у вас прям «прёт» и все получается, то просто замониторьте счет вот здесь — forexfactory.com
если будет стабильный результат даже на демо счете — инвесторы сами вас будут искать и предлагать деньги в управлениеUPDATE 2
Вспомнил кто еще любил сыграть на финасовых рынках — сэр Исаак Ньютон (тот самый :))