Главная | Продукты | Вебинары | Видео | Цены и тарифы | Для бирж и брокеров | Поддержка
Меню

Типы переменных

 
В RobotLab существуют следующие типы переменных:
 
Boolean
Этот тип данных предназначен для хранения результатов логических операций (сравнение двух и более значений). Переменные типа Boolean могут принимать два значения:  True (истина), False (ложь), они обычно используется в кубиках условие.  Например:  2 = 3  результат False; 3 > 2 результат True.
 
С переменными типа Boolean возможны следующие действия:
 
and – логическое умножение (и):
    True and False = False
    True and True = True
    False and False = False
    False and True = False
or – логическое сложение (или):
    True or False = True
    True or True = True
    False or False = False
    False or True = True
not – логическое отрицание (не):
    not True = False
    not False = True
xor – исключающее или (не равно):
    True xor True = False
    True xor False = True
    False xor True = True
    False xor False = False
 
Примеры использования:
 
·     Условие срабатывания скользящего стопа на прибыль (для длинной позиции):
(ЦенаВхода  < ТекущаяЦена) and ((МаксимальнаяЦена – ТекущаяЦена )>Проскальзывание )
·     Условия срабатывания скользящего стопа на прибыль (для любой позиции)
(Позиция > 0 and (ЦенаВхода  < ТекущаяЦена) and ((МаксимальнаяЦена – ТекущаяЦена )>Проскальзывание )) or (Позиция < 0 and (ЦенаВхода  > ТекущаяЦена) and ((ТекущаяЦена - МинимальнаяЦена )>Проскальзывание ))
 
Int32
Хранит целочисленные значения, как отрицательные, так и положительные. Обычно используется для хранения объема заявок и числа периодов усреднения в индикаторах. С переменными типа Int32 можно проводить все математические операции, результатом которых будут целые числа.
 
Double
Этот тип переменных предназначен для хранения дробных чисел. Он поддерживает все математические операции и стандартные математические функции (sin(), sqrt() и прочее). Вместо него в RobotLab рекомендуется использовать другой тип переменных для дробных чисел – Decimal, т.к. он обладает большим диапазоном значений и более высокой точностью математических операций.
 
String
Хранит строковые выражения, чаще всего используется для вывода информации в лог робота. Значения переменных типа String заключаются в двойные кавычки. Для объединения двух строк используется символ &.
 
Примеры:
·     “Номер счета: ” & Account
·     “Лучшая покупка = ” & BestBuy.ToString & “Лучшая продажа = ” & BestSell.ToString
          Смысл записи BestBuy.ToString – перевод числового значения переменной BestBuy в текстовое. Более подробно этот вопрос  типов будет рассмотрен в разделе «Преобразование стандартных типов переменных».
 
Decimal
Тип переменных, предназначенных для хранения дробных значений, например цен, значений индикаторов, относительной величины стопов и многого другого. Большинство значений, с которыми Вы будете иметь дело в RobotLab, хранятся в переменных данного типа. С ними можно выполнять всевозможные математические операции. При задании значений для переменных типа Decimal вручную в после числового значения надо добавлять букву d
 
Примеры:
·     TakeProfitLevel = 103.92d
·     TekeProfitLevel = OpenPrice* RelTakeProfit
 
Array[]
Массивы. Представляют собой последовательный набор переменных одного типа. Обычно их используют для хранения рядов данных, например для значения цены за определенный период времени. Для того, чтобы обратиться к каком-то элементу ряда, надо указать в круглых скобках его порядковый номер (нумерация в массивах начинается с 0 а не с 1). Массивы можно сделать из переменных любого типа, даже из массивов.
 
Для корректного использования массивов, созданных пользователем, необходимо их предварительно проинициализировать (указать тип элементов массива и их количество), делается это во вкладке переменные, в графе "По умолчанию" с помощью следующей строки: New  <type>(<N>) {[value1, value2, ..., valueN]}, где <N> - число элементов массива (нумерация начинается с 0), <type> - тип элементов массива, value1 - значения по умолчанию для элементов массива (задавать не обязательно). Массивы, создаваемые кубиками RobotLab'а вручную инициировать нет необходимости, они инициализирутся автоматически при заполнении кубиками.
 
Примеры:
·     Price(0) – первое значение в массиве Price[]
·     BollingerBandPoint(1).SMA – предыдущее значение Скользящей средней индикатора Полосы Боллинджера
Примеры инициализации:
 
Object
Для удобства использования группы переменных, характеризующих  разные свойства одно объекта, (например: стакана, индикатора, заявки) объединены в объекты. То есть, чтобы хранить различные характеристики стакана (индикатора, заявки, инструмента и т.д.) Вам не надо создавать множество переменных, достаточно создать одну переменную типа стакан, которая уже будет обладать необходимыми свойствами. Чтобы обратиться к этим свойствам используется следующая форма записи: ИмяОбъекта.НазваниеСвойства
 
Пример:
При добавлении кубика Получение стакана автоматически создается переменная OrderBookSnapShot типа OrderBookSnapShot, содержащая снимок стакана в момент запроса, который имеет ряд свойств: BestBuy, BestSell, Buy, Sell и прочее. Допустим, мы хотим узнать цену лучшей заявки на покупку. Для этого нам надо обратиться к свойству BestBuy переменной OrderBookSnapShot. Делается это следующим образом: OrderBookSnapShot.BestBuy, но BestBuy в свою очередь тоже является классом, в котором есть два поля: Price (цена), Volume (объем), то есть, чтобы узнать цену лучшей заявки на покупку надо записать: OrderBookSnapShot.BestBuy.Price, а чтобы узнать объем: OrderBookSnapShot.BestBuy.Volume.
 
Более полное описание всех объектов, которые создают кубики RobotLab, будет представлено в разделе «Объекты, создаваемые кубиками RobotLab».