Приложение для подключения через API к Interactive Brokers.

Python 다른 C++ C# Java Python

명시

Необходимо создать программу, либо веб-приложение для подключения через API к Interactive Brokers (и Freedom Finance API или Tinkoff Invest API - возможность обсуждается, для торговли на MOEX и SPB)

Задача программы автоматизировать рутинные действия в торговле - создание, редактирование, закрытие торговых ордеров.

Рекомендованные разработчиками языки программирования - C++, C#, Java, Python, ActiveX, RTD or DDE.


Брокер - Interactive brokers
Терминал - IB TWS (работает на Windows)
Размещение - VPS сервер на Windows, можно сделать любой
Информация по API: https://www.interactivebrokers.com/en/trading/ib-api.php
Рынки акций: NYSE, NASDAQ (MOEX и SPB - возможность обсуждается)
Валюта: основная USD, (либо RUB для MOEX, SPB - возможность обсуждается)
Продукт: Stock
Время операций с акциями делим на 2 вида: 1. основная сессия и 2. пре- и постмаркет поскольку на пре-маркете нельзя открывать дробленные позиции, то необходимо, чтобы при создании ордеров делалось округление не превышающее сумму установленного в настройках размера size
Источник данных для ордеров: таблица на странице сайта, желательная частота обновления - примерно 1 сек.
Также необходимо создать окно ручного создания ордеров с возможностью оставлять поля заполненными по-умолчанию, например, сумма/стоп/тей-профит.
данные в таблице обновляются в режиме реального времени
Поля таблицы-источника: date, time, stock, enterprice, action (open, close, closepart), type (short, long), target, stop, size, risk для открытия позиции в таблицы обязательно заполненными должны быть поля - stock, enterprice, action, type. если заполнено - создаем ордера
stock - название тикера фондовой биржы, прописан латиницей, в начале установлен # для упрощения фильтрации в таблице Нужно реализовать функция таймера для ордера, в секундном значении. Например, если ордер на открытие новой сделки не выполнился в течении 1000 сек., то он отменяется.
enterprice - цена, которая используется для ориентира по формированию ордера. порог входа от которого мы отталкиваемся при открытии ордера необходимо, чтобы цена входа в позицию редактировалась в настройках для торговых сессий отдельно (премаркет/постмаркет вместе и отдельно основаная сессия). На пре- и постмаркете +N% (например, +0,2% от цены enterprice), аналогично на основной сессии. Но для основной сессии необходимо, чтобы была возможность включать режим входа Market price, а также включать паузу для момента исполнения в секундном значении, например 5 или 8  сек.

Если позиция была частично закрыта, то и стоп уменьшается в соответствии к оставшейся части позиции.
action. 1. open - открытие позиции в лонг, либо шорт 2. close - закрыть всю позицию по market price 3. closepart 1/3, либо 1/2 - закрыть соответствующую часть позиции market price если эти поля не заполнены, то в таблице-источнике указаны изменения на исправления стопов, либо тейков
type - short и long, одноименные входы
target - profit take для лонга или шорта от enterprice в процессе торговли это поле не меняем с таблицы, если было указано заранее, редактируем только вручную.
stop - стоп ордер, либо в % от enterprice, либо фиксированное значение в таблице
size - размер позиции для открытия (small, basic, big - значения в USD и RUB, если используем, прописываются в настройках) если при открытии позиции это поле не указано в таблице, то по-умолчанию используем значение, которое задаем в настройках. К примеру, указываем, что на премаркете используем по-умолчанию small, а на основной сессии по-умолчанию basic
Размер позиции stop должен изменяться в зависимости от размера текущей позиции, чтобы ошибочно не открывались короткие позиции по неубранному/неотредактированному стопу.
risk - уровень риска (standard, high)  Если риск указан standard, то в других полях используем значения по-умолчаниюю Если указан high, то значение size для позиции используется small, независимо от стадии торговой сессии.
Программу необходимо установить на 3 компьютера, с возможностью установки на другие устройства
Опционально:
необходимо генерировать отчет аналогичный таблице-источнику, а в поле exitprice указывать реальную цену выполнения ордера на закрытие позиции. Добавить поле result с процентным результатом + и - от поля exitprice после полного закрытия. Добавить поле realprice - значение по которому был выполнен ордер на открытие позиции.

