Start Form
Start Form
Настраиваемая форма, которую пользователь заполняет перед запуском скрипта. Данные из формы попадают в объект который можно получить с помощью модуля 'input'.
Пример формы:
[
{
"label": "Pairs",
"prop": "orders",
"type": "array",
"items": [
{
"label": "Exchange",
"prop": "ex",
"type": "select",
"itemsFrom": "exchanges",
"required": true
},
{
"label": "Pair",
"prop": "pair",
"type": "select",
"itemsFrom": "unitPairsByExchange",
"lookup": ".ex",
"required": true
},
{
"label": "Quantity in first currency",
"prop": "quantity",
"type": "number",
"required": true
},
{
"label": "First step is buy?",
"prop": "isBuy",
"type": "checkbox",
"defValue": true
},
{
"label": "+- Price shift",
"prop": "shift",
"type": "number"
}
]
}
]
Каждый json объект FormSchemaModel в этом массиве станет переменной в input объекте.
FormSchemaModel :
"label" - заголовок в интерфейсе.
"prop" - имя переменной в input объекте.
"type" - тип поля ввода. Смотри константу FieldType.
константы FieldType {
- text - текст. Вернёт string
- textarea - многострочный текст. Вернёт string
- date - выбор даты и времени. Вернёт string
- number - число. Вернёт number
- color - выбор цвета. Вернёт hex
- checkbox - переключатель. Вернёт boolean
- select - выбор из предложенных значений. Вернёт string, либо если multiSelect вернёт массив string
- object - Вложенный объект со своими переменными. Используй "items" для указания полей объекта. Вернёт Lua table
- array - массив объектов. Однотипных при указании "items", либо разнотипных при указании "arrayItems"
}
"defValue" - значение по умолчанию.
"required" - является ли это поле обязательным для заполнения.
"items" - содержит поля однотипных объектов лежащих в массиве для типа array
"arrayItems" - содержит разнотипные объекты лежащие в массиве для типа array. Представляет собой массив массивов FormSchemaModel[ ][ ]
"multiSelect" - boolean позволит в типе select выбирать несколько значений.
"customItems" - используется для типа select. Содержит варианты выбора. Пример:
"customItems": [
{"label": "Ask less or equal then", "value": 0},
{"label": "Ask greater or equal then", "value": 1},
{"label": "Bid less or equal then", "value": 2},
{"label": "Bid greater or equal then", "value": 3}
]
"itemsFrom" - получает значения для типа select из API. Смотри константу ItemFrom.
"lookup" - для некоторых "itemsFrom". Ссылка на другое поле содержащее "itemsFrom" по его "prop" значению.
Пример получения имени биржи и пары на выбранной бирже:
{
"label": "Exchange",
"prop": "ex",
"type": "select",
"itemsFrom": "exchanges",
"required": true
},
{
"label": "Pair",
"prop": "pair",
"type": "select",
"itemsFrom": "unitPairsByExchange",
"lookup": "ex",
"required": true
}
константы ItemFrom {
- exchanges - содержит список имён всех бирж
- pairs - содержит список пар на всех биржах
- UnitPairsByExchange - содержит список полных имён пар на определённой бирже. Требуется lookup на поле содержащее имя биржи.
- sourcePairsByExchangeSource - содержит список кратких биржевых имён пар на определённой бирже. Требуется lookup на поле содержащее имя биржи.
- pairsByExchanges - содержит список полных имён пар совпадающих на выбранных биржах. Требуется lookup на поле с параметром "multiSelect": true содержащее имена бирж.
}
2019 All rights reserved