Settings and card schema
Shared reading rules and the per-family condition contracts are on Signal passports. The behaviour contract is Rules for AI assistants.
Knowledge package 0.6.1, checked 22 September 2026, build 03613bfa. These are exact reference blocks, not a card to import. Use the complete package for validation and link generation. Select the exchange and averaging mode before reading a family. Every field in a selected definition is required.
The condition contract on each family page includes its numeric rules and dependencies. This page supplies common settings and the complete main-settings contract. Source input bounds do not establish instrument-specific acceptance, available history or results.
Names in Russian and Ukrainian
Show a card in the user's own language: Russian when they write in Russian, Ukrainian when they write in Ukrainian, English otherwise. Keys below are the exact English names used in the catalogue further down this page; a name absent here stays English. Every name here is the application's own translation, taken by the same key the application uses, so a card reads exactly like the form. This covers the indicator fields and their options as fully as it covers the main settings, labels_by_field settles the few names that belong to two different fields, and card_layout says how the blocks are arranged, the block of a single indicator included. Identifiers, enum values and numeric contracts are never translated and never shown to the user.
{
"format": "itb.field-labels/0.5.0",
"observed_date": "2026-09-22",
"observed_date_note": "The date these names were read from the application. This package is stamped 22 September 2026; each file carries its own observation date.",
"scope": "Display names for fields, options and definitions the English catalogue publishes, as the ITradingBot interface shows them in Russian and Ukrainian. Keys are the exact English names used in field-catalog.json. Identifiers, enum values, numeric contracts and timeframe codes are never translated and are not listed here.",
"languages": [
"ru",
"uk"
],
"match_rule": "Each name is taken from the application's own translation files, by the same key the application uses: the field's protocol key for an indicator field, the enum value for an option caption, the definition identifier for an indicator name, the English text for a field of the backtest form itself. A translation is accepted only when the English text stored under that key is the English name published here, so a key belonging to another screen cannot be picked up by accident. Four names are the exception and are marked as such: the annotations of the test profile - fast calculation, multitest pair list, signal averaging and the intended timezone - describe the card itself and have no control in the form, so they were written here rather than taken from the application.",
"fallback": "A name absent here is shown in English in every language.",
"labels": {
"Exchange": {
"ru": "Биржа",
"uk": "Біржа"
},
"Asset": {
"ru": "Актив",
"uk": "Актив"
},
"Balance Operation Mode": {
"ru": "Режим работы с балансом",
"uk": "Режим роботи з балансом"
},
"No Withdrawal": {
"ru": "Без вывода",
"uk": "Без виведення"
},
"Withdraw All Profit": {
"ru": "Выводить весь профит",
"uk": "Виводити весь прибуток"
},
"Withdraw all profit if capital exceeds the initial amount": {
"ru": "Выводить весь профит если капитал больше начального",
"uk": "Виводити весь прибуток, якщо капітал більший за початковий"
},
"Withdraw all profit monthly": {
"ru": "Выводить весь профит каждый месяц",
"uk": "Виводити весь прибуток щомісяця"
},
"Direction": {
"ru": "Направление",
"uk": "Напрямок"
},
"Short": {
"ru": "Шорт",
"uk": "Шорт"
},
"Long": {
"ru": "Лонг",
"uk": "Лонг"
},
"Mode": {
"ru": "Режим",
"uk": "Режим"
},
"Averaging using limit orders": {
"ru": "Усреднять с помощью лимитных ордеров",
"uk": "Усереднювати за допомогою лімітних ордерів"
},
"Averaging using signals": {
"ru": "Усреднять с помощью сигналов",
"uk": "Усереднювати за допомогою сигналів"
},
"Start of calculation": {
"ru": "Начало расчета",
"uk": "Початок розрахунку"
},
"Calculation End": {
"ru": "Конец расчета",
"uk": "Кінець розрахунку"
},
"Deposit": {
"ru": "Депозит",
"uk": "Депозит"
},
"First Order": {
"ru": "Первый ордер",
"uk": "Перший ордер"
},
"Commission limit order": {
"ru": "Ком. лим. ордера",
"uk": "Коміс. ліміт. ордера"
},
"Market Order Commission": {
"ru": "Ком. маркет ордера",
"uk": "Ком. ринкового ордера"
},
"Margin type": {
"ru": "Тип маржи",
"uk": "Тип маржі"
},
"Cross": {
"ru": "Перекрестная",
"uk": "Перехресна"
},
"Isolated": {
"ru": "Изолированная",
"uk": "Ізольована"
},
"Leverage": {
"ru": "Плечо",
"uk": "Плече"
},
"Take Profit": {
"ru": "Тейк профит",
"uk": "Take Profit"
},
"Stop Limit": {
"ru": "Стоп лимит",
"uk": "Стоп-ліміт"
},
"SOS": {
"ru": "ШСО",
"uk": "ШСО"
},
"DSOS": {
"ru": "ДШСО",
"uk": "ДШСО"
},
"Number of SO": {
"ru": "Количество СО",
"uk": "Кількість СО"
},
"Martingale": {
"ru": "Мартингейл",
"uk": "Мартингейл"
},
"Deviation": {
"ru": "Девиация",
"uk": "Девіація"
},
"Signal averaging": {
"ru": "Усреднение по сигналу",
"uk": "Усереднення за сигналом"
},
"Hedge": {
"ru": "Хедж",
"uk": "Хедж"
},
"Fast calculation": {
"ru": "Ускоренный расчёт",
"uk": "Прискорений розрахунок"
},
"Multitest: pair list": {
"ru": "Мультитест: список пар",
"uk": "Мультитест: список пар"
},
"Optimizer": {
"ru": "Оптимизатор",
"uk": "Оптимізатор"
},
"Intended timezone": {
"ru": "Предполагаемый часовой пояс",
"uk": "Передбачений часовий пояс"
},
"Moving average": {
"ru": "Ск. средняя",
"uk": "Ск. середня"
},
"TF": {
"ru": "ТФ",
"uk": "ТФ"
},
"Candlestick type": {
"ru": "Тип свечей",
"uk": "Тип свічок"
},
"Normal": {
"ru": "Обычные",
"uk": "Звичайні"
},
"Heiken-Ashi": {
"ru": "Хейкен-Аши",
"uk": "Хейкен-Аші"
},
"Calculation": {
"ru": "Расчёт",
"uk": "Розрахунок"
},
"At bar close": {
"ru": "По закрытию бара",
"uk": "За закриттям бара"
},
"On crossover (per second)": {
"ru": "По пересечению (ежесекундно)",
"uk": "За перетином (щосекундно)"
},
"Reverse?": {
"ru": "Реверс?",
"uk": "Реверс?"
},
"Type": {
"ru": "Тип",
"uk": "Тип"
},
"Wilder's Moving Average": {
"ru": "Wilder's Moving Average",
"uk": "Wilder's Moving Average"
},
"MRC (FOMO) line": {
"ru": "Ср. линия MRC (FOMO)",
"uk": "Сер. лінія MRC (FOMO)"
},
"Period": {
"ru": "Период",
"uk": "Період"
},
"When a signal is received": {
"ru": "При получении сигнала",
"uk": "Під час отримання сигналу"
},
"Sell by market": {
"ru": "Продать по маркету",
"uk": "Продати по маркету"
},
"Sell at market with deviation (if specified)": {
"ru": "Продать по маркету с учетом девиации (если указана)",
"uk": "Продати по маркету з урахуванням девіації (якщо вказана)"
},
"By the moving average": {
"ru": "По ск. средней",
"uk": "За ск. середньою"
},
"When exiting the filter": {
"ru": "При выходе из фильтра",
"uk": "Під час виходу з фільтра"
},
"Cancel cycles": {
"ru": "Отменить циклы",
"uk": "Скасувати цикли"
},
"Count by": {
"ru": "Считать по",
"uk": "Рахувати за"
},
"By the last price": {
"ru": "Последней цене",
"uk": "Останній ціні"
},
"By the entire bar range": {
"ru": "Всему диапазону бара",
"uk": "Усьому діапазону бара"
},
"MACD": {
"ru": "MACD",
"uk": "MACD"
},
"Fast moving average period": {
"ru": "Период быстрой скользящей ср.",
"uk": "Період швидкої ковзної сер."
},
"Slow sliding scale period": {
"ru": "Период медленной скользящей ср.",
"uk": "Період повільної ковзної сер."
},
"Signal sliding scale period": {
"ru": "Период сигнальной скользящей ср.",
"uk": "Період сигнальної ковзної сер."
},
"Condition": {
"ru": "Условие",
"uk": "Умова"
},
"Crossing of MACD and signal line": {
"ru": "Пересечение MACD и сигнальной линии",
"uk": "Перетин MACD та сигнальної лінії"
},
"Intersection of MACD and zero level": {
"ru": "Пересечение MACD и нулевого уровня",
"uk": "Перетин MACD та нульового рівня"
},
"By bar graph growth": {
"ru": "По росту гистограммы",
"uk": "За зростанням гістограми"
},
"By descending histogram": {
"ru": "По снижению гистограммы",
"uk": "За зниженням гістограми"
},
"By MACD": {
"ru": "По MACD",
"uk": "За MACD"
},
"Filter type": {
"ru": "Тип фильтра",
"uk": "Тип фільтра"
},
"Default": {
"ru": "По умолчанию",
"uk": "За замовчуванням"
},
"Above/below the 0th level": {
"ru": "Выше/Ниже 0-ого уровня",
"uk": "Вище/Нижче 0-го рівня"
},
"By growth/decrease of MACD line": {
"ru": "По росту/снижению линии MACD",
"uk": "За зростанням/зниженням лінії MACD"
},
"By increasing/decreasing signal line": {
"ru": "По росту/снижению сигнальной линии",
"uk": "За зростанням/зниженням сигнальної лінії"
},
"By increasing/decreasing histogram": {
"ru": "По росту/снижению гистограммы",
"uk": "За зростанням/зниженням гістограми"
},
"RSI": {
"ru": "RSI",
"uk": "RSI"
},
"Upper limit": {
"ru": "Верхняя граница",
"uk": "Верхня межа"
},
"Lower limit": {
"ru": "Нижняя граница",
"uk": "Нижня межа"
},
"At the end of the channel": {
"ru": "По выходу из канала",
"uk": "За виходом із каналу"
},
"On returning to the channel": {
"ru": "По возвращению в канал",
"uk": "За поверненням у канал"
},
"On trend change": {
"ru": "По смене тренда",
"uk": "За зміною тренду"
},
"By RSI": {
"ru": "По RSI",
"uk": "За RSI"
},
"Above/below channel": {
"ru": "Выше/Ниже канала",
"uk": "Вище/Нижче каналу"
},
"By past signal (By trend)": {
"ru": "По прошлому сигналу (По тренду)",
"uk": "За минулим сигналом (За трендом)"
},
"By internal channel": {
"ru": "По внутреннему каналу",
"uk": "За внутрішнім каналом"
},
"By RSI (Growth/Decline)": {
"ru": "По RSI (Росту/снижению)",
"uk": "За RSI (зростанню/зниженню)"
},
"Bollinger Bands": {
"ru": "Линии Боллинджера",
"uk": "Лінії Боллінджера"
},
"Standard deviation": {
"ru": "Среднеквадратическое отклонение",
"uk": "Середньоквадратичне відхилення"
},
"By Bollinger Bands": {
"ru": "По Линиям Боллинджера",
"uk": "За лініями Боллінджера"
},
"Offset to the right": {
"ru": "Сдвиг вправо",
"uk": "Зсув вправо"
},
"On the internal channel from the trunk": {
"ru": "По внутреннему каналу от ср. линии",
"uk": "За внутрішнім каналом від сер. лінії"
},
"By channel width": {
"ru": "По ширине канала Боллинджера",
"uk": "За шириною каналу Боллінгера"
},
"Allow entry if": {
"ru": "Разрешать вход если",
"uk": "Дозволяти вхід якщо"
},
"Channel of the already set %": {
"ru": "Канал уже заданного %",
"uk": "Канал уже заданого %"
},
"The channel is wider than the specified %": {
"ru": "Канал шире заданного %",
"uk": "Канал ширший за заданий %"
},
"Channel width, %": {
"ru": "Ширина канала, %",
"uk": "Ширина каналу, %"
},
"Stochastic": {
"ru": "Стохастик",
"uk": "Стохастик"
},
"Period %K": {
"ru": "Период %K",
"uk": "Період %K"
},
"Smoothing factor": {
"ru": "Фактор сглаживания",
"uk": "Фактор згладжування"
},
"Period %D": {
"ru": "Период %D",
"uk": "Період %D"
},
"By channel stochastic": {
"ru": "По канальному стохастику",
"uk": "За канальним стохастиком"
},
"ADX DI+ DI-": {
"ru": "ADX DI+ DI-",
"uk": "ADX DI+ DI-"
},
"Threshold": {
"ru": "Порог",
"uk": "Поріг"
},
"Crossing of DI+/DI-": {
"ru": "Пересечение DI+/DI-",
"uk": "Перетин DI+/DI-"
},
"Above threshold ADX + DI+/DI- intersection": {
"ru": "Выше порога ADX + пересечение DI+/DI-",
"uk": "Вище порога ADX + перетин DI+/DI-"
},
"Below ADX threshold + DI+/DI- crossover": {
"ru": "Ниже порога ADX + пересечение DI+/DI-",
"uk": "Нижче порога ADX + перетин DI+/DI-"
},
"By ADX": {
"ru": "По ADX",
"uk": "За ADX"
},
"Above threshold": {
"ru": "Выше порога",
"uk": "Вище порога"
},
"Below threshold": {
"ru": "Ниже порога",
"uk": "Нижче порога"
},
"Chande Momentum Oscillator": {
"ru": "Chande Momentum Oscillator",
"uk": "Chande Momentum Oscillator"
},
"By Chande Momentum Oscillator": {
"ru": "По Chande Momentum Oscillator",
"uk": "По Chande Momentum Oscillator"
},
"Above the threshold": {
"ru": "Выше порога",
"uk": "Вище порога"
},
"Below the threshold": {
"ru": "Ниже порога",
"uk": "Нижче порога"
},
"By MRC (FOMO) channel width": {
"ru": "По ширине канала MRC (FOMO)",
"uk": "За шириною каналу MRC (FOMO)"
},
"Overbought/Oversold": {
"ru": "Перекупленность/Перепроданость",
"uk": "Перекупленість/Перепроданість"
},
"Weak": {
"ru": "Слабая",
"uk": "Слабка"
},
"Medium": {
"ru": "Средняя",
"uk": "Середня"
},
"Strong": {
"ru": "Сильная",
"uk": "Сильна"
},
"MRC (FOMO)": {
"ru": "MRC (FOMO)",
"uk": "MRC (FOMO)"
},
"By MRC (FOMO)": {
"ru": "По MRC (FOMO)",
"uk": "За MRC (FOMO)"
},
"Impulse 2.0": {
"ru": "Импульс 2.0",
"uk": "Імпульс 2.0"
},
"Fast mode": {
"ru": "Быстрый режим",
"uk": "Швидкий режим"
},
"Calculation time (s)": {
"ru": "Время расчёта (с)",
"uk": "Час розрахунку (с)"
},
"By MFI (Growth/Decline)": {
"ru": "По MFI (Росту/снижению)",
"uk": "За MFI (зростанню/зниженню)"
},
"MFI": {
"ru": "MFI",
"uk": "MFI"
},
"By MFI": {
"ru": "По MFI",
"uk": "За MFI"
},
"Momentum": {
"ru": "Momentum",
"uk": "Momentum"
},
"By Momentum": {
"ru": "По Momentum",
"uk": "За Momentum"
},
"By growth/decrease": {
"ru": "По росту/снижению",
"uk": "За зростанням/зниженням"
},
"On Balance Volume (OBV)": {
"ru": "Балансовый объем (OBV)",
"uk": "Балансовий обсяг (OBV)"
},
"OBV Channel Length": {
"ru": "OBV Channel Length",
"uk": "OBV Channel Length"
},
"OBV Average Length": {
"ru": "OBV Average Length",
"uk": "OBV Average Length"
},
"Normalization factor": {
"ru": "Коэффициент нормализации",
"uk": "Коефіцієнт нормалізації"
},
"By On Balance Volume (OBV)": {
"ru": "По Балансовому объему (OBV)",
"uk": "За балансовим обсягом (OBV)"
},
"Based on past impulse": {
"ru": "По прошлому импульсу",
"uk": "За минулим імпульсом"
},
"Analysis time (m)": {
"ru": "Время анализа (м)",
"uk": "Час аналізу (хв)"
},
"There was an impulse": {
"ru": "Был импульс",
"uk": "Був імпульс"
},
"There was no momentum": {
"ru": "Не было импульса",
"uk": "Не було імпульсу"
},
"Both sides": {
"ru": "Обе стороны",
"uk": "Обидві сторони"
},
"By volatility": {
"ru": "По волатильности",
"uk": "За волатильністю"
},
"Volatility is greater than the set value, %": {
"ru": "Волатильность больше заданного значения, %",
"uk": "Волатильність більша за задане значення, %"
},
"Volatility below threshold, %": {
"ru": "Волатильность меньше заданного значения, %",
"uk": "Волатильність менша за задане значення, %"
},
"The absolute growth is greater than set value": {
"ru": "Абсолютный прирост больше заданного значения",
"uk": "Абсолютне зростання більше за задане значення"
},
"Absolute growth is less than set value": {
"ru": "Абсолютный прирост меньше заданного значения",
"uk": "Абсолютне зростання менше за задане значення"
},
"Relative growth is greater than the given %": {
"ru": "Относительный прирост больше на заданный %",
"uk": "Відносне зростання більше на заданий %"
},
"Relative growth is less than the given %": {
"ru": "Относительный прирост меньше на заданный %",
"uk": "Відносне зростання менше на заданий %"
},
"By price increase/decrease 2.0": {
"ru": "По росту/снижению цены 2.0",
"uk": "За зростанням/зниженням ціни 2.0"
},
"Growth of more than": {
"ru": "Рост более",
"uk": "Зростання більше"
},
"Growth of less than": {
"ru": "Рост менее",
"uk": "Зростання менше"
},
"Decrease of more than": {
"ru": "Снижение более",
"uk": "Зниження більше"
},
"Decrease of less than": {
"ru": "Снижение менее",
"uk": "Зниження менше"
},
"By price range": {
"ru": "По диапазону цены",
"uk": "За діапазоном цін"
},
"Price from": {
"ru": "цена от",
"uk": "ціна від"
},
"Price to": {
"ru": "цена до",
"uk": "ціна до"
},
"Inside range": {
"ru": "Внутри диапазона",
"uk": "Всередині діапазону"
},
"Above/below range": {
"ru": "Выше/ниже диапазона",
"uk": "Вище/нижче діапазону"
},
"By volume $ 2.0": {
"ru": "По объему $ 2.0",
"uk": "За обсягом $ 2.0"
},
"Coefficient": {
"ru": "Коэффициент",
"uk": "Коефіцієнт"
},
"By volume $": {
"ru": "По объему $",
"uk": "За обсягом $"
},
"The volume is greater than the specified one": {
"ru": "Объём больше заданного",
"uk": "Обсяг більший за заданий"
},
"The volume is less than the specified one": {
"ru": "Объём меньше заданного",
"uk": "Обсяг менший за заданий"
},
"Volume $": {
"ru": "Объём $",
"uk": "Обсяг $"
},
"SAR": {
"ru": "SAR",
"uk": "SAR"
},
"Acceleration": {
"ru": "Ускорение",
"uk": "Прискорення"
},
"Maximum": {
"ru": "Максимум",
"uk": "Максимум"
},
"By SAR": {
"ru": "По SAR",
"uk": "За SAR"
},
"Supertrend": {
"ru": "Supertrend",
"uk": "Supertrend"
},
"ATR period": {
"ru": "ATR период",
"uk": "ATR період"
},
"ATR multiplier": {
"ru": "ATR множитель",
"uk": "ATR множник"
},
"By Supertrend": {
"ru": "По Supertrend",
"uk": "За Supertrend"
},
"By trade count 2.0": {
"ru": "По количеству сделок 2.0",
"uk": "За кількістю угод 2.0"
},
"By number of trades 2.0": {
"ru": "По количеству сделок 2.0",
"uk": "За кількістю угод 2.0"
},
"By number of trades": {
"ru": "По количеству сделок",
"uk": "За кількістю угод"
},
"The number of trades is greater than the specified number": {
"ru": "Кол-во сделок больше заданного",
"uk": "К-сть угод більша за задану кількість"
},
"The number of transactions is less than the specified one": {
"ru": "Кол-во сделок меньше заданного",
"uk": "К-сть угод менша за задану кількість"
},
"Transaction count": {
"ru": "Кол-во сделок",
"uk": "К-сть угод"
},
"Volatility": {
"ru": "Волатильность",
"uk": "Волатильність"
},
"VORTEX": {
"ru": "VORTEX",
"uk": "VORTEX"
},
"By VORTEX": {
"ru": "По VORTEX",
"uk": "За VORTEX"
},
"Average": {
"ru": "Усреднить",
"uk": "Усереднити"
},
"From intersection (every second)": {
"ru": "От пересечения (ежесекундно)",
"uk": "Від перетину (щосекунди)"
},
"Break-even stop": {
"ru": "Стоп в безубыток",
"uk": "Стоп у беззбиток"
},
"BE trigger": {
"ru": "Триггер БУ",
"uk": "Тригер БЗ"
},
"BE stop level": {
"ru": "Уровень стопа БУ",
"uk": "Рівень стопа БЗ"
}
},
"labels_by_field": {
"note": "The same English name sometimes belongs to two different fields with two different translations: Deviation is the backtest setting Девиация and also the impulse field Отклонение. Look a field up here by its identifier first, and fall back to `labels` by name. Everything not listed here has one translation only.",
"fields": {
"impulse.entry.deviation-percent": {
"ru": "Отклонение",
"uk": "Відхилення"
},
"impulse.exit.deviation-percent": {
"ru": "Отклонение",
"uk": "Відхилення"
},
"past-impulse.filter.deviation-percent": {
"ru": "Отклонение",
"uk": "Відхилення"
},
"percent-volatility.filter.deviation-percent": {
"ru": "Отклонение",
"uk": "Відхилення"
},
"price-change.filter.deviation-percent": {
"ru": "Отклонение",
"uk": "Відхилення"
},
"volatility.entry.deviation-percent": {
"ru": "Отклонение",
"uk": "Відхилення"
},
"volatility.exit.deviation-percent": {
"ru": "Отклонение",
"uk": "Відхилення"
},
"backtest.stop_be_trigger_pct": {
"en": "BE trigger",
"ru": "Триггер БУ",
"uk": "Тригер БЗ"
},
"backtest.stop_be_val_pct": {
"en": "BE stop level",
"ru": "Уровень стопа БУ",
"uk": "Рівень стопа БЗ"
},
"profile.stop_be_enabled": {
"en": "Break-even stop",
"ru": "Стоп в безубыток",
"uk": "Стоп у беззбиток"
}
}
},
"card_layout": {
"note": "How the backtest form itself arranges the twenty required main settings and the optional Bybit break-even pair, so a card can be shown the way the user sees them. Field order inside a group is the order of the form and of the catalogue. The titles below are copied, never translated again by you: an assistant that rendered the second block into its own words produced a heading that appears nowhere in the product, and the user had nothing on screen to match it against. The same holds for the section titles and for the three column headers in card_words.",
"groups": [
{
"key": "settings",
"title": {
"en": "Settings",
"ru": "Настройки",
"uk": "Налаштування"
},
"fields": [
"backtest.exchange",
"backtest.symbol",
"backtest.account_balance_mode",
"backtest.position_side",
"backtest.backtest_mode",
"backtest.start_dt",
"backtest.end_dt"
]
},
{
"key": "money_management",
"title": {
"en": "Money Management",
"ru": "Мани менеджмент",
"uk": "Мані менеджмент"
},
"fields": [
"backtest.initial_quote_qty",
"backtest.first_order",
"backtest.maker_commission_perc",
"backtest.taker_commission_perc",
"backtest.margin_type",
"backtest.leverage"
]
},
{
"key": "risk_management",
"title": {
"en": "Risk Management",
"ru": "Риск менеджмент",
"uk": "Ризик-менеджмент"
},
"fields": [
"backtest.tp_perc",
"backtest.sl_perc",
"backtest.stop_be_trigger_pct",
"backtest.stop_be_val_pct",
"backtest.in_step_perc",
"backtest.in_dynamic_step",
"backtest.in_count",
"backtest.in_martin_gale",
"backtest.close_by_signal_only_profit_perc"
]
}
],
"condition_sections": [
{
"role": "entry",
"title": {
"en": "Entry",
"ru": "Вход",
"uk": "Вхід"
}
},
{
"role": "filter",
"title": {
"en": "Filters",
"ru": "Фильтры",
"uk": "Фільтри"
}
},
{
"role": "exit",
"title": {
"en": "Exit",
"ru": "Выход",
"uk": "Вихід"
},
"title_when_averaging_by_signal": {
"en": "Exit/Averaging",
"ru": "Выход/Усреднение",
"uk": "Вихід/Усереднення"
}
}
],
"condition_block": {
"note": "Every chosen indicator is a separate block, in the form and in the card. Its own fields are named in `labels` exactly like the main settings, and so are their options, so an indicator block is translated in full. Leaving the indicator blocks in English while the rest of the card is translated is the single most common way to get this wrong.",
"order": [
"entry",
"filter",
"exit"
],
"numbering": "Blocks are numbered inside their own section, from 1.",
"eyebrow": "Section title and the number of the block inside that section, then the name of the indicator: `Filters 2`, `Moving Average`. No identifier: the user does not know what `ma.entry` is and will ask.",
"title": "The name of the indicator, taken from the definition's own `labels.en` in the catalogue and then translated through `labels`.",
"rows": "The fields the catalogue lists for this `definition_id`, in the catalogue order, with the same three columns as a settings block: name, value, origin.",
"footer": "The `explanation` written for this condition, in the user's language.",
"empty": {
"en": "No conditions configured.",
"ru": "Условия не заданы.",
"uk": "Умови не задано."
}
},
"labels_when_averaging_by_signal": {
"note": "With backtest.backtest_mode = AVERAGE_BY_SIGNAL the form renames these three fields. With AVERAGE_BY_LIMIT they keep the names in the catalogue.",
"backtest.in_step_perc": {
"en": "Step aver.",
"ru": "Шаг усредн.",
"uk": "Крок усередн."
},
"backtest.in_dynamic_step": {
"en": "D.step aver.",
"ru": "Д.шаг усредн.",
"uk": "Д.крок усередн."
},
"backtest.in_count": {
"en": "Count aver.",
"ru": "Количество усредн.",
"uk": "Кількість усередн."
}
},
"unlabelled_in_the_form": {
"note": "These two settings have no caption in the form: the user picks between two buttons. Show the chosen option, not a field name, when you copy the form's look.",
"backtest.position_side": {
"LONG": {
"en": "Long",
"ru": "Лонг",
"uk": "Лонг"
},
"SHORT": {
"en": "Short",
"ru": "Шорт",
"uk": "Шорт"
}
},
"backtest.margin_type": {
"CROSSED": {
"en": "Cross",
"ru": "Перекрестная",
"uk": "Перехресна"
},
"ISOLATED": {
"en": "Isolated",
"ru": "Изолированная",
"uk": "Ізольована"
}
}
},
"never_show_the_user": {
"note": "Everything here belongs to the machine half of this contract. A person reading a card has no use for it and stops to ask what it means. On 16 September a card printed the wire keys `ss / Is / ct / at / rs / t / p` at the user; that is the class of thing meant. Keep them for the JSON you build and for the link.",
"items": [
"source_key letters and any other wire key",
"field_id paths such as backtest.tp_perc or ma.entry.period",
"definition_id such as ma.entry - name the indicator instead",
"raw enum codes such as AVERAGE_BY_SIGNAL or CROSSED - show the caption",
"raw origin codes such as schema_default - show the words from card_layout.origins",
"package file names, schema names, context ids and JSON of any kind"
],
"instead": "Every one of these has a human name in this pack or in the catalogue. Show that name, in the user's language. If a thing genuinely has no human name, it does not belong in the answer at all."
},
"origins": {
"note": "The third column of every card row. These are the schema's own origin values, and the user reads them in each line, so they are translated like everything else.",
"main_settings_have_no_published_default": "schema_default is only legal where the catalogue actually publishes a schema_default for that field, and it does so for condition fields only. The twenty main settings have no published default at all, so a card that claims schema_default for one of them is rejected with field.default_origin. When you keep a main setting at the value the form itself shows, the honest origin is agent_choice, and the note says that is what it is.",
"user": {
"en": "from you",
"ru": "от вас",
"uk": "від вас"
},
"derived": {
"en": "read from the documentation",
"ru": "из документации",
"uk": "з документації"
},
"schema_default": {
"en": "form default",
"ru": "значение формы по умолчанию",
"uk": "значення форми за замовчуванням"
},
"agent_choice": {
"en": "chosen by the assistant",
"ru": "выбор ассистента",
"uk": "вибір асистента"
},
"illustrative": {
"en": "placeholder, replace it",
"ru": "заглушка, замените",
"uk": "заглушка, замініть"
},
"unknown": {
"en": "not known yet",
"ru": "пока неизвестно",
"uk": "поки невідомо"
}
},
"value_formats": {
"note": "How a value is printed, so a card matches the form. A date and time is `dd.mm.yyyy hh:mm`, the way the form shows it; the stored value carries no timezone. A switch is Yes or No. A number is printed as it stands.",
"datetime": "dd.mm.yyyy hh:mm"
},
"units": {
"note": "What may follow a value, and what may not. The backtest form prints no unit words at all: it puts them into the caption itself (Take Profit %, FO quantity). So a card shows only the signs the user sees on their own screen and nothing else. `bars`, `minutes`, `ratio`, `quote volume`, `trade count` and the like are this documentation's vocabulary for describing a field, not words from the interface: printed in a card they are the same defect as a raw field identifier.",
"shown": {
"percent": "%",
"percent; -1 sentinel": "%",
"quote currency (USDT in current UI)": "USDT",
"quote notional before quantity conversion; verify symbol filters": "USDT"
},
"everything_else_is_silent": true
},
"card_words": {
"note": {
"en": "Note",
"ru": "Примечание",
"uk": "Примітка"
},
"origin_column": {
"en": "Source",
"ru": "Источник",
"uk": "Джерело"
},
"name_column": {
"en": "Parameter",
"ru": "Параметр",
"uk": "Параметр"
},
"value_column": {
"en": "Value",
"ru": "Значение",
"uk": "Значення"
},
"pairs": {
"en": "Pairs",
"ru": "Пары",
"uk": "Пари"
},
"pairs_in_test": {
"en": "Pairs in this test",
"ru": "Пар в тесте",
"uk": "Пар у тесті"
},
"main_pair": {
"en": "Main pair",
"ru": "Основная пара",
"uk": "Основна пара"
},
"profile": {
"en": "Test profile",
"ru": "Профиль теста",
"uk": "Профіль тесту"
},
"before_run": {
"en": "Before running a calculation",
"ru": "Перед запуском расчёта",
"uk": "Перед запуском розрахунку"
},
"none": {
"en": "No conditions configured.",
"ru": "Условия не заданы.",
"uk": "Умови не задано."
},
"input_required": {
"en": "Input required",
"ru": "Нужно значение",
"uk": "Потрібне значення"
},
"yes": {
"en": "Yes",
"ru": "Да",
"uk": "Так"
},
"no": {
"en": "No",
"ru": "Нет",
"uk": "Ні"
},
"boolean_note": "Every switch is written the way the panel writes it: Yes or No. There is no On/Off anywhere in the application, in any language.",
"finish_first": {
"en": "Fill in the missing values, and the link can be produced.",
"ru": "Заполните недостающие значения — и ссылку можно будет собрать.",
"uk": "Заповніть відсутні значення — і посилання можна буде зібрати."
},
"list": {
"en": "List",
"ru": "Список",
"uk": "Список"
},
"and_more": {
"en": "and {count} more",
"ru": "и ещё {count}",
"uk": "і ще {count}"
},
"open_link": {
"en": "Open in backtester",
"ru": "Открыть в бэктестере",
"uk": "Відкрити в бектестері"
},
"status_example": {
"en": "EDUCATIONAL EXAMPLE - NOT EXECUTED",
"ru": "УЧЕБНЫЙ ПРИМЕР - НЕ ЗАПУЩЕН",
"uk": "НАВЧАЛЬНИЙ ПРИКЛАД - НЕ ЗАПУЩЕНО"
},
"status_proposal": {
"en": "USER HYPOTHESIS - NOT EXECUTED",
"ru": "ГИПОТЕЗА ПОЛЬЗОВАТЕЛЯ - НЕ ЗАПУЩЕНА",
"uk": "ГІПОТЕЗА КОРИСТУВАЧА - НЕ ЗАПУЩЕНА"
},
"status_needs_input": {
"en": "INPUT REQUIRED",
"ru": "НУЖНЫ ДАННЫЕ",
"uk": "ПОТРІБНІ ДАНІ"
},
"profile_note": {
"en": "These annotations state intent. Check modes and date interpretation in the application.",
"ru": "Это пометки о намерении. Режимы и трактовку дат проверьте в приложении.",
"uk": "Це позначки про намір. Режими та трактування дат перевірте в застосунку."
},
"pairs_note": {
"en": "Each pair is calculated separately on the full deposit; the pairs do not interact and this is not a portfolio. Calculating more than one pair is a VIP feature; without VIP the calculation service refuses the run. Testing more pairs produces more results, not better ones.",
"ru": "Каждая пара считается отдельно и на весь депозит; пары не взаимодействуют, это не портфель. Расчёт больше одной пары — возможность VIP; без VIP сервис расчёта откажет. Больше пар — больше результатов, а не лучше.",
"uk": "Кожна пара рахується окремо і на весь депозит; пари не взаємодіють, це не портфель. Розрахунок більш ніж однієї пари — можливість VIP; без VIP сервіс розрахунку відмовить. Більше пар — більше результатів, а не краще."
},
"footer_values": {
"en": "Values in this card: {count}, from one validated configuration.",
"ru": "Значений в карточке: {count}, из одной проверенной конфигурации.",
"uk": "Значень у картці: {count}, з однієї перевіреної конфігурації."
},
"observed_prefix": {
"en": "Interface observed:",
"ru": "Данные интерфейса:",
"uk": "Дані інтерфейсу:"
},
"footer_not_executed": {
"en": "No backtest or live trade was executed. The link fills settings; the user starts a calculation separately.",
"ru": "Ни бэктест, ни реальная сделка не запускались. Ссылка только заполняет настройки; расчёт пользователь запускает сам.",
"uk": "Ані бектест, ані реальна угода не запускалися. Посилання лише заповнює налаштування; розрахунок користувач запускає сам."
},
"footer_print": {
"en": "Use the browser Print / Save as PDF command for a printable copy.",
"ru": "Для печати используйте команду браузера «Печать» или «Сохранить как PDF».",
"uk": "Для друку скористайтеся командою браузера «Друк» або «Зберегти як PDF»."
}
},
"gate_words": {
"note": "The checklist under a card. The generator returns these checks in English with a stable `id`; show the wording from here instead, in the user's language. The gate whose id is `multi` uses `multi_list` when its `expected` is true and `multi_single` otherwise.",
"tier": {
"en": "Calculating several pairs is a VIP feature. Without VIP the calculation service refuses the run. The link cannot see your tier.",
"ru": "Расчёт нескольких пар — возможность VIP. Без VIP сервис расчёта откажет. Ссылка ваш тариф не видит.",
"uk": "Розрахунок кількох пар — можливість VIP. Без VIP сервіс розрахунку відмовить. Посилання ваш тариф не бачить."
},
"multi_list": {
"en": "Check that the pair table shows exactly the pairs listed here. A pair the exchange does not offer is skipped silently, and an earlier selection is not cleared.",
"ru": "Проверьте, что в таблице пар именно те пары, что перечислены здесь. Пару, которой нет у биржи, пропустят молча, а прежний выбор ссылка не очищает.",
"uk": "Перевірте, що в таблиці пар саме ті пари, що перелічені тут. Пару, якої немає на біржі, пропустять мовчки, а попередній вибір посилання не очищає."
},
"multi_single": {
"en": "Clear the multi-pair selection: a selection left in the table overrides the single pair when the calculation starts.",
"ru": "Очистите выбор нескольких пар: оставленный в таблице выбор перебьёт одиночную пару при запуске расчёта.",
"uk": "Очистіть вибір кількох пар: залишений у таблиці вибір переб'є одиночну пару під час запуску розрахунку."
},
"fast": {
"en": "Accelerated calculation (x200) is not restored by the link. A VIP account may switch it on by itself, so turn it off by hand before calculating.",
"ru": "Ускоренный расчёт (x200) ссылкой не восстанавливается. У VIP он может включиться сам, поэтому перед расчётом выключите его вручную.",
"uk": "Прискорений розрахунок (x200) посиланням не відновлюється. У VIP він може увімкнутися сам, тож перед розрахунком вимкніть його вручну."
},
"hedge": {
"en": "Check in the ordinary backtester that classic hedge is switched off: no hedge settings are carried by the link.",
"ru": "Проверьте в обычном бэктестере, что классический хедж выключен: настройки хеджа ссылка не переносит.",
"uk": "Перевірте у звичайному бектестері, що класичний хедж вимкнено: налаштування хеджа посилання не переносить."
},
"optimizer": {
"en": "Use the ordinary form. Neither optimizer ranges nor an optimizer run are carried by the link.",
"ru": "Пользуйтесь обычной формой. Ни диапазоны оптимизатора, ни его запуск ссылка не переносит.",
"uk": "Користуйтеся звичайною формою. Ні діапазони оптимізатора, ні його запуск посилання не переносить."
},
"dates": {
"en": "Check both dates, how the timezone is read and whether there is history for the period, warm-up included. The dates carry no timezone offset.",
"ru": "Проверьте обе даты, трактовку часового пояса и наличие истории за период, включая прогрев. Часового пояса в датах нет.",
"uk": "Перевірте обидві дати, трактування часового поясу та наявність історії за період, включно з прогріванням. Часового поясу в датах немає."
},
"form": {
"en": "When the page has loaded, compare every field and every indicator with this card. Changing the exchange, the mode or the pair can clear or rewrite them, and the leverage can be capped.",
"ru": "Когда страница загрузится, сверьте каждое поле и каждый индикатор с этой карточкой. Смена биржи, режима или пары может их очистить или переписать, а плечо может быть урезано.",
"uk": "Коли сторінка завантажиться, звірте кожне поле й кожен індикатор із цією карткою. Зміна біржі, режиму або пари може їх очистити чи переписати, а плече може бути обмежено."
},
"account": {
"en": "Opening the application may ask you to sign in. The link carries no session and no credentials, and it starts nothing by itself.",
"ru": "Приложение может попросить войти. Ссылка не несёт ни сессии, ни доступов и сама ничего не запускает.",
"uk": "Застосунок може попросити увійти. Посилання не несе ні сесії, ні доступів і саме нічого не запускає."
},
"costs": {
"en": "Before starting a calculation, check your actual capital, order size, fees, leverage and the limits of the instrument.",
"ru": "Перед запуском расчёта проверьте свой реальный капитал, размер ордера, комиссии, плечо и лимиты инструмента.",
"uk": "Перед запуском розрахунку перевірте свій реальний капітал, розмір ордера, комісії, плече та ліміти інструмента."
}
},
"free_text": {
"note": "Everything you write yourself is written in the user's language too: the title of the card, the sentence of intent, the note under a field, the explanation under an indicator and the checklist before a run. The example cards in this package are in English because this documentation is in English - that is not a model to copy for language. Only tickers, exchange names, numbers and timeframe codes stay as they are, because they are the same on the user's screen."
},
"optional_fields": {
"profile.stop_be_enabled": {
"when_false": "Do not show either break-even value row.",
"when_true": [
"backtest.stop_be_trigger_pct",
"backtest.stop_be_val_pct"
]
}
},
"main_settings_have_no_published_default": "Main settings have no published schema default."
}
}Common catalogue
Shared condition policy
Main settings constraints
Strategy card schema
The wording of the backtest page itself
The captions, buttons and hint sentences of the backtest page, in the same two languages. None of this is needed to build a card; use it when you write about the form, so your wording is the wording on the user's screen.