Советник, который получает данные с веб-страницы + настройки

Работа завершена

Время выполнения 2 дня
Отзыв от заказчика
Хороший специалист, все сделал быстро и согласно ТЗ.
Отзыв от исполнителя
Отличный заказчик. Рекомендую

Техническое задание

Описание: Советник работает на той валютной паре, на которой он установлен. Советник открывает только рыночные ордера.
Советник получает веб-страницу по определенному адресу и берет из нее нужные значения для выставления позиций. Какие данные нужно забрать, мы определяем по id элемента. Вот, пример того, что содержит веб-страница.

<span>Тип ордера: </span><span id="order-type">sell</span>
<span>Уровень TP: </span><span id="order-tp">0.6647</span>
<span>Уровень SL: </span><span id="order-sl">0.68</span>

id=orde-rtype указывает нам какой ордер нужно открыть. Принимает несколько значений: sell, buy, notrade. 
buy - нужно открыть рыночный ордер на покупку. sell - нужно открыть рыночный ордер на продажу. notrade - советник не торгует.
id=order-tp показывает уровень tp, id=order-sl показывает уровень sl.

Советник должен быть устойчив к ошибкам. Например, если он получает с веб-страницы отрицательные значения или равные нулю tp или sl, то позиция не открывается. 
Если советник не может получить данные о sl или tp (например, если на странице ошибка, либо этих данных вообще нет), то позиции не открываются. 
То же самое если веб-страница выдает любые другие данные либо ошибки 403,404, и т.д. Все такие данные игнорируются.
При получении некорректных данных советник продолжает проверять веб-страницу согласно настроек, пока не получит правильные данные.
В случае любой ошибки делаем соответствующую запись в журнал терминала.

Настройки и переменные:

1. Объем (в процентах от депозита) - объем для открытия сделки (например, 1,2).
2. Период запросов (минуты) - опция устанавливает, через какое время мы будет делать запросы к веб-странице. 
3. Время торговли советника (если 0, то торгует круглосуточно). Должны поддерживаться несколько промежутков времени, например. 8:20-10:30, 13:40-17:00, 18:20-22:20 и т.д. Промежутков для торговли может быть много.
4. Закрывать позиции при получении сигнала notrade (вкл\выкл). Если ВКЛЮЧЕНО: например, у нас была открыта советником позиция на покупку. Через некоторое время мы получили данные с веб-страницы notrade. В этом случае позиция закроется. Тот же принцип и для продаж. Если ВЫКЛЮЧЕНО, то ничего не делаем.
4.1 Закрывать позиции при получении сигнала в противоположную сторону и открывать новую. (вкл/выкл). Если ВКЛЮЧЕНО: например, у нас была открыта советником позиция на покупку. Через некоторое время мы получили данные с веб-страницы notrade, а потом sell, или сразу sell. В этом случае позиция закроется. Если ВЫКЛЮЧЕНО, то ничего не делаем.

Теоретически, если ВЫКЛЮЧЕНЫ обе опции, то позиции будут удерживаться, пока их не закроет по стопу или тейку.

4.2 Пропускать сигнал, полученный при запуске советника (вкл, выкл). Если включено, то после запуска советника первая позиция открывается только при смене order-type. То есть если мы включаем советник и получаем сигнал buy, то он игнорируется, пока не произойдет смена сигнала. То же самое касается и продаж. По сути можно просто игнорировать первый сигнал при запуске, после чего переключаться в торговый режим. Если ВЫКЛЮЧЕНО, то советник открывает первую позицию сразу, после получения данных.

5. Таймаут открытия следующей позиции (минуты, 0 - не использовать). Если позиция закрылась (неважно каким образом, по тейку, по стопу или самим роботом) в течение этого промежутка времени новая позиция не будет открыта, несмотря на получение сигнала. Как только таймаут истекает, советник продолжает торговлю.
6. Меджик.
7. url запроса (обратите внимание, что url может содержать параметры)
8. Таймаут запроса (сек) - если в течение этого времени данные не получены, то закрываем соединение и пробуем снова.

После создания советника исполнитель обязуется передать исходный код заказчику.

Откликнулись

1
Разработчик 1
Оценка
(220)
Проекты
279
20%
Арбитраж
4
0% / 100%
Просрочено
4
1%
Работает
2
Разработчик 2
Оценка
(39)
Проекты
44
16%
Арбитраж
1
100% / 0%
Просрочено
7
16%
Свободен
Похожие заказы
1. Понимание экспоненциальной и линейной функций: - Экспоненциальная функция имеет вид: y = a * b^x, где a - начальное значение, b - основание экспоненты. - Линейная функция имеет вид: y = mx + b, где m - коэффициент наклона, b - свободный член. 2. Определение целевых значений: - Необходимо определить, к каким значениям на линейном графике должны соответствовать точки на экспоненциальном графике. 3. Решение
1) Необходимо найти решение, чтобы индикатор выдавал уведомление на одну свечу раньше оригинала индикатора на всех таймфреймах без опоздание по времени в самом начале открытие свечи, и чтобы не перерисовывался индикатор как у оригинала

Информация о проекте

Бюджет
30 - 50 USD
Исполнителю
27 - 45 USD
Сроки выполнения
от 7 до 10 дн.