Копировать
{
"format": "itb.condition-constraints/0.4.0",
"definitions": [
{
"id": "percent-volatility.filter",
"field_ids": [
"percent-volatility.filter.asset",
"percent-volatility.filter.calculation",
"percent-volatility.filter.filter-exit-action",
"percent-volatility.filter.period-minutes",
"percent-volatility.filter.deviation-percent",
"percent-volatility.filter.source-ei"
],
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"strict_mode_eligible": true,
"eligibility_scope": "complete normalized constructor input domain; not numerical execution or deployed parity"
},
{
"id": "volatility.entry",
"field_ids": [
"volatility.entry.asset",
"volatility.entry.calculation",
"volatility.entry.period-minutes",
"volatility.entry.deviation-percent",
"volatility.entry.source-ei"
],
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"strict_mode_eligible": true,
"eligibility_scope": "complete normalized constructor input domain; not numerical execution or deployed parity"
},
{
"id": "volatility.exit",
"field_ids": [
"volatility.exit.asset",
"volatility.exit.calculation",
"volatility.exit.signal-action",
"volatility.exit.period-minutes",
"volatility.exit.deviation-percent",
"volatility.exit.source-ei"
],
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"strict_mode_eligible": true,
"eligibility_scope": "complete normalized constructor input domain; not numerical execution or deployed parity"
}
],
"fields": {
"percent-volatility.filter.asset": {
"definition_id": "percent-volatility.filter",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"binding": {
"kind": "same_as_card_field",
"field_id": "backtest.symbol",
"no_external_or_invented_asset": true
},
"allowed_values_status": "card_symbol_binding; no static market symbol list in condition metadata"
},
"percent-volatility.filter.calculation": {
"definition_id": "percent-volatility.filter",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {
"backtest-binance-dca-false": [
"CL",
"CR"
],
"backtest-binance-dca-true": [
"CL",
"CR"
],
"backtest-bybit-dca-false": [
"CL",
"CR"
],
"backtest-bybit-dca-true": [
"CL",
"CR"
]
},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
]
},
"percent-volatility.filter.filter-exit-action": {
"definition_id": "percent-volatility.filter",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {
"backtest-binance-dca-false": [
"SD",
"ED",
"EDOP"
],
"backtest-binance-dca-true": [
"SD",
"ED",
"EDOP"
],
"backtest-bybit-dca-false": [
"SD",
"ED",
"EDOP"
],
"backtest-bybit-dca-true": [
"SD",
"ED",
"EDOP"
]
},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
]
},
"percent-volatility.filter.period-minutes": {
"definition_id": "percent-volatility.filter",
"type": "integer",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": 10,
"maximum": 1440,
"minimum_inclusive": true,
"maximum_inclusive": true,
"integer": true,
"finite": true,
"allowed_values": null,
"allowed_values_by_context": {},
"step": {
"status": "source_modulo",
"value": 10,
"anchor": 0
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"numeric_status": "source_constructor_bounds_observed",
"bounds_status": "source_constructor_bounds_observed",
"input_policy": "exact JSON integer; no numeric strings, bool, rounding or truncation",
"ui_step": 1,
"ui_step_is_server_constraint": false
},
"percent-volatility.filter.deviation-percent": {
"definition_id": "percent-volatility.filter",
"type": "number",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": true,
"allowed_values": null,
"allowed_values_by_context": {},
"step": {
"status": "server_no_explicit_step",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"numeric_status": "source_no_explicit_bounds",
"bounds_status": "source_no_explicit_bounds",
"input_policy": "finite JSON number; no numeric strings or bool; apply exact listed source rules",
"ui_step": 0.01,
"ui_step_is_server_constraint": false
},
"percent-volatility.filter.source-ei": {
"definition_id": "percent-volatility.filter",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {
"backtest-binance-dca-false": [
"VH",
"VL",
"ROGH",
"ROGL",
"RROGH",
"RROGL"
],
"backtest-binance-dca-true": [
"VH",
"VL",
"ROGH",
"ROGL",
"RROGH",
"RROGL"
],
"backtest-bybit-dca-false": [
"VH",
"VL",
"ROGH",
"ROGL",
"RROGH",
"RROGL"
],
"backtest-bybit-dca-true": [
"VH",
"VL",
"ROGH",
"ROGL",
"RROGH",
"RROGL"
]
},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
]
},
"volatility.entry.asset": {
"definition_id": "volatility.entry",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"binding": {
"kind": "same_as_card_field",
"field_id": "backtest.symbol",
"no_external_or_invented_asset": true
},
"allowed_values_status": "card_symbol_binding; no static market symbol list in condition metadata"
},
"volatility.entry.calculation": {
"definition_id": "volatility.entry",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {
"backtest-binance-dca-false": [
"CL",
"CR"
],
"backtest-binance-dca-true": [
"CL",
"CR"
],
"backtest-bybit-dca-false": [
"CL",
"CR"
],
"backtest-bybit-dca-true": [
"CL",
"CR"
]
},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
]
},
"volatility.entry.period-minutes": {
"definition_id": "volatility.entry",
"type": "integer",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": 10,
"maximum": 1440,
"minimum_inclusive": true,
"maximum_inclusive": true,
"integer": true,
"finite": true,
"allowed_values": null,
"allowed_values_by_context": {},
"step": {
"status": "source_modulo",
"value": 10,
"anchor": 0
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"numeric_status": "source_constructor_bounds_observed",
"bounds_status": "source_constructor_bounds_observed",
"input_policy": "exact JSON integer; no numeric strings, bool, rounding or truncation",
"ui_step": 1,
"ui_step_is_server_constraint": false
},
"volatility.entry.deviation-percent": {
"definition_id": "volatility.entry",
"type": "number",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": true,
"allowed_values": null,
"allowed_values_by_context": {},
"step": {
"status": "server_no_explicit_step",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"numeric_status": "source_no_explicit_bounds",
"bounds_status": "source_no_explicit_bounds",
"input_policy": "finite JSON number; no numeric strings or bool; apply exact listed source rules",
"ui_step": 0.01,
"ui_step_is_server_constraint": false
},
"volatility.entry.source-ei": {
"definition_id": "volatility.entry",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {
"backtest-binance-dca-false": [
"VH",
"VL"
],
"backtest-binance-dca-true": [
"VH",
"VL"
],
"backtest-bybit-dca-false": [
"VH",
"VL"
],
"backtest-bybit-dca-true": [
"VH",
"VL"
]
},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
]
},
"volatility.exit.asset": {
"definition_id": "volatility.exit",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"binding": {
"kind": "same_as_card_field",
"field_id": "backtest.symbol",
"no_external_or_invented_asset": true
},
"allowed_values_status": "card_symbol_binding; no static market symbol list in condition metadata"
},
"volatility.exit.calculation": {
"definition_id": "volatility.exit",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {
"backtest-binance-dca-false": [
"CL",
"CR"
],
"backtest-binance-dca-true": [
"CL",
"CR"
],
"backtest-bybit-dca-false": [
"CL",
"CR"
],
"backtest-bybit-dca-true": [
"CL",
"CR"
]
},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
]
},
"volatility.exit.signal-action": {
"definition_id": "volatility.exit",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {
"backtest-binance-dca-false": [
"ED",
"EDOP"
],
"backtest-binance-dca-true": [
"AVG",
"ED",
"EDOP"
],
"backtest-bybit-dca-false": [
"ED",
"EDOP"
],
"backtest-bybit-dca-true": [
"AVG",
"ED",
"EDOP"
]
},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
]
},
"volatility.exit.period-minutes": {
"definition_id": "volatility.exit",
"type": "integer",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": 10,
"maximum": 1440,
"minimum_inclusive": true,
"maximum_inclusive": true,
"integer": true,
"finite": true,
"allowed_values": null,
"allowed_values_by_context": {},
"step": {
"status": "source_modulo",
"value": 10,
"anchor": 0
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"numeric_status": "source_constructor_bounds_observed",
"bounds_status": "source_constructor_bounds_observed",
"input_policy": "exact JSON integer; no numeric strings, bool, rounding or truncation",
"ui_step": 1,
"ui_step_is_server_constraint": false
},
"volatility.exit.deviation-percent": {
"definition_id": "volatility.exit",
"type": "number",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": true,
"allowed_values": null,
"allowed_values_by_context": {},
"step": {
"status": "server_no_explicit_step",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
],
"numeric_status": "source_no_explicit_bounds",
"bounds_status": "source_no_explicit_bounds",
"input_policy": "finite JSON number; no numeric strings or bool; apply exact listed source rules",
"ui_step": 0.01,
"ui_step_is_server_constraint": false
},
"volatility.exit.source-ei": {
"definition_id": "volatility.exit",
"type": "string",
"nullable": false,
"nullability_status": "curated_non_null_subset",
"strict_mode_eligible": true,
"status": "source_observed_and_current_backtest_observed",
"minimum": null,
"maximum": null,
"minimum_inclusive": null,
"maximum_inclusive": null,
"integer": false,
"finite": false,
"allowed_values": null,
"allowed_values_by_context": {
"backtest-binance-dca-false": [
"VH",
"VL"
],
"backtest-binance-dca-true": [
"VH",
"VL"
],
"backtest-bybit-dca-false": [
"VH",
"VL"
],
"backtest-bybit-dca-true": [
"VH",
"VL"
]
},
"step": {
"status": "not_applicable",
"value": null,
"anchor": null
},
"available_contexts": [
"backtest-binance-dca-false",
"backtest-binance-dca-true",
"backtest-bybit-dca-false",
"backtest-bybit-dca-true"
]
}
},
"conditional_rules": [
{
"definition_id": "percent-volatility.filter",
"if": {
"field_id": "percent-volatility.filter.source-ei",
"equals": "VH"
},
"then": {
"fields": {
"percent-volatility.filter.deviation-percent": {
"allowed_values": [
0.1,
0.15,
0.2,
0.25,
0.3,
0.35,
0.4,
0.45,
0.5,
0.55,
0.6,
0.65,
0.7,
0.75,
0.8,
0.85,
0.9,
0.95,
1.0,
1.1,
1.2,
1.3,
1.4,
1.5,
2.0,
2.5,
3.0,
3.5,
4.0,
4.5,
5.0
]
}
}
}
},
{
"definition_id": "percent-volatility.filter",
"if": {
"field_id": "percent-volatility.filter.source-ei",
"equals": "VL"
},
"then": {
"fields": {
"percent-volatility.filter.deviation-percent": {
"allowed_values": [
0.1,
0.15,
0.2,
0.25,
0.3,
0.35,
0.4,
0.45,
0.5,
0.55,
0.6,
0.65,
0.7,
0.75,
0.8,
0.85,
0.9,
0.95,
1.0,
1.1,
1.2,
1.3,
1.4,
1.5,
2.0,
2.5,
3.0,
3.5,
4.0,
4.5,
5.0
]
}
}
}
},
{
"definition_id": "percent-volatility.filter",
"if": {
"field_id": "percent-volatility.filter.source-ei",
"equals": "ROGH"
},
"then": {
"fields": {
"percent-volatility.filter.deviation-percent": {
"allowed_values": [
0.005,
0.01,
0.02,
0.03,
0.04,
0.05,
0.06,
0.07,
0.08,
0.09,
0.1,
0.11,
0.12,
0.13,
0.14,
0.15,
0.2,
0.25,
0.3,
0.35,
0.4,
0.45,
0.5,
-0.005,
-0.01,
-0.02,
-0.03,
-0.04,
-0.05,
-0.06,
-0.07,
-0.08,
-0.09,
-0.1,
-0.11,
-0.12,
-0.13,
-0.14,
-0.15,
-0.2,
-0.25,
-0.3,
-0.35,
-0.4,
-0.45,
-0.5
]
}
}
}
},
{
"definition_id": "percent-volatility.filter",
"if": {
"field_id": "percent-volatility.filter.source-ei",
"equals": "RROGH"
},
"then": {
"fields": {
"percent-volatility.filter.deviation-percent": {
"allowed_values": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
20,
25,
30,
35,
40,
45,
50,
-1,
-2,
-3,
-4,
-5,
-6,
-7,
-8,
-9,
-10,
-11,
-12,
-13,
-14,
-15,
-20,
-25,
-30,
-35,
-40,
-45,
-50
]
}
}
}
}
],
"cross_field_rules": []
}