Сделать окно настроек для формирования стратегий автоматического входа и выхода из позиций.
Необходимые настройки:  
1. Стоп лосс. Установка стоп лоса в определенном процентном значение от точки enterprice, если поле Stop не указано в таблице.
2. Увеличение. Установка одера на УВЕЛИЧЕНИЕ позиции на определенный процент до стопа от цены enterptice, и на определенный процент от размера открытой позиции. К примеру, enterprice 100 usd, стоп 5% (95), размер открытой позиции 1000 usd. Значение до стопа установили 80%, а значение увеличения установили 30%. С открытием позиции должен быть автоматически установлен ордер на увеличение в точке 96 usd (80% от стопа 5%) на сумму 300 usd. На эту же часть (в данном случае 300 usd), в случае срабатывания ордера на открытие, автоматически должен создаваться ордер на закрытие этой части позиции 300 usd по цене enterprice. Данная функция должна включаться/выключаться в настройках.
3. Уменьшение. Установка одера на УМЕНЬШЕНИЕ позиции (частичный тейк профит) на определенный процент от цены enterptice, и на определенный процент от размера открытой позиции. К примеру, enterprice 100 usd, размер открытой позиции 1000 usd. Значение для уменьшения размера установили 30%, а точка тейк на уменьшение 1%. С открытием позиции должен быть автоматически установлен ордер на уменьшение в точке 101 usd (+1%) на сумму 300 usd. На эту же часть (в данном случае 300 usd), в случае срабатывания ордера на открытие, автоматически должен создаваться ордер на закрытие этой части позиции 300 usd по цене enterprice. Данная функция должна включаться/выключаться в настройках.
При увеличении/уменьшении позиции размер общего стопа должен автоматически изменяться на оставшийся размер позиции. В т.ч. если часть позиции была закрыта через несение данных в таблицу в поле closepart.
4. Перенос стоп лоса. При достижении стоимости позиции до определенного процента от цены enterprice, необходимо автоматически перемещать стоп в точку значения enterprice. К примеру, enterprice 100 usd, стоп 5% (95). Установили значение переноса стопа 2%. После достижения стоимости 102 usd стоп автоматически переносится  в точку 100.



Все возникшие вопросы пишите в личные сообщения - обсудим, возможно в чем-то пересмотрим функционал.


응답함

1
개발자 1
등급
(37)
프로젝트
50
20%
중재
15
27% / 67%
기한 초과
7
14%
무료
게재됨: 1 코드
2
개발자 2
등급
(37)
프로젝트
84
31%
중재
16
6% / 56%
기한 초과
54
64%
무료
3
개발자 3
등급
(7)
프로젝트
11
36%
중재
3
0% / 100%
기한 초과
0
무료
4
개발자 4
등급
(144)
프로젝트
285
42%
중재
19
63% / 5%
기한 초과
29
10%
무료
게재됨: 2 코드
비슷한 주문
Добрый день. Нужно написать парсер для сбора статистики из страницы Онлайн Рулетки. Р улетка автоматическая, работает в онлайн режиме. Программа должна запомнить в массиве 15 последних выпавших чисел и каждый раз при появлении нового числа определить веса для всех 15 элементов массива, где могут быть от 1-36 чисел (0 не в счет). На самом деле если очень кратко, то от страницы рулетки надо собирать не только
Описание задачи: Нужен опытный разработчик на MQL4, который поможет другому программисту (работает через нейросеть, но слабо знаком с MQL4) разобраться в логике и корректно реализовать советника. Цель проекта: Создать стабильного советника, который будет принимать сигналы с мастер-счёта (счёт трейдера у брокера N) и синхронизировать их на клиентском счёте. ✅ Основной функционал: Синхронизация сделок между счётами
Название: MT4 копировщик сделок через Telegram + лицензии (Master → Client) Описание: Нужно разработать 2 советника (MQL4) + Telegram-бот: Master EA — отправляет сделки с моего счёта в Telegram-канал/группу (OPEN/CLOSE/MODIFY, SL/TP, Magic фильтр). Client EA — принимает сигналы из Telegram и исполняет сделки на счёте клиента. Обязательные требования: Формат сообщений

프로젝트 정보

예산
700+ USD
개발자에게
630 USD
기한
 30 일