Главная > Обучение > Статьи > Типы переменных в конструкторе VisualJForex: BOOL, STR, DT
Типы переменных в конструкторе VisualJForex: BOOL, STR, DT

Откройте аккаунт, чтобы оценить удобство работы на MTBankFX.

Рекомендуем вам перед началом работы на реальном аккаунте обязательно потренироваться на демо-аккаунте.

Типы переменных в конструкторе VisualJForex: BOOL, STR, DT

BOOL – булева переменная

Переменные типа BOOL (от англ. Boolean) – логические. Такая переменная может иметь всего два значения:

  1. True – истина
  2. False – ложь

В панели переменных содержатся только 2 переменных такого типа. Подсветка ярко-оранжевого цвета. Для задач роботов такие переменные необходимо создавать вручную.

  • Account - «Global Account». (Для справки: по умолчанию все аккаунты считаются «неглобальными» (т.е. переменная «Global Account» равна «False»). На глобальных аккаунтах нельзя открывать противоположные позиции по одному инструменту, а значит ‑ стоп-лоссы, тейк-профиты, ОСО и т.д.)
  • TradeEvent - LastTradeEvent - Trade Message Position - "Position is Long". (Для справки: если для выбранной позиции переменная "Position is Long" равна "True", значит, она на покупку. Если "False" - на продажу.)

Очень удобно использовать такую переменную, чтобы добавить в робот, например, переключатель. Рассмотрим на примере.

Пример: включение и выключение трейлинг-стопа

С помощью булевой переменной включать и выключать можно что угодно.

Если сделать эту переменную глобальной, то при запуске робота в тест или реальную работу можно будет включать или выключать ее с помощью галочки:

STR - строка

Переменная типа STR (от англ. String - строка) может содержать любой текст.

В панели переменных она содержится во множестве мест и подсвечивается оранжевым цветом.

Один из полезнейших примеров применения переменной STR - помечать позиции, чтобы в дальнейшем робот мог находить только свои позиции по этой метке.

На изображении позиция, открытая по рынку, помечена комментарием "Robot_1_EURUSD". Далее этот комментарий можно использовать, чтобы с помощью блока PositionsViewer и следующего за ним IF находить только помеченные нужным комментарием позиции. См. пример в видео.

DT - дата, время

С помощью переменной DT (date, time - дата, время) удобно настраивать робота на включение и выключение по времени либо привязывать ко времени определенные события.

В панели переменных DT содержатся в onCandle, а также TradeEvent.

Сама по себе эта переменная не может использоваться. Время (свечи, открытия, закрытия позиции) можно получить с помощью блока GetTimeUnit. См. пример.

Указав в настройках "Hour", получаем результирующую переменную "Hour" (тип Integer, т.е. целочисленная), в которой содержится час исполнения ордера.

Все временные данные, которые можно получить, представлены в списке:

Day of Month День месяца, число (от 1 до 31)
Day of Week День недели (от 1 до 7, где 1 - воскресенье)
Hour Час (от 0 до 23)
Minute Минута (от 0 до 59)
Second Секунда (от 0 до 59)

При работе со временем важно помнить, что конструктор Visual JForex настроен на западноевропейскую нумерацию дней недели. То есть: воскресенье - 1-й день, понедельник - 2-й и так далее.

Заключение

Булевы переменные (BOOL) удобны для создания разного рода переключателей или выключателей.

С переменными STR (строка) удобно добавлять комментарии к позициям, чтобы далее робот мог манипулировать только собственными позициями.

Переменные DT (дата, время) используют для привязки сценариев робота ко времени.

Автор – Молодяшин Роман, тренер MTBankFX