"diagnostics": [
{
"endCharacter": 46,
- "endLine": 1400,
+ "endLine": 1402,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"str | None\" cannot be assigned to parameter \"default\" of type \"str\" in function \"_validate_label_selection_metric\"\n Type \"str | None\" is not assignable to type \"str\"\n \"None\" is not assignable to \"str\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 24,
- "startLine": 1400
+ "startLine": 1402
},
{
"endCharacter": 79,
- "endLine": 2183,
+ "endLine": 2265,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"index\" for class \"NDArray[Unknown]\"\n Attribute \"index\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 74,
- "startLine": 2183
+ "startLine": 2265
},
{
"endCharacter": 72,
- "endLine": 2185,
+ "endLine": 2267,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"index\" for class \"NDArray[Unknown]\"\n Attribute \"index\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 67,
- "startLine": 2185
+ "startLine": 2267
},
{
"endCharacter": 90,
- "endLine": 2194,
+ "endLine": 2276,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"index\" for class \"NDArray[Unknown]\"\n Attribute \"index\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 85,
- "startLine": 2194
+ "startLine": 2276
},
{
"endCharacter": 34,
- "endLine": 2207,
+ "endLine": 2289,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"train_features\" of type \"DataFrame\" in function \"_filter_train_by_mask\"\n Type \"Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 2207
+ "startLine": 2289
},
{
"endCharacter": 32,
- "endLine": 2208,
+ "endLine": 2290,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"train_labels\" of type \"DataFrame\" in function \"_filter_train_by_mask\"\n Type \"Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 2208
+ "startLine": 2290
},
{
"endCharacter": 38,
- "endLine": 2209,
+ "endLine": 2291,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"train_weights\" of type \"NDArray[floating[Any]]\" in function \"_filter_train_by_mask\"\n Type \"Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"NDArray[floating[Any]]\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 2209
+ "startLine": 2291
},
{
"endCharacter": 59,
- "endLine": 2212,
+ "endLine": 2294,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | None\" cannot be assigned to parameter \"train_label_weights\" of type \"NDArray[floating[Any]] | None\" in function \"_filter_train_by_mask\"\n Type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | None\" is not assignable to type \"NDArray[floating[Any]] | None\"\n Type \"list[Unknown]\" is not assignable to type \"NDArray[floating[Any]] | None\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"\n \"list[Unknown]\" is not assignable to \"None\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 40,
- "startLine": 2212
+ "startLine": 2294
},
{
"endCharacter": 34,
- "endLine": 2246,
+ "endLine": 2328,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"features\" of type \"DataFrame\" in function \"_shuffle_split_rows\"\n Type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 2246
+ "startLine": 2328
},
{
"endCharacter": 32,
- "endLine": 2247,
+ "endLine": 2329,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"labels\" of type \"DataFrame\" in function \"_shuffle_split_rows\"\n Type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 2247
+ "startLine": 2329
},
{
"endCharacter": 38,
- "endLine": 2248,
+ "endLine": 2330,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"base_weights\" of type \"NDArray[floating[Any]]\" in function \"_shuffle_split_rows\"\n Type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"NDArray[floating[Any]]\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 2248
+ "startLine": 2330
},
{
"endCharacter": 39,
- "endLine": 2249,
+ "endLine": 2331,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown] | None\" cannot be assigned to parameter \"label_weights\" of type \"NDArray[floating[Any]] | None\" in function \"_shuffle_split_rows\"\n Type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown] | None\" is not assignable to type \"NDArray[floating[Any]] | None\"\n Type \"list[Unknown]\" is not assignable to type \"NDArray[floating[Any]] | None\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"\n \"list[Unknown]\" is not assignable to \"None\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 2249
+ "startLine": 2331
},
{
"endCharacter": 37,
- "endLine": 2256,
+ "endLine": 2338,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | DataFrame\" cannot be assigned to parameter \"features\" of type \"DataFrame\" in function \"_shuffle_split_rows\"\n Type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | DataFrame\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 24,
- "startLine": 2256
+ "startLine": 2338
},
{
"endCharacter": 35,
- "endLine": 2257,
+ "endLine": 2339,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | DataFrame\" cannot be assigned to parameter \"labels\" of type \"DataFrame\" in function \"_shuffle_split_rows\"\n Type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | DataFrame\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 24,
- "startLine": 2257
+ "startLine": 2339
},
{
"endCharacter": 41,
- "endLine": 2258,
+ "endLine": 2340,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | ndarray[_AnyShape, dtype[floating[Any]]]\" cannot be assigned to parameter \"base_weights\" of type \"NDArray[floating[Any]]\" in function \"_shuffle_split_rows\"\n Type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | ndarray[_AnyShape, dtype[floating[Any]]]\" is not assignable to type \"NDArray[floating[Any]]\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 24,
- "startLine": 2258
+ "startLine": 2340
},
{
"endCharacter": 42,
- "endLine": 2259,
+ "endLine": 2341,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | ndarray[_AnyShape, dtype[floating[Any]]] | None\" cannot be assigned to parameter \"label_weights\" of type \"NDArray[floating[Any]] | None\" in function \"_shuffle_split_rows\"\n Type \"Unknown | NDArray[Unknown] | Any | list[Unknown] | ndarray[_AnyShape, dtype[floating[Any]]] | None\" is not assignable to type \"NDArray[floating[Any]] | None\"\n Type \"list[Unknown]\" is not assignable to type \"NDArray[floating[Any]] | None\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"\n \"list[Unknown]\" is not assignable to \"None\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 24,
- "startLine": 2259
+ "startLine": 2341
},
{
"endCharacter": 30,
- "endLine": 2277,
+ "endLine": 2359,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"base_weights\" of type \"NDArray[floating[Any]]\" in function \"_compose_train_weights_with_support\"\n Type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"NDArray[floating[Any]]\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 12,
- "startLine": 2277
+ "startLine": 2359
},
{
"endCharacter": 31,
- "endLine": 2278,
+ "endLine": 2360,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown] | None\" cannot be assigned to parameter \"label_weights\" of type \"NDArray[floating[Any]] | None\" in function \"_compose_train_weights_with_support\"\n Type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown] | None\" is not assignable to type \"NDArray[floating[Any]] | None\"\n Type \"list[Unknown]\" is not assignable to type \"NDArray[floating[Any]] | None\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"\n \"list[Unknown]\" is not assignable to \"None\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 12,
- "startLine": 2278
+ "startLine": 2360
},
{
"endCharacter": 33,
- "endLine": 2284,
+ "endLine": 2366,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"base_weights\" of type \"NDArray[floating[Any]]\" in function \"_compose_eval_weights\"\n Type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"NDArray[floating[Any]]\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2284
+ "startLine": 2366
},
{
"endCharacter": 34,
- "endLine": 2285,
+ "endLine": 2367,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown] | None\" cannot be assigned to parameter \"label_weights\" of type \"NDArray[floating[Any]] | None\" in function \"_compose_eval_weights\"\n Type \"NDArray[floating[Any]] | Unknown | NDArray[Unknown] | Any | list[Unknown] | None\" is not assignable to type \"NDArray[floating[Any]] | None\"\n Type \"list[Unknown]\" is not assignable to type \"NDArray[floating[Any]] | None\"\n \"list[Unknown]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"\n \"list[Unknown]\" is not assignable to \"None\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2285
+ "startLine": 2367
},
{
"endCharacter": 26,
- "endLine": 2292,
+ "endLine": 2374,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"train_df\" of type \"DataFrame\" in function \"build_data_dictionary\"\n Type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 12,
- "startLine": 2292
+ "startLine": 2374
},
{
"endCharacter": 25,
- "endLine": 2293,
+ "endLine": 2375,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"test_df\" of type \"DataFrame\" in function \"build_data_dictionary\"\n Type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 12,
- "startLine": 2293
+ "startLine": 2375
},
{
"endCharacter": 24,
- "endLine": 2294,
+ "endLine": 2376,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"train_labels\" of type \"DataFrame\" in function \"build_data_dictionary\"\n Type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 12,
- "startLine": 2294
+ "startLine": 2376
},
{
"endCharacter": 23,
- "endLine": 2295,
+ "endLine": 2377,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" cannot be assigned to parameter \"test_labels\" of type \"DataFrame\" in function \"build_data_dictionary\"\n Type \"DataFrame | Unknown | NDArray[Unknown] | Any | list[Unknown]\" is not assignable to type \"DataFrame\"\n \"list[Unknown]\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 12,
- "startLine": 2295
+ "startLine": 2377
},
{
"endCharacter": 87,
- "endLine": 2621,
+ "endLine": 2703,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"index\" for class \"NDArray[Unknown]\"\n Attribute \"index\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 82,
- "startLine": 2621
+ "startLine": 2703
},
{
"endCharacter": 68,
- "endLine": 2622,
+ "endLine": 2704,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"index\" for class \"NDArray[Unknown]\"\n Attribute \"index\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 63,
- "startLine": 2622
+ "startLine": 2704
},
{
"endCharacter": 63,
- "endLine": 2633,
+ "endLine": 2715,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"index\" for class \"NDArray[Unknown]\"\n Attribute \"index\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 58,
- "startLine": 2633
+ "startLine": 2715
},
{
"endCharacter": 47,
- "endLine": 2635,
+ "endLine": 2717,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"loc\" for class \"NDArray[Unknown]\"\n Attribute \"loc\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 44,
- "startLine": 2635
+ "startLine": 2717
},
{
"endCharacter": 47,
- "endLine": 2635,
+ "endLine": 2717,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"loc\" for class \"list[Unknown]\"\n Attribute \"loc\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 44,
- "startLine": 2635
+ "startLine": 2717
},
{
"endCharacter": 43,
- "endLine": 2636,
+ "endLine": 2718,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"loc\" for class \"NDArray[Unknown]\"\n Attribute \"loc\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 40,
- "startLine": 2636
+ "startLine": 2718
},
{
"endCharacter": 43,
- "endLine": 2636,
+ "endLine": 2718,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"loc\" for class \"list[Unknown]\"\n Attribute \"loc\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 40,
- "startLine": 2636
+ "startLine": 2718
},
{
"endCharacter": 31,
- "endLine": 2657,
+ "endLine": 2739,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"NDArray[Unknown]\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 26,
- "startLine": 2657
+ "startLine": 2739
},
{
"endCharacter": 31,
- "endLine": 2657,
+ "endLine": 2739,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"list[Unknown]\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 26,
- "startLine": 2657
+ "startLine": 2739
},
{
"endCharacter": 60,
- "endLine": 2657,
+ "endLine": 2739,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"NDArray[Unknown]\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 55,
- "startLine": 2657
+ "startLine": 2739
},
{
"endCharacter": 60,
- "endLine": 2657,
+ "endLine": 2739,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"list[Unknown]\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 55,
- "startLine": 2657
+ "startLine": 2739
},
{
"endCharacter": 73,
- "endLine": 2669,
+ "endLine": 2751,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | Any | ((value: Unknown, start: SupportsIndex = 0, stop: SupportsIndex = sys.maxsize, /) -> int)\" cannot be assigned to parameter \"target\" of type \"Index[Any]\" in function \"get_indexer\"\n Type \"Unknown | Any | ((value: Unknown, start: SupportsIndex = 0, stop: SupportsIndex = sys.maxsize, /) -> int)\" is not assignable to type \"Index[Any]\"\n \"MethodType\" is not assignable to \"Index[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 53,
- "startLine": 2669
+ "startLine": 2751
},
{
"endCharacter": 73,
- "endLine": 2669,
+ "endLine": 2751,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"index\" for class \"NDArray[Unknown]\"\n Attribute \"index\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 68,
- "startLine": 2669
+ "startLine": 2751
},
{
"endCharacter": 83,
- "endLine": 2670,
+ "endLine": 2752,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Unknown | Any | ((value: Unknown, start: SupportsIndex = 0, stop: SupportsIndex = sys.maxsize, /) -> int)\" cannot be assigned to parameter \"target\" of type \"Index[Any]\" in function \"get_indexer\"\n Type \"Unknown | Any | ((value: Unknown, start: SupportsIndex = 0, stop: SupportsIndex = sys.maxsize, /) -> int)\" is not assignable to type \"Index[Any]\"\n \"MethodType\" is not assignable to \"Index[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 58,
- "startLine": 2670
+ "startLine": 2752
},
{
"endCharacter": 83,
- "endLine": 2670,
+ "endLine": 2752,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"index\" for class \"NDArray[Unknown]\"\n Attribute \"index\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 78,
- "startLine": 2670
+ "startLine": 2752
},
{
"endCharacter": 46,
- "endLine": 2905,
+ "endLine": 2987,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"Buffer\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 41,
- "startLine": 2905
+ "startLine": 2987
},
{
"endCharacter": 46,
- "endLine": 2905,
+ "endLine": 2987,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"_NestedSequence[_SupportsArray[dtype[Any]]]\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 41,
- "startLine": 2905
+ "startLine": 2987
},
{
"endCharacter": 46,
- "endLine": 2905,
+ "endLine": 2987,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"_NestedSequence[complex | bytes | str]\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 41,
- "startLine": 2905
+ "startLine": 2987
},
{
"endCharacter": 46,
- "endLine": 2905,
+ "endLine": 2987,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"_SupportsArray[dtype[Any]]\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 41,
- "startLine": 2905
+ "startLine": 2987
},
{
"endCharacter": 46,
- "endLine": 2905,
+ "endLine": 2987,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"bytes\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 41,
- "startLine": 2905
+ "startLine": 2987
},
{
"endCharacter": 46,
- "endLine": 2905,
+ "endLine": 2987,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"complex\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 41,
- "startLine": 2905
+ "startLine": 2987
},
{
"endCharacter": 46,
- "endLine": 2905,
+ "endLine": 2987,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Cannot access attribute \"empty\" for class \"str\"\n Attribute \"empty\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 41,
- "startLine": 2905
+ "startLine": 2987
},
{
"endCharacter": 41,
- "endLine": 2912,
+ "endLine": 2994,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"ArrayLike\" cannot be assigned to parameter \"features\" of type \"DataFrame\" in function \"_sanitize_pipeline_weights\"\n Type \"ArrayLike\" is not assignable to type \"DataFrame\"\n \"Buffer\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2912
+ "startLine": 2994
},
{
"endCharacter": 39,
- "endLine": 2961,
+ "endLine": 3043,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"ArrayLike\" cannot be assigned to parameter \"features\" of type \"DataFrame\" in function \"_sanitize_pipeline_weights\"\n Type \"ArrayLike\" is not assignable to type \"DataFrame\"\n \"Buffer\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 2961
+ "startLine": 3043
},
{
"endCharacter": 19,
- "endLine": 3071,
+ "endLine": 3153,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"int | Any | None\" cannot be assigned to parameter \"gap\" of type \"int\" in function \"__init__\"\n Type \"int | Any | None\" is not assignable to type \"int\"\n \"None\" is not assignable to \"int\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 3071
+ "startLine": 3153
},
{
"endCharacter": 21,
- "endLine": 3183,
+ "endLine": 3265,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"X\" of type \"DataFrame\" in function \"hp_objective\"\n Type \"Any | None\" is not assignable to type \"DataFrame\"\n \"None\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 3183
+ "startLine": 3265
},
{
"endCharacter": 21,
- "endLine": 3184,
+ "endLine": 3266,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"y\" of type \"DataFrame\" in function \"hp_objective\"\n Type \"Any | None\" is not assignable to type \"DataFrame\"\n \"None\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 3184
+ "startLine": 3266
},
{
"endCharacter": 33,
- "endLine": 3185,
+ "endLine": 3267,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"train_weights\" of type \"NDArray[floating[Any]]\" in function \"hp_objective\"\n Type \"Any | None\" is not assignable to type \"NDArray[floating[Any]]\"\n \"None\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 3185
+ "startLine": 3267
},
{
"endCharacter": 32,
- "endLine": 3186,
+ "endLine": 3268,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"X_validation\" of type \"DataFrame\" in function \"hp_objective\"\n Type \"Any | None\" is not assignable to type \"DataFrame\"\n \"None\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 3186
+ "startLine": 3268
},
{
"endCharacter": 32,
- "endLine": 3187,
+ "endLine": 3269,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"y_validation\" of type \"DataFrame\" in function \"hp_objective\"\n Type \"Any | None\" is not assignable to type \"DataFrame\"\n \"None\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 3187
+ "startLine": 3269
},
{
"endCharacter": 38,
- "endLine": 3188,
+ "endLine": 3270,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"validation_weights\" of type \"NDArray[floating[Any]]\" in function \"hp_objective\"\n Type \"Any | None\" is not assignable to type \"NDArray[floating[Any]]\"\n \"None\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 3188
+ "startLine": 3270
},
{
"endCharacter": 24,
- "endLine": 3209,
+ "endLine": 3291,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"X_test\" of type \"DataFrame\" in function \"make_test_set_and_weights\"\n Type \"Any | None\" is not assignable to type \"DataFrame\"\n \"None\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 12,
- "startLine": 3209
+ "startLine": 3291
},
{
"endCharacter": 24,
- "endLine": 3210,
+ "endLine": 3292,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"y_test\" of type \"DataFrame\" in function \"make_test_set_and_weights\"\n Type \"Any | None\" is not assignable to type \"DataFrame\"\n \"None\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 12,
- "startLine": 3210
+ "startLine": 3292
},
{
"endCharacter": 30,
- "endLine": 3211,
+ "endLine": 3293,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"test_weights\" of type \"NDArray[floating[Any]]\" in function \"make_test_set_and_weights\"\n Type \"Any | None\" is not assignable to type \"NDArray[floating[Any]]\"\n \"None\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 12,
- "startLine": 3211
+ "startLine": 3293
},
{
"endCharacter": 15,
- "endLine": 3217,
+ "endLine": 3299,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"X\" of type \"DataFrame\" in function \"fit_regressor\"\n Type \"Any | None\" is not assignable to type \"DataFrame\"\n \"None\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 14,
- "startLine": 3217
+ "startLine": 3299
},
{
"endCharacter": 15,
- "endLine": 3218,
+ "endLine": 3300,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"y\" of type \"DataFrame\" in function \"fit_regressor\"\n Type \"Any | None\" is not assignable to type \"DataFrame\"\n \"None\" is not assignable to \"DataFrame\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 14,
- "startLine": 3218
+ "startLine": 3300
},
{
"endCharacter": 39,
- "endLine": 3219,
+ "endLine": 3301,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"train_weights\" of type \"NDArray[floating[Any]]\" in function \"fit_regressor\"\n Type \"Any | None\" is not assignable to type \"NDArray[floating[Any]]\"\n \"None\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 26,
- "startLine": 3219
+ "startLine": 3301
},
{
"endCharacter": 38,
- "endLine": 3229,
+ "endLine": 3311,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "\"columns\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 31,
- "startLine": 3229
+ "startLine": 3311
},
{
"endCharacter": 34,
- "endLine": 3230,
+ "endLine": 3312,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "\"index\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 29,
- "startLine": 3230
+ "startLine": 3312
},
{
"endCharacter": 82,
- "endLine": 3232,
+ "endLine": 3314,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "\"copy\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 78,
- "startLine": 3232
+ "startLine": 3314
},
{
"endCharacter": 62,
- "endLine": 3675,
+ "endLine": 3757,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "\"get_pair_dataframe\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 44,
- "startLine": 3675
+ "startLine": 3757
},
{
"endCharacter": 68,
- "endLine": 4055,
+ "endLine": 4137,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Type \"floating[Any] | NDArray[float64]\" is not assignable to return type \"NDArray[floating[Any]]\"\n Type \"floating[Any] | NDArray[float64]\" is not assignable to type \"NDArray[floating[Any]]\"\n \"floating[Any]\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"",
"rule": "reportReturnType",
"severity": "error",
"startCharacter": 15,
- "startLine": 4051
+ "startLine": 4133
},
{
"endCharacter": 13,
- "endLine": 4084,
+ "endLine": 4166,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "No overloads for \"cdist\" match the provided arguments",
"rule": "reportCallIssue",
"severity": "error",
"startCharacter": 19,
- "startLine": 4079
+ "startLine": 4161
},
{
"endCharacter": 38,
- "endLine": 4082,
+ "endLine": 4164,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"metric\" of type \"_MetricFunc\" in function \"cdist\"\n Type \"str\" is not assignable to type \"_MetricFunc\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 23,
- "startLine": 4082
+ "startLine": 4164
},
{
"endCharacter": 9,
- "endLine": 4187,
+ "endLine": 4269,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "No overloads for \"pdist\" match the provided arguments",
"rule": "reportCallIssue",
"severity": "error",
"startCharacter": 36,
- "startLine": 4185
+ "startLine": 4267
},
{
"endCharacter": 42,
- "endLine": 4186,
+ "endLine": 4268,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"metric\" of type \"_MetricFunc\" in function \"pdist\"\n Type \"str\" is not assignable to type \"_MetricFunc\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 27,
- "startLine": 4186
+ "startLine": 4268
},
{
"endCharacter": 9,
- "endLine": 4264,
+ "endLine": 4346,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "No overloads for \"cdist\" match the provided arguments",
"rule": "reportCallIssue",
"severity": "error",
"startCharacter": 15,
- "startLine": 4259
+ "startLine": 4341
},
{
"endCharacter": 34,
- "endLine": 4262,
+ "endLine": 4344,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"metric\" of type \"_MetricFunc\" in function \"cdist\"\n Type \"str\" is not assignable to type \"_MetricFunc\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 19,
- "startLine": 4262
+ "startLine": 4344
},
{
"endCharacter": 99,
- "endLine": 4453,
+ "endLine": 4535,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "No overloads for \"pdist\" match the provided arguments",
"rule": "reportCallIssue",
"severity": "error",
"startCharacter": 12,
- "startLine": 4453
+ "startLine": 4535
},
{
"endCharacter": 79,
- "endLine": 4453,
+ "endLine": 4535,
"file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"metric\" of type \"_MetricFunc\" in function \"pdist\"\n Type \"str\" is not assignable to type \"_MetricFunc\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 64,
- "startLine": 4453
+ "startLine": 4535
},
{
"endCharacter": 55,
- "endLine": 223,
+ "endLine": 225,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Type \"int\" is not assignable to declared type \"cached_property[int]\"\n \"int\" is not assignable to \"cached_property[int]\"",
"rule": "reportAssignmentType",
"severity": "error",
"startCharacter": 24,
- "startLine": 223
+ "startLine": 225
},
{
"endCharacter": 15,
- "endLine": 259,
+ "endLine": 269,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Class variable \"minimal_roi\" overrides instance variable of same name in class \"IStrategy\"",
"rule": "reportIncompatibleVariableOverride",
"severity": "error",
"startCharacter": 4,
- "startLine": 259
+ "startLine": 269
},
{
"endCharacter": 72,
- "endLine": 259,
+ "endLine": 269,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"*\" not supported for types \"cached_property[int]\" and \"Literal[864]\"",
"rule": "reportOperatorIssue",
"severity": "error",
"startCharacter": 49,
- "startLine": 259
+ "startLine": 269
},
{
"endCharacter": 64,
- "endLine": 272,
+ "endLine": 282,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"timeframe\" of type \"str\" in function \"timeframe_to_minutes\"\n Type \"Any | None\" is not assignable to type \"str\"\n \"None\" is not assignable to \"str\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 36,
- "startLine": 272
+ "startLine": 282
},
{
"endCharacter": 17,
- "endLine": 281,
+ "endLine": 291,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "\"can_short\" overrides symbol of same name in class \"IStrategy\"\n \"property\" is not assignable to \"bool\"",
"rule": "reportIncompatibleVariableOverride",
"severity": "error",
"startCharacter": 8,
- "startLine": 281
+ "startLine": 291
},
{
"endCharacter": 19,
- "endLine": 285,
+ "endLine": 295,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "\"plot_config\" overrides symbol of same name in class \"IStrategy\"\n \"cached_property[dict[str, Any]]\" is not assignable to \"dict[Unknown, Unknown]\"",
"rule": "reportIncompatibleVariableOverride",
"severity": "error",
"startCharacter": 8,
- "startLine": 285
+ "startLine": 295
},
{
"endCharacter": 19,
- "endLine": 329,
+ "endLine": 339,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "\"protections\" overrides symbol of same name in class \"IStrategy\"\n \"cached_property[list[dict[str, Any]]]\" is not assignable to \"list[Unknown]\"",
"rule": "reportIncompatibleVariableOverride",
"severity": "error",
"startCharacter": 8,
- "startLine": 329
+ "startLine": 339
},
{
"endCharacter": 28,
- "endLine": 402,
+ "endLine": 412,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "\"startup_candle_count\" overrides symbol of same name in class \"IStrategy\"\n \"property\" is not assignable to \"int\"",
"rule": "reportIncompatibleVariableOverride",
"severity": "error",
"startCharacter": 8,
- "startLine": 402
+ "startLine": 412
},
{
"endCharacter": 44,
- "endLine": 461,
+ "endLine": 491,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"/\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 12,
- "startLine": 461
+ "startLine": 491
},
{
"endCharacter": 38,
- "endLine": 716,
+ "endLine": 766,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "\"to_numpy\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 30,
- "startLine": 716
+ "startLine": 766
},
{
"endCharacter": 44,
- "endLine": 749,
+ "endLine": 799,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"-\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 38,
- "startLine": 749
+ "startLine": 799
},
{
"endCharacter": 38,
- "endLine": 757,
+ "endLine": 807,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Object of type \"None\" is not subscriptable",
"rule": "reportOptionalSubscript",
"severity": "error",
"startCharacter": 36,
- "startLine": 757
+ "startLine": 807
},
{
"endCharacter": 39,
- "endLine": 758,
+ "endLine": 808,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Object of type \"None\" is not subscriptable",
"rule": "reportOptionalSubscript",
"severity": "error",
"startCharacter": 37,
- "startLine": 758
+ "startLine": 808
},
{
"endCharacter": 38,
- "endLine": 759,
+ "endLine": 809,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Object of type \"None\" is not subscriptable",
"rule": "reportOptionalSubscript",
"severity": "error",
"startCharacter": 36,
- "startLine": 759
+ "startLine": 809
},
{
"endCharacter": 44,
- "endLine": 782,
+ "endLine": 832,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"-\" not supported for types \"Series[Any] | None\" and \"Series[Any] | None\"\n Operator \"-\" not supported for types \"Series[Any]\" and \"None\"\n Operator \"-\" not supported for types \"None\" and \"Series[Any]\"\n Operator \"-\" not supported for types \"None\" and \"None\"",
"rule": "reportOperatorIssue",
"severity": "error",
"startCharacter": 29,
- "startLine": 782
+ "startLine": 832
},
{
"endCharacter": 66,
- "endLine": 782,
+ "endLine": 832,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"s1\" of type \"Series[Any]\" in function \"non_zero_diff\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 61,
- "startLine": 782
+ "startLine": 832
},
{
"endCharacter": 72,
- "endLine": 782,
+ "endLine": 832,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"s2\" of type \"Series[Any]\" in function \"non_zero_diff\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 68,
- "startLine": 782
+ "startLine": 832
},
{
"endCharacter": 56,
- "endLine": 788,
+ "endLine": 838,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 50,
- "startLine": 788
+ "startLine": 838
},
{
"endCharacter": 58,
- "endLine": 789,
+ "endLine": 839,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 52,
- "startLine": 789
+ "startLine": 839
},
{
"endCharacter": 57,
- "endLine": 790,
+ "endLine": 840,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 51,
- "startLine": 790
+ "startLine": 840
},
{
"endCharacter": 44,
- "endLine": 793,
+ "endLine": 843,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"series\" of type \"Series[Any]\" in function \"zlema\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 38,
- "startLine": 793
+ "startLine": 843
},
{
"endCharacter": 44,
- "endLine": 794,
+ "endLine": 844,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"series\" of type \"Series[Any]\" in function \"zlema\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 38,
- "startLine": 794
+ "startLine": 844
},
{
"endCharacter": 44,
- "endLine": 795,
+ "endLine": 845,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"series\" of type \"Series[Any]\" in function \"zlema\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 38,
- "startLine": 795
+ "startLine": 845
},
{
"endCharacter": 61,
- "endLine": 796,
+ "endLine": 846,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 55,
- "startLine": 796
+ "startLine": 846
},
{
"endCharacter": 61,
- "endLine": 797,
+ "endLine": 847,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 55,
- "startLine": 797
+ "startLine": 847
},
{
"endCharacter": 61,
- "endLine": 798,
+ "endLine": 848,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 55,
- "startLine": 798
+ "startLine": 848
},
{
"endCharacter": 81,
- "endLine": 806,
+ "endLine": 856,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any]\" cannot be assigned to parameter \"p2\" of type \"T@get_distance\" in function \"get_distance\"\n \"Series[Any]\" is not assignable to \"float\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 58,
- "startLine": 806
+ "startLine": 856
},
{
"endCharacter": 67,
- "endLine": 819,
+ "endLine": 869,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 61,
- "startLine": 819
+ "startLine": 869
},
{
"endCharacter": 68,
- "endLine": 820,
+ "endLine": 870,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 62,
- "startLine": 820
+ "startLine": 870
},
{
"endCharacter": 67,
- "endLine": 821,
+ "endLine": 871,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 61,
- "startLine": 821
+ "startLine": 871
},
{
"endCharacter": 44,
- "endLine": 822,
+ "endLine": 872,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"-\" not supported for types \"Series[Any] | None\" and \"Series[Any] | None\"\n Operator \"-\" not supported for types \"Series[Any]\" and \"None\" when expected type is \"_SetItemValueNotDataFrame\"\n Operator \"-\" not supported for types \"None\" and \"Series[Any]\" when expected type is \"_SetItemValueNotDataFrame\"\n Operator \"-\" not supported for types \"None\" and \"None\" when expected type is \"_SetItemValueNotDataFrame\"",
"rule": "reportOperatorIssue",
"severity": "error",
"startCharacter": 30,
- "startLine": 822
+ "startLine": 872
},
{
"endCharacter": 56,
- "endLine": 823,
+ "endLine": 873,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "No overloads for \"__call__\" match the provided arguments",
"rule": "reportCallIssue",
"severity": "error",
"startCharacter": 31,
- "startLine": 823
+ "startLine": 873
},
{
"endCharacter": 47,
- "endLine": 823,
+ "endLine": 873,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"x1\" of type \"ArrayLike\" in function \"__call__\"\n Type \"Series[Any] | None\" is not assignable to type \"ArrayLike\"\n Type \"None\" is not assignable to type \"ArrayLike\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"_SupportsArray[dtype[Any]]\"\n \"__array__\" is not present\n \"None\" is incompatible with protocol \"_NestedSequence[_SupportsArray[dtype[Any]]]\"\n \"__len__\" is not present\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 42,
- "startLine": 823
+ "startLine": 873
},
{
"endCharacter": 55,
- "endLine": 823,
+ "endLine": 873,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"x2\" of type \"ArrayLike\" in function \"__call__\"\n Type \"Series[Any] | None\" is not assignable to type \"ArrayLike\"\n Type \"None\" is not assignable to type \"ArrayLike\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"_SupportsArray[dtype[Any]]\"\n \"__array__\" is not present\n \"None\" is incompatible with protocol \"_NestedSequence[_SupportsArray[dtype[Any]]]\"\n \"__len__\" is not present\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 49,
- "startLine": 823
+ "startLine": 873
},
{
"endCharacter": 64,
- "endLine": 824,
+ "endLine": 874,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "No overloads for \"__call__\" match the provided arguments",
"rule": "reportCallIssue",
"severity": "error",
"startCharacter": 39,
- "startLine": 824
+ "startLine": 874
},
{
"endCharacter": 55,
- "endLine": 824,
+ "endLine": 874,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"x1\" of type \"ArrayLike\" in function \"__call__\"\n Type \"Series[Any] | None\" is not assignable to type \"ArrayLike\"\n Type \"None\" is not assignable to type \"ArrayLike\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"_SupportsArray[dtype[Any]]\"\n \"__array__\" is not present\n \"None\" is incompatible with protocol \"_NestedSequence[_SupportsArray[dtype[Any]]]\"\n \"__len__\" is not present\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 50,
- "startLine": 824
+ "startLine": 874
},
{
"endCharacter": 63,
- "endLine": 824,
+ "endLine": 874,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"x2\" of type \"ArrayLike\" in function \"__call__\"\n Type \"Series[Any] | None\" is not assignable to type \"ArrayLike\"\n Type \"None\" is not assignable to type \"ArrayLike\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"_SupportsArray[dtype[Any]]\"\n \"__array__\" is not present\n \"None\" is incompatible with protocol \"_NestedSequence[_SupportsArray[dtype[Any]]]\"\n \"__len__\" is not present\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 57,
- "startLine": 824
+ "startLine": 874
},
{
"endCharacter": 55,
- "endLine": 832,
+ "endLine": 882,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 49,
- "startLine": 832
+ "startLine": 882
},
{
"endCharacter": 55,
- "endLine": 833,
+ "endLine": 883,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 49,
- "startLine": 833
+ "startLine": 883
},
{
"endCharacter": 55,
- "endLine": 834,
+ "endLine": 884,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 49,
- "startLine": 834
+ "startLine": 884
},
{
"endCharacter": 55,
- "endLine": 835,
+ "endLine": 885,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 49,
- "startLine": 835
+ "startLine": 885
},
{
"endCharacter": 55,
- "endLine": 836,
+ "endLine": 886,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 49,
- "startLine": 836
+ "startLine": 886
},
{
"endCharacter": 55,
- "endLine": 837,
+ "endLine": 887,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"p1\" of type \"T@get_distance\" in function \"get_distance\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 49,
- "startLine": 837
+ "startLine": 887
},
{
"endCharacter": 50,
- "endLine": 866,
+ "endLine": 916,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToInt\" in function \"__new__\"\n Type \"Any | None\" is not assignable to type \"ConvertibleToInt\"\n Type \"None\" is not assignable to type \"ConvertibleToInt\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsInt\"\n \"__int__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 44,
- "startLine": 866
+ "startLine": 916
},
{
"endCharacter": 50,
- "endLine": 866,
+ "endLine": 916,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToInt\" in function \"__new__\"\n Type \"Any | None\" is not assignable to type \"ConvertibleToInt\"\n Type \"None\" is not assignable to type \"ConvertibleToInt\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsInt\"\n \"__int__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 44,
- "startLine": 866
+ "startLine": 916
},
{
"endCharacter": 29,
- "endLine": 867,
+ "endLine": 917,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToInt\" in function \"__new__\"\n Type \"Any | None\" is not assignable to type \"ConvertibleToInt\"\n Type \"None\" is not assignable to type \"ConvertibleToInt\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsInt\"\n \"__int__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 23,
- "startLine": 867
+ "startLine": 917
},
{
"endCharacter": 29,
- "endLine": 867,
+ "endLine": 917,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToInt\" in function \"__new__\"\n Type \"Any | None\" is not assignable to type \"ConvertibleToInt\"\n Type \"None\" is not assignable to type \"ConvertibleToInt\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsInt\"\n \"__int__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 23,
- "startLine": 867
+ "startLine": 917
},
{
"endCharacter": 60,
- "endLine": 904,
+ "endLine": 954,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n Type \"Any | None\" is not assignable to type \"ConvertibleToFloat\"\n Type \"None\" is not assignable to type \"ConvertibleToFloat\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsFloat\"\n \"__float__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 50,
- "startLine": 904
+ "startLine": 954
},
{
"endCharacter": 60,
- "endLine": 904,
+ "endLine": 954,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n Type \"Any | None\" is not assignable to type \"ConvertibleToFloat\"\n Type \"None\" is not assignable to type \"ConvertibleToFloat\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsFloat\"\n \"__float__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 50,
- "startLine": 904
+ "startLine": 954
},
{
"endCharacter": 35,
- "endLine": 905,
+ "endLine": 955,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n Type \"Any | None\" is not assignable to type \"ConvertibleToFloat\"\n Type \"None\" is not assignable to type \"ConvertibleToFloat\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsFloat\"\n \"__float__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 25,
- "startLine": 905
+ "startLine": 955
},
{
"endCharacter": 35,
- "endLine": 905,
+ "endLine": 955,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n Type \"Any | None\" is not assignable to type \"ConvertibleToFloat\"\n Type \"None\" is not assignable to type \"ConvertibleToFloat\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsFloat\"\n \"__float__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 25,
- "startLine": 905
+ "startLine": 955
},
{
"endCharacter": 41,
- "endLine": 1130,
+ "endLine": 1180,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"<\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 12,
- "startLine": 1130
+ "startLine": 1180
},
{
"endCharacter": 41,
- "endLine": 1140,
+ "endLine": 1190,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \">\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 12,
- "startLine": 1140
+ "startLine": 1190
},
{
"endCharacter": 66,
- "endLine": 1153,
+ "endLine": 1203,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"timeframe\" of type \"str\" in function \"timeframe_to_prev_date\"\n Type \"Any | None\" is not assignable to type \"str\"\n \"None\" is not assignable to \"str\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 38,
- "startLine": 1153
+ "startLine": 1203
},
{
"endCharacter": 70,
- "endLine": 1284,
+ "endLine": 1334,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Expected 1 more positional argument",
"rule": "reportCallIssue",
"severity": "error",
"startCharacter": 48,
- "startLine": 1284
+ "startLine": 1334
},
{
"endCharacter": 74,
- "endLine": 1348,
+ "endLine": 1398,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"int | None\" cannot be assigned to parameter \"trade_duration_candles\" of type \"int\" in function \"get_trade_natr\"\n Type \"int | None\" is not assignable to type \"int\"\n \"None\" is not assignable to \"int\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 52,
- "startLine": 1348
+ "startLine": 1398
},
{
"endCharacter": 74,
- "endLine": 1375,
+ "endLine": 1425,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"int | None\" cannot be assigned to parameter \"trade_duration_candles\" of type \"int\" in function \"get_trade_natr\"\n Type \"int | None\" is not assignable to type \"int\"\n \"None\" is not assignable to \"int\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 52,
- "startLine": 1375
+ "startLine": 1425
},
{
"endCharacter": 96,
- "endLine": 1427,
+ "endLine": 1477,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"timeframe\" of type \"str\" in function \"get_analyzed_dataframe\"\n Type \"Any | None\" is not assignable to type \"str\"\n \"None\" is not assignable to \"str\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 68,
- "startLine": 1427
+ "startLine": 1477
},
{
"endCharacter": 77,
- "endLine": 1461,
+ "endLine": 1507,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"<=\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 57,
- "startLine": 1461
+ "startLine": 1507
},
{
"endCharacter": 9,
- "endLine": 1466,
+ "endLine": 1512,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"+\" not supported for types \"float\" and \"float | None\"\n Operator \"+\" not supported for types \"float\" and \"None\"",
"rule": "reportOperatorIssue",
"severity": "error",
"startCharacter": 28,
- "startLine": 1464
+ "startLine": 1510
},
{
"endCharacter": 33,
- "endLine": 1465,
+ "endLine": 1511,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"-\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 13,
- "startLine": 1465
+ "startLine": 1511
},
{
"endCharacter": 67,
- "endLine": 1471,
+ "endLine": 1517,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"float | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n Type \"float | None\" is not assignable to type \"ConvertibleToFloat\"\n Type \"None\" is not assignable to type \"ConvertibleToFloat\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsFloat\"\n \"__float__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 47,
- "startLine": 1471
+ "startLine": 1517
},
{
"endCharacter": 67,
- "endLine": 1471,
+ "endLine": 1517,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"float | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n Type \"float | None\" is not assignable to type \"ConvertibleToFloat\"\n Type \"None\" is not assignable to type \"ConvertibleToFloat\"\n \"None\" is not assignable to \"str\"\n \"None\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"None\" is incompatible with protocol \"SupportsFloat\"\n \"__float__\" is not present\n \"None\" is incompatible with protocol \"SupportsIndex\"\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 47,
- "startLine": 1471
+ "startLine": 1517
},
{
"endCharacter": 64,
- "endLine": 1625,
+ "endLine": 1671,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "\"isoformat\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 55,
- "startLine": 1625
+ "startLine": 1671
},
{
"endCharacter": 37,
- "endLine": 1676,
+ "endLine": 1722,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"<=\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 15,
- "startLine": 1676
+ "startLine": 1722
},
{
"endCharacter": 48,
- "endLine": 1678,
+ "endLine": 1724,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"<=\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 15,
- "startLine": 1678
+ "startLine": 1724
},
{
"endCharacter": 96,
- "endLine": 1858,
+ "endLine": 1904,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"timeframe\" of type \"str\" in function \"get_analyzed_dataframe\"\n Type \"Any | None\" is not assignable to type \"str\"\n \"None\" is not assignable to \"str\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 68,
- "startLine": 1858
+ "startLine": 1904
},
{
"endCharacter": 39,
- "endLine": 1935,
+ "endLine": 1981,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"+\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 21,
- "startLine": 1935
+ "startLine": 1981
},
{
"endCharacter": 90,
- "endLine": 1935,
+ "endLine": 1981,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"*\" not supported for types \"float\" and \"Any | None\"\n Operator \"*\" not supported for types \"float\" and \"None\"",
"rule": "reportOperatorIssue",
"severity": "error",
"startCharacter": 62,
- "startLine": 1935
+ "startLine": 1981
},
{
"endCharacter": 96,
- "endLine": 2239,
+ "endLine": 2285,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"timeframe\" of type \"str\" in function \"get_analyzed_dataframe\"\n Type \"Any | None\" is not assignable to type \"str\"\n \"None\" is not assignable to \"str\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 68,
- "startLine": 2239
+ "startLine": 2285
},
{
"endCharacter": 85,
- "endLine": 2264,
+ "endLine": 2310,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "\"isoformat\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 76,
- "startLine": 2264
+ "startLine": 2310
},
{
"endCharacter": 47,
- "endLine": 2270,
+ "endLine": 2316,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \"<\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 16,
- "startLine": 2270
+ "startLine": 2316
},
{
"endCharacter": 42,
- "endLine": 2274,
+ "endLine": 2320,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"side\" of type \"TradeDirection\" in function \"reversal_confirmed\"\n Type \"str\" is not assignable to type \"TradeDirection\"\n \"str\" is not assignable to type \"Literal['long']\"\n \"str\" is not assignable to type \"Literal['short']\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2274
+ "startLine": 2320
},
{
"endCharacter": 42,
- "endLine": 2275,
+ "endLine": 2321,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"order\" of type \"OrderType\" in function \"reversal_confirmed\"\n Type \"str\" is not assignable to type \"OrderType\"\n \"str\" is not assignable to type \"Literal['entry']\"\n \"str\" is not assignable to type \"Literal['exit']\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2275
+ "startLine": 2321
},
{
"endCharacter": 69,
- "endLine": 2277,
+ "endLine": 2323,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"int | float\" cannot be assigned to parameter \"lookback_period_candles\" of type \"int\" in function \"reversal_confirmed\"\n Type \"int | float\" is not assignable to type \"int\"\n \"float\" is not assignable to \"int\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2277
+ "startLine": 2323
},
{
"endCharacter": 47,
- "endLine": 2288,
+ "endLine": 2334,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Operator \">\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 16,
- "startLine": 2288
+ "startLine": 2334
},
{
"endCharacter": 43,
- "endLine": 2292,
+ "endLine": 2338,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"side\" of type \"TradeDirection\" in function \"reversal_confirmed\"\n Type \"str\" is not assignable to type \"TradeDirection\"\n \"str\" is not assignable to type \"Literal['long']\"\n \"str\" is not assignable to type \"Literal['short']\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2292
+ "startLine": 2338
},
{
"endCharacter": 42,
- "endLine": 2293,
+ "endLine": 2339,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"order\" of type \"OrderType\" in function \"reversal_confirmed\"\n Type \"str\" is not assignable to type \"OrderType\"\n \"str\" is not assignable to type \"Literal['entry']\"\n \"str\" is not assignable to type \"Literal['exit']\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2293
+ "startLine": 2339
},
{
"endCharacter": 69,
- "endLine": 2295,
+ "endLine": 2341,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"int | float\" cannot be assigned to parameter \"lookback_period_candles\" of type \"int\" in function \"reversal_confirmed\"\n Type \"int | float\" is not assignable to type \"int\"\n \"float\" is not assignable to \"int\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2295
+ "startLine": 2341
},
{
"endCharacter": 52,
- "endLine": 2324,
+ "endLine": 2370,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"datetime | None\" cannot be assigned to parameter \"current_candle_date\" of type \"datetime\" in function \"_normalize_final_take_profit_state\"\n Type \"datetime | None\" is not assignable to type \"datetime\"\n \"None\" is not assignable to \"datetime\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 36,
- "startLine": 2324
+ "startLine": 2370
},
{
"endCharacter": 96,
- "endLine": 2444,
+ "endLine": 2490,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"Any | None\" cannot be assigned to parameter \"timeframe\" of type \"str\" in function \"get_analyzed_dataframe\"\n Type \"Any | None\" is not assignable to type \"str\"\n \"None\" is not assignable to \"str\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 68,
- "startLine": 2444
+ "startLine": 2490
},
{
"endCharacter": 43,
- "endLine": 2453,
+ "endLine": 2499,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"order\" of type \"OrderType\" in function \"reversal_confirmed\"\n Type \"str\" is not assignable to type \"OrderType\"\n \"str\" is not assignable to type \"Literal['entry']\"\n \"str\" is not assignable to type \"Literal['exit']\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2453
+ "startLine": 2499
},
{
"endCharacter": 69,
- "endLine": 2455,
+ "endLine": 2501,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"int | float\" cannot be assigned to parameter \"lookback_period_candles\" of type \"int\" in function \"reversal_confirmed\"\n Type \"int | float\" is not assignable to type \"int\"\n \"float\" is not assignable to \"int\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 2455
+ "startLine": 2501
},
{
"endCharacter": 32,
- "endLine": 2531,
+ "endLine": 2577,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"LocalTrade\" cannot be assigned to parameter \"trade\" of type \"Trade\" in function \"get_trade_annotation_line_start_date\"\n \"LocalTrade\" is not assignable to \"Trade\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 27,
- "startLine": 2531
+ "startLine": 2577
},
{
"endCharacter": 72,
- "endLine": 2534,
+ "endLine": 2580,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"LocalTrade\" cannot be assigned to parameter \"trade\" of type \"Trade\" in function \"get_trade_exit_stage\"\n \"LocalTrade\" is not assignable to \"Trade\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 67,
- "startLine": 2534
+ "startLine": 2580
},
{
"endCharacter": 36,
- "endLine": 2541,
+ "endLine": 2587,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"LocalTrade\" cannot be assigned to parameter \"trade\" of type \"Trade\" in function \"get_take_profit_target\"\n \"LocalTrade\" is not assignable to \"Trade\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 31,
- "startLine": 2541
+ "startLine": 2587
},
{
"endCharacter": 71,
- "endLine": 2572,
+ "endLine": 2618,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"LocalTrade\" cannot be assigned to parameter \"trade\" of type \"Trade\" in function \"get_trade_entry_date\"\n \"LocalTrade\" is not assignable to \"Trade\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 66,
- "startLine": 2572
+ "startLine": 2618
},
{
"endCharacter": 32,
- "endLine": 2603,
+ "endLine": 2649,
"file": "quickadapter/user_data/strategies/QuickAdapterV3.py",
"message": "Argument of type \"LocalTrade\" cannot be assigned to parameter \"trade\" of type \"Trade\" in function \"get_take_profit_target\"\n \"LocalTrade\" is not assignable to \"Trade\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 27,
- "startLine": 2603
+ "startLine": 2649
},
{
"endCharacter": 35,
},
{
"endCharacter": 98,
- "endLine": 1638,
+ "endLine": 1710,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Type \"bool | bool_\" is not assignable to return type \"bool\"\n Type \"bool | bool_\" is not assignable to type \"bool\"\n \"numpy.bool[builtins.bool]\" is not assignable to \"bool\"",
"rule": "reportReturnType",
"severity": "error",
"startCharacter": 15,
- "startLine": 1638
+ "startLine": 1710
},
{
"endCharacter": 33,
- "endLine": 1668,
+ "endLine": 1744,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"Scalar\" cannot be assigned to parameter \"x\" of type \"ConvertibleToInt\" in function \"__new__\"\n Type \"Scalar\" is not assignable to type \"ConvertibleToInt\"\n Type \"complex\" is not assignable to type \"ConvertibleToInt\"\n \"complex\" is not assignable to \"str\"\n \"complex\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"complex\" is incompatible with protocol \"SupportsInt\"\n \"__int__\" is not present\n \"complex\" is incompatible with protocol \"SupportsIndex\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 1668
+ "startLine": 1744
},
{
"endCharacter": 33,
- "endLine": 1668,
+ "endLine": 1744,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"Scalar\" cannot be assigned to parameter \"x\" of type \"ConvertibleToInt\" in function \"__new__\"\n Type \"Scalar\" is not assignable to type \"ConvertibleToInt\"\n Type \"complex\" is not assignable to type \"ConvertibleToInt\"\n \"complex\" is not assignable to \"str\"\n \"complex\" is incompatible with protocol \"Buffer\"\n \"__buffer__\" is not present\n \"complex\" is incompatible with protocol \"SupportsInt\"\n \"__int__\" is not present\n \"complex\" is incompatible with protocol \"SupportsIndex\"\n ...",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 1668
+ "startLine": 1744
},
{
"endCharacter": 23,
- "endLine": 1680,
+ "endLine": 1756,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Type \"float\" is not assignable to return type \"T@get_distance\"\n Type \"float\" is not assignable to type \"T@get_distance\"",
"rule": "reportReturnType",
"severity": "error",
"startCharacter": 11,
- "startLine": 1680
+ "startLine": 1756
},
{
"endCharacter": 83,
- "endLine": 2533,
+ "endLine": 2609,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"str\" cannot be assigned to parameter \"key\" of type \"CombinedMetric\" in function \"__getitem__\"\n Type \"str\" is not assignable to type \"CombinedMetric\"\n \"str\" is not assignable to type \"Literal['amplitude']\"\n \"str\" is not assignable to type \"Literal['amplitude_threshold_ratio']\"\n \"str\" is not assignable to type \"Literal['volume_rate']\"\n \"str\" is not assignable to type \"Literal['speed']\"\n \"str\" is not assignable to type \"Literal['efficiency_ratio']\"\n \"str\" is not assignable to type \"Literal['volume_weighted_efficiency_ratio']\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 58,
- "startLine": 2533
+ "startLine": 2609
},
{
"endCharacter": 38,
- "endLine": 3423,
+ "endLine": 3499,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Cannot access attribute \"__func__\" for class \"FunctionType\"\n Attribute \"__func__\" is unknown",
"rule": "reportFunctionMemberAccess",
"severity": "error",
"startCharacter": 30,
- "startLine": 3423
+ "startLine": 3499
},
{
"endCharacter": 34,
- "endLine": 3425,
+ "endLine": 3501,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Cannot access attribute \"__func__\" for class \"FunctionType\"\n Attribute \"__func__\" is unknown",
"rule": "reportFunctionMemberAccess",
"severity": "error",
"startCharacter": 26,
- "startLine": 3425
+ "startLine": 3501
},
{
"endCharacter": 55,
- "endLine": 3655,
+ "endLine": 3731,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"rolling\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 48,
- "startLine": 3655
+ "startLine": 3731
},
{
"endCharacter": 38,
- "endLine": 3680,
+ "endLine": 3756,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"rolling\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 31,
- "startLine": 3680
+ "startLine": 3756
},
{
"endCharacter": 55,
- "endLine": 3706,
+ "endLine": 3782,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"rolling\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 48,
- "startLine": 3706
+ "startLine": 3782
},
{
"endCharacter": 56,
- "endLine": 3707,
+ "endLine": 3783,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"rolling\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 49,
- "startLine": 3707
+ "startLine": 3783
},
{
"endCharacter": 33,
- "endLine": 3779,
+ "endLine": 3855,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"Series[Any] | NDArray[floating[Any]]\" cannot be assigned to parameter \"series\" of type \"Series[Any]\" in function \"calculate_zero_lag\"\n Type \"Series[Any] | NDArray[floating[Any]]\" is not assignable to type \"Series[Any]\"\n \"ndarray[_AnyShape, dtype[floating[Any]]]\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 27,
- "startLine": 3779
+ "startLine": 3855
},
{
"endCharacter": 69,
- "endLine": 3779,
+ "endLine": 3855,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Expected 1 more positional argument",
"rule": "reportCallIssue",
"severity": "error",
"startCharacter": 59,
- "startLine": 3779
+ "startLine": 3855
},
{
"endCharacter": 40,
- "endLine": 3846,
+ "endLine": 3922,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"series\" of type \"Series[Any]\" in function \"calculate_zero_lag\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 35,
- "startLine": 3846
+ "startLine": 3922
},
{
"endCharacter": 38,
- "endLine": 3847,
+ "endLine": 3923,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"series\" of type \"Series[Any]\" in function \"calculate_zero_lag\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 34,
- "startLine": 3847
+ "startLine": 3923
},
{
"endCharacter": 42,
- "endLine": 3848,
+ "endLine": 3924,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"Series[Any] | None\" cannot be assigned to parameter \"series\" of type \"Series[Any]\" in function \"calculate_zero_lag\"\n Type \"Series[Any] | None\" is not assignable to type \"Series[Any]\"\n \"None\" is not assignable to \"Series[Any]\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 36,
- "startLine": 3848
+ "startLine": 3924
},
{
"endCharacter": 45,
- "endLine": 3850,
+ "endLine": 3926,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"index\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 40,
- "startLine": 3850
+ "startLine": 3926
},
{
"endCharacter": 33,
- "endLine": 3852,
+ "endLine": 3928,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"iloc\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 29,
- "startLine": 3852
+ "startLine": 3928
},
{
"endCharacter": 31,
- "endLine": 3853,
+ "endLine": 3929,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"iloc\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 27,
- "startLine": 3853
+ "startLine": 3929
},
{
"endCharacter": 48,
- "endLine": 3858,
+ "endLine": 3934,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"index\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 43,
- "startLine": 3858
+ "startLine": 3934
},
{
"endCharacter": 40,
- "endLine": 3859,
+ "endLine": 3935,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"iloc\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 36,
- "startLine": 3859
+ "startLine": 3935
},
{
"endCharacter": 59,
- "endLine": 3861,
+ "endLine": 3937,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Cannot access attribute \"iloc\" for class \"NDArray[Any]\"\n Attribute \"iloc\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 55,
- "startLine": 3861
+ "startLine": 3937
},
{
"endCharacter": 34,
- "endLine": 3863,
+ "endLine": 3939,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Cannot access attribute \"iloc\" for class \"NDArray[Any]\"\n Attribute \"iloc\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 30,
- "startLine": 3863
+ "startLine": 3939
},
{
"endCharacter": 51,
- "endLine": 3863,
+ "endLine": 3939,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"iloc\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 47,
- "startLine": 3863
+ "startLine": 3939
},
{
"endCharacter": 72,
- "endLine": 3863,
+ "endLine": 3939,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Cannot access attribute \"iloc\" for class \"NDArray[Any]\"\n Attribute \"iloc\" is unknown",
"rule": "reportAttributeAccessIssue",
"severity": "error",
"startCharacter": 68,
- "startLine": 3863
+ "startLine": 3939
},
{
"endCharacter": 40,
- "endLine": 3930,
+ "endLine": 4006,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Type \"(Series[Any] | NDArray[floating[Any]], int) -> (Series[Any] | NDArray[floating[Any]])\" is not assignable to declared type \"(series: Unknown, timeperiod: Unknown) -> Series[Any]\"\n Type \"(Series[Any] | NDArray[floating[Any]], int) -> (Series[Any] | NDArray[floating[Any]])\" is not assignable to type \"(series: Unknown, timeperiod: Unknown) -> Series[Any]\"\n Missing keyword parameter \"series\"\n Missing keyword parameter \"timeperiod\"\n Position-only parameter mismatch; parameter \"series\" is not position-only\n Position-only parameter mismatch; parameter \"timeperiod\" is not position-only\n Position-only parameter mismatch; expected 2 but received 0\n Function return type \"Series[Any] | NDArray[floating[Any]]\" is incompatible with type \"Series[Any]\"\n Type \"Series[Any] | NDArray[floating[Any]]\" is not assignable to type \"Series[Any]\"\n ...",
"rule": "reportAssignmentType",
"severity": "error",
"startCharacter": 20,
- "startLine": 3930
+ "startLine": 4006
},
{
"endCharacter": 33,
- "endLine": 3932,
+ "endLine": 4008,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Type \"(Series[Any] | NDArray[floating[Any]], int) -> (Series[Any] | NDArray[floating[Any]])\" is not assignable to declared type \"(series: Unknown, timeperiod: Unknown) -> Series[Any]\"\n Type \"(Series[Any] | NDArray[floating[Any]], int) -> (Series[Any] | NDArray[floating[Any]])\" is not assignable to type \"(series: Unknown, timeperiod: Unknown) -> Series[Any]\"\n Missing keyword parameter \"series\"\n Missing keyword parameter \"timeperiod\"\n Position-only parameter mismatch; parameter \"series\" is not position-only\n Position-only parameter mismatch; parameter \"timeperiod\" is not position-only\n Position-only parameter mismatch; expected 2 but received 0\n Function return type \"Series[Any] | NDArray[floating[Any]]\" is incompatible with type \"Series[Any]\"\n Type \"Series[Any] | NDArray[floating[Any]]\" is not assignable to type \"Series[Any]\"\n ...",
"rule": "reportAssignmentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 3932
+ "startLine": 4008
},
{
"endCharacter": 35,
- "endLine": 3978,
+ "endLine": 4054,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"to_numpy\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 27,
- "startLine": 3978
+ "startLine": 4054
},
{
"endCharacter": 33,
- "endLine": 3979,
+ "endLine": 4055,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"to_numpy\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 25,
- "startLine": 3979
+ "startLine": 4055
},
{
"endCharacter": 37,
- "endLine": 4096,
+ "endLine": 4172,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"to_numpy\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 29,
- "startLine": 4096
+ "startLine": 4172
},
{
"endCharacter": 35,
- "endLine": 4097,
+ "endLine": 4173,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"to_numpy\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 27,
- "startLine": 4097
+ "startLine": 4173
},
{
"endCharacter": 33,
- "endLine": 4098,
+ "endLine": 4174,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"to_numpy\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 25,
- "startLine": 4098
+ "startLine": 4174
},
{
"endCharacter": 39,
- "endLine": 4118,
+ "endLine": 4194,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"to_numpy\" is not a known attribute of \"None\"",
"rule": "reportOptionalMemberAccess",
"severity": "error",
"startCharacter": 31,
- "startLine": 4118
+ "startLine": 4194
},
{
"endCharacter": 92,
- "endLine": 4477,
+ "endLine": 4553,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Type \"bool_ | bool\" is not assignable to return type \"bool\"\n Type \"bool_ | bool\" is not assignable to type \"bool\"\n \"numpy.bool[builtins.bool]\" is not assignable to \"bool\"",
"rule": "reportReturnType",
"severity": "error",
"startCharacter": 15,
- "startLine": 4477
+ "startLine": 4553
},
{
"endCharacter": 85,
- "endLine": 4878,
+ "endLine": 4954,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"XGBoostPruningCallback\" cannot be assigned to parameter \"object\" of type \"RegressorCallback\" in function \"append\"\n Type \"XGBoostPruningCallback\" is not assignable to type \"RegressorCallback\"\n Type \"XGBoostPruningCallback\" is not assignable to type \"(...) -> Any\"\n \"XGBoostPruningCallback\" is not assignable to \"TrainingCallback\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 16,
- "startLine": 4878
+ "startLine": 4954
},
{
"endCharacter": 29,
- "endLine": 4921,
+ "endLine": 4997,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"list[tuple[DataFrame, DataFrame]] | None\" cannot be assigned to parameter \"eval_set\" of type \"List[_LGBM_ScikitValidSet] | None\" in function \"fit\"\n Type \"list[tuple[DataFrame, DataFrame]] | None\" is not assignable to type \"List[_LGBM_ScikitValidSet] | None\"\n Type \"list[tuple[DataFrame, DataFrame]]\" is not assignable to type \"List[_LGBM_ScikitValidSet] | None\"\n \"list[tuple[DataFrame, DataFrame]]\" is not assignable to \"List[_LGBM_ScikitValidSet]\"\n Type parameter \"_T@list\" is invariant, but \"tuple[DataFrame, DataFrame]\" is not the same as \"_LGBM_ScikitValidSet\"\n Consider switching from \"list\" to \"Sequence\" which is covariant\n \"list[tuple[DataFrame, DataFrame]]\" is not assignable to \"None\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 21,
- "startLine": 4921
+ "startLine": 4997
},
{
"endCharacter": 43,
- "endLine": 4922,
+ "endLine": 4998,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"list[NDArray[floating[Any]]] | None\" cannot be assigned to parameter \"eval_sample_weight\" of type \"List[_LGBM_WeightType] | None\" in function \"fit\"\n Type \"list[NDArray[floating[Any]]] | None\" is not assignable to type \"List[_LGBM_WeightType] | None\"\n Type \"list[NDArray[floating[Any]]]\" is not assignable to type \"List[_LGBM_WeightType] | None\"\n \"list[NDArray[floating[Any]]]\" is not assignable to \"List[_LGBM_WeightType]\"\n Type parameter \"_T@list\" is invariant, but \"NDArray[floating[Any]]\" is not the same as \"_LGBM_WeightType\"\n Consider switching from \"list\" to \"Sequence\" which is covariant\n \"list[NDArray[floating[Any]]]\" is not assignable to \"None\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 31,
- "startLine": 4922
+ "startLine": 4998
},
{
"endCharacter": 62,
- "endLine": 4925,
+ "endLine": 5001,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"list[RegressorCallback] | None\" cannot be assigned to parameter \"callbacks\" of type \"List[(...) -> Unknown] | None\" in function \"fit\"\n Type \"list[RegressorCallback] | None\" is not assignable to type \"List[(...) -> Unknown] | None\"\n Type \"list[RegressorCallback]\" is not assignable to type \"List[(...) -> Unknown] | None\"\n \"list[RegressorCallback]\" is not assignable to \"List[(...) -> Unknown]\"\n Type parameter \"_T@list\" is invariant, but \"RegressorCallback\" is not the same as \"(...) -> Unknown\"\n Consider switching from \"list\" to \"Sequence\" which is covariant\n \"list[RegressorCallback]\" is not assignable to \"None\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 22,
- "startLine": 4925
+ "startLine": 5001
},
{
"endCharacter": 35,
- "endLine": 4947,
+ "endLine": 5023,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Object of type \"None\" is not subscriptable",
"rule": "reportOptionalSubscript",
"severity": "error",
"startCharacter": 27,
- "startLine": 4947
+ "startLine": 5023
},
{
"endCharacter": 35,
- "endLine": 4993,
+ "endLine": 5069,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Object of type \"None\" is not subscriptable",
"rule": "reportOptionalSubscript",
"severity": "error",
"startCharacter": 27,
- "startLine": 4993
+ "startLine": 5069
},
{
"endCharacter": 49,
- "endLine": 5063,
+ "endLine": 5139,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Argument of type \"CatBoostPruningCallback\" cannot be assigned to parameter \"object\" of type \"RegressorCallback\" in function \"append\"\n Type \"CatBoostPruningCallback\" is not assignable to type \"RegressorCallback\"\n Type \"CatBoostPruningCallback\" is not assignable to type \"(...) -> Any\"\n \"CatBoostPruningCallback\" is not assignable to \"TrainingCallback\"",
"rule": "reportArgumentType",
"severity": "error",
"startCharacter": 33,
- "startLine": 5063
+ "startLine": 5139
},
{
"endCharacter": 75,
- "endLine": 5306,
+ "endLine": 5382,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Operator \"<=\" not supported for \"None\"",
"rule": "reportOptionalOperand",
"severity": "error",
"startCharacter": 54,
- "startLine": 5306
+ "startLine": 5382
},
{
"endCharacter": 23,
- "endLine": 5469,
+ "endLine": 5545,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"best_params\" is possibly unbound",
"rule": "reportPossiblyUnboundVariable",
"severity": "error",
"startCharacter": 12,
- "startLine": 5469
+ "startLine": 5545
},
{
"endCharacter": 38,
- "endLine": 5476,
+ "endLine": 5552,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"best_params\" is possibly unbound",
"rule": "reportPossiblyUnboundVariable",
"severity": "error",
"startCharacter": 27,
- "startLine": 5476
+ "startLine": 5552
},
{
"endCharacter": 22,
- "endLine": 5488,
+ "endLine": 5564,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "\"best_params\" is possibly unbound",
"rule": "reportPossiblyUnboundVariable",
"severity": "error",
"startCharacter": 11,
- "startLine": 5488
+ "startLine": 5564
},
{
"endCharacter": 22,
- "endLine": 5646,
+ "endLine": 5722,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Declaration \"default_ranges\" is obscured by a declaration of the same name",
"rule": "reportRedeclaration",
"severity": "error",
"startCharacter": 8,
- "startLine": 5646
+ "startLine": 5722
},
{
"endCharacter": 14,
- "endLine": 5682,
+ "endLine": 5758,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Declaration \"params\" is obscured by a declaration of the same name",
"rule": "reportRedeclaration",
"severity": "error",
"startCharacter": 8,
- "startLine": 5682
+ "startLine": 5758
},
{
"endCharacter": 22,
- "endLine": 5766,
+ "endLine": 5842,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Declaration \"default_ranges\" is obscured by a declaration of the same name",
"rule": "reportRedeclaration",
"severity": "error",
"startCharacter": 8,
- "startLine": 5766
+ "startLine": 5842
},
{
"endCharacter": 14,
- "endLine": 5800,
+ "endLine": 5876,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Declaration \"params\" is obscured by a declaration of the same name",
"rule": "reportRedeclaration",
"severity": "error",
"startCharacter": 8,
- "startLine": 5800
+ "startLine": 5876
},
{
"endCharacter": 22,
- "endLine": 5871,
+ "endLine": 5947,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Declaration \"default_ranges\" is obscured by a declaration of the same name",
"rule": "reportRedeclaration",
"severity": "error",
"startCharacter": 8,
- "startLine": 5871
+ "startLine": 5947
},
{
"endCharacter": 22,
- "endLine": 5972,
+ "endLine": 6048,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Declaration \"default_ranges\" is obscured by a declaration of the same name",
"rule": "reportRedeclaration",
"severity": "error",
"startCharacter": 8,
- "startLine": 5972
+ "startLine": 6048
},
{
"endCharacter": 26,
- "endLine": 6055,
+ "endLine": 6131,
"file": "quickadapter/user_data/strategies/Utils.py",
"message": "Declaration \"default_ranges\" is obscured by a declaration of the same name",
"rule": "reportRedeclaration",
"severity": "error",
"startCharacter": 12,
- "startLine": 6055
+ "startLine": 6131
}
],
"filesAnalyzed": 5,
CUSTOM_THRESHOLD_METHODS,
EXTREMA_SELECTION_METHODS,
LABEL_WEIGHT_SUPPORT_POLICIES,
+ NORMALIZATION_TYPES,
PREDICTION_METHODS,
SKIMAGE_THRESHOLD_METHODS,
+ STANDARDIZATION_TYPES,
ExtremaSelectionMethod,
LabelTransformer,
LabelWeightSupportPolicy,
https://github.com/sponsors/robcaulk
"""
- version = "3.13.0-rc.13"
+ version = "3.13.0-rc.14"
_CALIBRATION_START_KEY: Final[str] = "quickadapter_calibration_start"
_DEPLOYMENT_COORDINATE_MARKER_KEY: Final[str] = "quickadapter_deployment_coordinates"
def _causal_mode(self) -> bool:
return get_causal_mode(self.ft_params, logger)
- def _label_horizon_candles(self, pair: str | None = None) -> int:
- if pair is None:
- return get_label_horizon_candles(self.ft_params, logger)
- label_params = self.get_optuna_params(pair, _OPTUNA_NAMESPACES.label)
- return get_label_horizon_candles({**self.ft_params, **label_params}, logger)
+ def _label_horizon_candles(
+ self, pair: str | None = None, *, warning_messages: set[str] | None = None
+ ) -> int:
+ config = self.ft_params
+ if pair is not None:
+ label_params = self.get_optuna_params(pair, _OPTUNA_NAMESPACES.label)
+ config = {**config, **label_params}
+ return get_label_horizon_candles(config, logger, warning_messages=warning_messages)
@property
def _optuna_label_candle_pool_full(self) -> list[int]:
self.regressor: Regressor = self.freqai_info.get("regressor", DEFAULT_REGRESSOR)
if self.regressor not in set(REGRESSORS):
+ logger.warning(
+ "%s, using default %r",
+ enum_error_message("freqai.regressor", self.regressor, REGRESSORS),
+ DEFAULT_REGRESSOR,
+ )
self.regressor = DEFAULT_REGRESSOR
self.freqai_info["regressor"] = self.regressor
self._log_model_configuration()
logger.info(f"Model Version: {self.version}")
logger.info(f"Regressor: {self.regressor}")
+ split_parameters = self.data_split_parameters
+ split_method = split_parameters.get(
+ "method", QuickAdapterRegressorV3.DATA_SPLIT_METHOD_DEFAULT
+ )
+ logger.info("Data Split:")
+ logger.info(f" method: {split_method}")
+ if split_method == QuickAdapterRegressorV3._DATA_SPLIT_TIMESERIES:
+ test_size = split_parameters.get("test_size")
+ logger.info(
+ f" test_size: {format_number(test_size) if test_size is not None else 'dynamic (dataset size and n_splits)'}"
+ )
+ logger.info(
+ f" n_splits: {split_parameters.get('n_splits', QuickAdapterRegressorV3.TIMESERIES_N_SPLITS_DEFAULT)}"
+ )
+ gap = split_parameters.get("gap")
+ if gap is None:
+ gap = QuickAdapterRegressorV3.TIMESERIES_GAP_DEFAULT
+ if gap == 0:
+ gap_source = (
+ "label_horizon_candles" if self._causal_mode else "label_period_candles"
+ )
+ logger.info(
+ f" gap: automatic from per-pair {gap_source} (deferred until training)"
+ )
+ else:
+ logger.info(f" gap: {gap}")
+ logger.info(
+ f" max_train_size: {split_parameters.get('max_train_size', QuickAdapterRegressorV3.TIMESERIES_MAX_TRAIN_SIZE_DEFAULT)}"
+ )
+ else:
+ logger.info(
+ f" test_size: {format_number(split_parameters.get('test_size', QuickAdapterRegressorV3._TEST_SIZE))}"
+ )
+ for key in ("train_size", "random_state", "stratify"):
+ if key in split_parameters:
+ logger.info(f" {key}: {split_parameters[key]}")
+ logger.info(f" validation_size: {format_number(self._get_validation_size())}")
+
+ logger.info("Causality and Ordering:")
+ logger.info(f" causal_mode: {self._causal_mode}")
+ logger.info(f" shuffle: {split_parameters.get('shuffle', False)}")
+ logger.info(f" shuffle_after_split: {self.ft_params.get('shuffle_after_split', False)}")
+ logger.info(
+ f" reverse_train_test_order: {self.ft_params.get('reverse_train_test_order', False)}"
+ )
+
+ logger.info("Training:")
+ logger.info(f" continual_learning: {self.continual_learning}")
+ logger.info("Configured Model Training Overrides:")
+ logger.info(" These overrides are not final fitted, HPO-selected or refit parameters.")
+ logger.info(
+ f" model_training_parameters: {format_dict(self.model_training_parameters, style=_FORMAT_STYLE_DICT)}"
+ )
+
logger.info("Optuna Hyperopt:")
optuna_config = self._optuna_config
logger.info(f" enabled: {optuna_config.get('enabled')}")
+ logger.info(f" active: {bool(self._optuna_hyperopt)}")
+ label_method = self.ft_params.get(
+ "label_method", QuickAdapterRegressorV3.LABEL_METHOD_DEFAULT
+ )
+ label_config = {}
+ formatted_label_weights = None
+ label_p_order = None
+ label_p_order_config = self.ft_params.get("label_p_order")
+ # Preserve the configured-enabled validation boundary even when HPO is inactive.
if optuna_config.get("enabled"):
+ label_config = self._resolve_label_method_config(label_method)
+ label_weights = self.ft_params.get("label_weights")
+ if label_weights is not None:
+ formatted_label_weights = [format_number(w) for w in label_weights]
+ if label_p_order_config is not None:
+ label_p_order = float(label_p_order_config)
+
+ if not self._optuna_hyperopt:
+ if not optuna_config.get("enabled"):
+ inactive_reason = "configuration disabled"
+ elif not self.freqai_info.get("enabled", False):
+ inactive_reason = "FreqAI disabled"
+ else:
+ inactive_reason = "zero validation/holdout size"
+ logger.info(f" inactive_reason: {inactive_reason}")
+ else:
logger.info(f" n_jobs: {optuna_config.get('n_jobs')}")
logger.info(f" sampler: {optuna_config.get('sampler')}")
logger.info(f" storage: {optuna_config.get('storage')}")
logger.info(f" label_sampler: {optuna_config.get('label_sampler')}")
logger.info(f" label_candles_step: {optuna_config.get('label_candles_step')}")
- label_method = self.ft_params.get(
- "label_method", QuickAdapterRegressorV3.LABEL_METHOD_DEFAULT
- )
+
logger.info(f" label_method: {label_method}")
- label_config = self._resolve_label_method_config(label_method)
QuickAdapterRegressorV3._log_label_method_config(label_config)
- label_weights = self.ft_params.get("label_weights")
- if label_weights is not None:
- formatted_label_weights = [format_number(w) for w in label_weights]
+ if formatted_label_weights is not None:
logger.info(f" label_weights: [{', '.join(formatted_label_weights)}]")
else:
logger.info(" label_weights: [1.0, ...] * n_objectives, l1 normalized (default)")
- label_p_order_config = self.ft_params.get("label_p_order")
if label_p_order_config is not None:
- logger.info(f" label_p_order: {format_number(float(label_p_order_config))}")
+ logger.info(f" label_p_order: {format_number(label_p_order)}")
else:
distance_metric = label_config["distance_metric"]
if distance_metric in {
)
logger.info(" Pipeline:")
logger.info(f" standardization: {col_pipeline['standardization']}")
- logger.info(
- f" robust_quantiles: ({format_number(col_pipeline['robust_quantiles'][0])}, {format_number(col_pipeline['robust_quantiles'][1])})"
- )
- logger.info(
- f" mmad_scaling_factor: {format_number(col_pipeline['mmad_scaling_factor'])}"
- )
+ if col_pipeline["standardization"] == STANDARDIZATION_TYPES[2]: # "robust"
+ logger.info(
+ f" robust_quantiles: ({format_number(col_pipeline['robust_quantiles'][0])}, {format_number(col_pipeline['robust_quantiles'][1])})"
+ )
+ elif col_pipeline["standardization"] == STANDARDIZATION_TYPES[3]: # "mmad"
+ logger.info(
+ f" mmad_scaling_factor: {format_number(col_pipeline['mmad_scaling_factor'])}"
+ )
logger.info(f" normalization: {col_pipeline['normalization']}")
- logger.info(
- f" minmax_range: ({format_number(col_pipeline['minmax_range'][0])}, {format_number(col_pipeline['minmax_range'][1])})"
- )
- logger.info(f" sigmoid_scale: {format_number(col_pipeline['sigmoid_scale'])}")
+ if col_pipeline["normalization"] == NORMALIZATION_TYPES[1]: # "minmax"
+ logger.info(
+ f" minmax_range: ({format_number(col_pipeline['minmax_range'][0])}, {format_number(col_pipeline['minmax_range'][1])})"
+ )
+ elif col_pipeline["normalization"] == NORMALIZATION_TYPES[2]: # "sigmoid"
+ logger.info(f" sigmoid_scale: {format_number(col_pipeline['sigmoid_scale'])}")
logger.info(f" gamma: {format_number(col_pipeline['gamma'])}")
col_prediction = get_label_column_config(
)
logger.info(" Prediction:")
logger.info(f" method: {col_prediction['method']}")
- logger.info(f" selection_method: {col_prediction['selection_method']}")
- logger.info(f" threshold_method: {col_prediction['threshold_method']}")
- logger.info(
- f" outlier_quantile: {format_number(col_prediction['outlier_quantile'])}"
- )
- logger.info(
- f" soft_extremum_alpha: {format_number(col_prediction['soft_extremum_alpha'])}"
- )
- logger.info(f" keep_fraction: {format_number(col_prediction['keep_fraction'])}")
+ if col_prediction["method"] == PREDICTION_METHODS[1]: # "thresholding"
+ logger.info(f" selection_method: {col_prediction['selection_method']}")
+ logger.info(f" threshold_method: {col_prediction['threshold_method']}")
+ logger.info(
+ f" outlier_quantile: {format_number(col_prediction['outlier_quantile'])}"
+ )
+ if (
+ col_prediction["threshold_method"] == CUSTOM_THRESHOLD_METHODS[1]
+ ): # "soft_extremum"
+ logger.info(
+ f" soft_extremum_alpha: {format_number(col_prediction['soft_extremum_alpha'])}"
+ )
+ if col_prediction["selection_method"] in EXTREMA_SELECTION_METHODS[:2]:
+ logger.info(
+ f" keep_fraction: {format_number(col_prediction['keep_fraction'])}"
+ )
if col_prediction["method"] == PREDICTION_METHODS[0]: # "none"
logger.warning(
f" Prediction method is 'none' for label [{label_col}]: "
f"entry signals based on them will never trigger."
)
- default_label_period_candles, default_label_natr_multiplier = self._label_defaults
- label_period_candles = self.ft_params.get(
- "label_period_candles", default_label_period_candles
- )
- label_natr_multiplier = float(
- self.ft_params.get("label_natr_multiplier", default_label_natr_multiplier)
- )
- logger.info("Label Hyperparameters:")
+ logger.info("Label Parameters:")
logger.info(f" fit_live_predictions_candles: {self._fit_live_predictions_candles}")
- if self._optuna_hyperopt:
- logger.info(f" label_period_candles: {label_period_candles} (initial value)")
+ horizon_warning_messages: set[str] = set()
+ for pair in self.pairs:
+ params = self.get_optuna_params(pair, _OPTUNA_NAMESPACES.label)
+ horizon = self._label_horizon_candles(pair, warning_messages=horizon_warning_messages)
logger.info(
- f" label_natr_multiplier: {format_number(label_natr_multiplier)} (initial value)"
+ f" {pair}: label_period_candles={params.get('label_period_candles')}, "
+ f"label_natr_multiplier={format_number(params.get('label_natr_multiplier'))}, "
+ f"label_horizon_candles={horizon} (resolved at startup)"
)
- logger.info(f" label_frequency_candles: {self._label_frequency_candles}")
- logger.info(f" min_label_period_candles: {self._min_label_period_candles}")
- logger.info(f" max_label_period_candles: {self._max_label_period_candles}")
- logger.info(
- f" min_label_natr_multiplier: {format_number(self._min_label_natr_multiplier)}"
- )
- logger.info(
- f" max_label_natr_multiplier: {format_number(self._max_label_natr_multiplier)}"
- )
+ label_frequency_candles = self._label_frequency_candles
if self._optuna_hyperopt:
- logger.info("Label Parameters:")
- for pair in self.pairs:
- params = self._optuna_label_params.get(pair, {})
- if params:
- logger.info(
- f" {pair}: label_period_candles={params.get('label_period_candles')}, "
- f"label_natr_multiplier={format_number(params.get('label_natr_multiplier'))}, "
- f"label_horizon_candles={self._label_horizon_candles(pair)}"
- )
- else:
- logger.info("Label Parameters:")
- logger.info(f" label_period_candles: {label_period_candles}")
- logger.info(f" label_natr_multiplier: {format_number(label_natr_multiplier)}")
- logger.info(f" label_horizon_candles: {self._label_horizon_candles()}")
+ logger.info("Label Hyperparameters:")
+ logger.info(f" label_frequency_candles: {label_frequency_candles}")
+ logger.info(f" min_label_period_candles: {self._min_label_period_candles}")
+ logger.info(f" max_label_period_candles: {self._max_label_period_candles}")
+ logger.info(
+ f" min_label_natr_multiplier: {format_number(self._min_label_natr_multiplier)}"
+ )
+ logger.info(
+ f" max_label_natr_multiplier: {format_number(self._max_label_natr_multiplier)}"
+ )
scaler = self.ft_params.get("scaler", QuickAdapterRegressorV3.SCALER_DEFAULT)
feature_range = self.ft_params.get("range", QuickAdapterRegressorV3.RANGE_DEFAULT)
- logger.info("Feature Parameters:")
- logger.info(f" scaler: {scaler}")
- logger.info(
+ # Preserve range resolution independently of whether the selected scaler uses it.
+ formatted_feature_range = (
f" range: ({format_number(feature_range[0])}, {format_number(feature_range[1])})"
)
+ logger.info("Feature Parameters:")
+ logger.info(f" scaler: {scaler}")
+ if scaler == QuickAdapterRegressorV3.SCALER_DEFAULT: # "minmax"
+ logger.info(formatted_feature_range)
logger.info("=" * 60)
from freqtrade.util import FtPrecise
from LabelTransformer import (
COMBINED_AGGREGATIONS,
+ FILL_BANDWIDTHS,
FILL_METHODS,
SMOOTHING_METHOD_MODES,
SMOOTHING_METHODS,
get_ma_fn,
get_reversal_confirmation_config,
get_smoothing_kernel_half_width,
+ get_take_profit_stage_natr_multiplier_fractions,
is_finite_number,
label_known_at_lookahead_column_name,
label_weight_column_name,
_ANNOTATION_LINE_OFFSET_CANDLES: Final[int] = 10
def version(self) -> str:
- return "3.13.0-rc.13"
+ return "3.13.0-rc.14"
timeframe = "5m"
timeframe_minutes = timeframe_to_minutes(timeframe)
position_adjustment_enable = True
- # {stage: (natr_multiplier_fraction, stake_percent, color)}
- partial_exit_stages: ClassVar[dict[int, tuple[float, float, str]]] = {
- 0: (0.4858, 0.4, "lime"),
- 1: (0.6180, 0.3, "yellow"),
- 2: (0.7640, 0.2, "coral"),
+ # {stage: (stake_percent, color)}. The reciprocal-extension fractions are
+ # not literals here: they resolve from the configured
+ # ``exit_pricing.take_profit_stage_natr_multiplier_fraction_series`` ladder,
+ # which is their single source of truth. The final rung stays the literal.
+ partial_exit_stages: ClassVar[dict[int, tuple[float, str]]] = {
+ 0: (0.4, "lime"),
+ 1: (0.3, "yellow"),
+ 2: (0.2, "coral"),
}
# (natr_multiplier_fraction, stake_percent, color)
# Final full-exit stage, derived from the configured partial exits.
_FINAL_EXIT_STAGE: Final[int] = max(partial_exit_stages.keys(), default=-1) + 1
+ # ``get_trade_exit_stage`` derives a stage from the number of filled take-profit
+ # exits, so every stage it can reach must exist here. A gap would price a
+ # missing stage at the final rung instead of arming it.
+ assert sorted(partial_exit_stages) == list(range(len(partial_exit_stages)))
+
_TAKE_PROFIT_ORDER_TAG_PREFIX: Final[str] = "take_profit_"
_FINAL_TAKE_PROFIT_STATE_KEY: Final[str] = "final_take_profit_state"
_FINAL_TAKE_PROFIT_STATE_VERSION: Final[int] = 3
def final_take_profit_retracement_fraction(self) -> float:
return float(self.exit_pricing["final_take_profit_retracement_fraction"])
+ @property
+ def take_profit_stage_natr_multiplier_fraction_series(self) -> str:
+ return str(self.exit_pricing["take_profit_stage_natr_multiplier_fraction_series"])
+
+ @cached_property
+ def partial_exit_stage_natr_multiplier_fractions(self) -> dict[int, float]:
+ """Reciprocal-extension fractions of the full take-profit distance, by stage."""
+ fractions = get_take_profit_stage_natr_multiplier_fractions(
+ self.take_profit_stage_natr_multiplier_fraction_series,
+ len(QuickAdapterV3.partial_exit_stages),
+ )
+ return dict(zip(sorted(QuickAdapterV3.partial_exit_stages), fractions, strict=True))
+
+ def get_exit_stage_natr_multiplier_fraction(self, exit_stage: int) -> float:
+ """Return a partial reciprocal-extension fraction or the final fraction ``1.0``."""
+ fractions = self.partial_exit_stage_natr_multiplier_fractions
+ if exit_stage in fractions:
+ return fractions[exit_stage]
+ return QuickAdapterV3._FINAL_EXIT_STAGE_PARAMS[0]
+
@cached_property
def reversal_confirmation(self) -> dict[str, int | float]:
return get_reversal_confirmation_config(self.config.get("reversal_confirmation"), logger)
self._log_strategy_configuration()
def _log_strategy_configuration(self) -> None:
+ label_weighting = self.label_weighting
+ label_smoothing = self.label_smoothing
+ reversal_confirmation = self.reversal_confirmation
+ trade_natr_method = self.trade_natr_method
+ final_take_profit_retracement_fraction = self.final_take_profit_retracement_fraction
+ fraction_series = self.take_profit_stage_natr_multiplier_fraction_series
+ partial_exit_stage_fractions = self.partial_exit_stage_natr_multiplier_fractions
+ protections = self.protections
+
logger.info("=" * 60)
logger.info("QuickAdapter Strategy Configuration")
logger.info("=" * 60)
- label_weighting = self.label_weighting
- label_smoothing = self.label_smoothing
for label_col in LABEL_COLUMNS:
logger.info(f"Label [{label_col}]:")
)
logger.info(" Weighting:")
logger.info(f" strategy: {col_weighting['strategy']}")
- logger.info(
- f" metric_coefficients: {format_dict(col_weighting['metric_coefficients'], style=_FORMAT_STYLE_DICT)}"
- )
- logger.info(f" aggregation: {col_weighting['aggregation']}")
- if col_weighting["aggregation"] == COMBINED_AGGREGATIONS[5]: # "softmax"
- logger.info(
- f" softmax_temperature: {format_number(col_weighting['softmax_temperature'])}"
- )
- fill_method = col_weighting["fill_method"]
- logger.info(f" fill_method: {fill_method}")
- if fill_method in (
- QuickAdapterV3._FILL_EPSILON,
- QuickAdapterV3._FILL_EPSILON_GAUSSIAN,
- ):
- logger.info(f" fill_epsilon: {format_number(col_weighting['fill_epsilon'])}")
- logger.info(f" fill_epsilon_baseline: {col_weighting['fill_epsilon_baseline']}")
- if fill_method in (
- QuickAdapterV3._FILL_GAUSSIAN,
- QuickAdapterV3._FILL_EPSILON_GAUSSIAN,
- ):
- logger.info(
- f" fill_sigma_candles: {format_number(col_weighting['fill_sigma_candles'])}"
- )
+ if col_weighting["strategy"] != QuickAdapterV3._WEIGHT_NONE:
+ if col_weighting["strategy"] == WEIGHT_STRATEGIES[8]: # "combined"
+ logger.info(
+ f" metric_coefficients: {format_dict(col_weighting['metric_coefficients'], style=_FORMAT_STYLE_DICT)}"
+ )
+ logger.info(f" aggregation: {col_weighting['aggregation']}")
+ if col_weighting["aggregation"] == COMBINED_AGGREGATIONS[5]: # "softmax"
+ logger.info(
+ f" softmax_temperature: {format_number(col_weighting['softmax_temperature'])}"
+ )
+ fill_method = col_weighting["fill_method"]
+ logger.info(f" fill_method: {fill_method}")
+ if fill_method in (
+ QuickAdapterV3._FILL_EPSILON,
+ QuickAdapterV3._FILL_EPSILON_GAUSSIAN,
+ ):
+ logger.info(f" fill_epsilon: {format_number(col_weighting['fill_epsilon'])}")
+ logger.info(
+ f" fill_epsilon_baseline: {col_weighting['fill_epsilon_baseline']}"
+ )
+ if fill_method in (
+ QuickAdapterV3._FILL_GAUSSIAN,
+ QuickAdapterV3._FILL_EPSILON_GAUSSIAN,
+ ):
+ logger.info(
+ f" fill_sigma_candles: {format_number(col_weighting['fill_sigma_candles'])}"
+ )
+ logger.info(f" fill_bandwidth: {col_weighting['fill_bandwidth']}")
+ if col_weighting["fill_bandwidth"] == FILL_BANDWIDTHS[1]: # "knn"
+ logger.info(
+ f" fill_sigma_min_candles: {format_number(col_weighting['fill_sigma_min_candles'])}"
+ )
+ logger.info(
+ f" fill_bandwidth_neighbors: {col_weighting['fill_bandwidth_neighbors']}"
+ )
+ logger.info(
+ f" fill_bandwidth_alpha: {format_number(col_weighting['fill_bandwidth_alpha'])}"
+ )
+ logger.info(f" support_policy: {col_weighting['support_policy']}")
logger.info(
- f" fill_sigma_min_candles: {format_number(col_weighting['fill_sigma_min_candles'])}"
+ f" min_pivot_equivalent_count: {col_weighting['min_pivot_equivalent_count']}"
)
- logger.info(f" fill_bandwidth: {col_weighting['fill_bandwidth']}")
logger.info(
- f" fill_bandwidth_neighbors: {col_weighting['fill_bandwidth_neighbors']}"
+ f" min_positive_label_weight_fraction: {format_number(col_weighting['min_positive_label_weight_fraction'])}"
)
logger.info(
- f" fill_bandwidth_alpha: {format_number(col_weighting['fill_bandwidth_alpha'])}"
+ f" min_effective_sample_size: {format_number(col_weighting['min_effective_sample_size'])}"
)
- logger.info(f" support_policy: {col_weighting['support_policy']}")
- logger.info(
- f" min_pivot_equivalent_count: {col_weighting['min_pivot_equivalent_count']}"
- )
- logger.info(
- f" min_positive_label_weight_fraction: {format_number(col_weighting['min_positive_label_weight_fraction'])}"
- )
- logger.info(
- f" min_effective_sample_size: {format_number(col_weighting['min_effective_sample_size'])}"
- )
col_smoothing = get_label_column_config(
label_col, label_smoothing["default"], label_smoothing["columns"]
)
logger.info(" Smoothing:")
- logger.info(f" method: {col_smoothing['method']}")
- logger.info(f" window_candles: {col_smoothing['window_candles']}")
- logger.info(f" beta: {format_number(col_smoothing['beta'])}")
- logger.info(f" polyorder: {col_smoothing['polyorder']}")
- logger.info(f" mode: {col_smoothing['mode']}")
- logger.info(f" sigma: {format_number(col_smoothing['sigma'])}")
-
method = col_smoothing["method"]
+ logger.info(f" method: {method}")
+ if method != SMOOTHING_METHODS[0]: # "none"
+ logger.info(f" window_candles: {col_smoothing['window_candles']}")
+ if method in SMOOTHING_METHODS[2:4]: # Kaiser families
+ logger.info(f" beta: {format_number(col_smoothing['beta'])}")
+ if method == QuickAdapterV3._SMOOTHING_SAVGOL:
+ logger.info(f" polyorder: {col_smoothing['polyorder']}")
+ if method in SMOOTHING_METHOD_MODES:
+ logger.info(f" mode: {col_smoothing['mode']}")
+ if method == SMOOTHING_METHODS[8]: # "gaussian_filter1d"
+ logger.info(f" sigma: {format_number(col_smoothing['sigma'])}")
+
if col_weighting["strategy"] != QuickAdapterV3._WEIGHT_NONE and (
method == QuickAdapterV3._SMOOTHING_SMM
or (method == QuickAdapterV3._SMOOTHING_SAVGOL and col_smoothing["polyorder"] >= 2)
logger.info("Reversal Confirmation:")
logger.info(
- f" lookback_period_candles: {self.reversal_confirmation['lookback_period_candles']}"
+ f" lookback_period_candles: {reversal_confirmation['lookback_period_candles']}"
)
+ logger.info(f" decay_fraction: {format_number(reversal_confirmation['decay_fraction'])}")
logger.info(
- f" decay_fraction: {format_number(self.reversal_confirmation['decay_fraction'])}"
+ f" min_natr_multiplier_fraction: {format_number(reversal_confirmation['min_natr_multiplier_fraction'])}"
)
logger.info(
- f" min_natr_multiplier_fraction: {format_number(self.reversal_confirmation['min_natr_multiplier_fraction'])}"
- )
- logger.info(
- f" max_natr_multiplier_fraction: {format_number(self.reversal_confirmation['max_natr_multiplier_fraction'])}"
+ f" max_natr_multiplier_fraction: {format_number(reversal_confirmation['max_natr_multiplier_fraction'])}"
)
logger.info("Exit Pricing:")
- logger.info(f" trade_natr_method: {self.trade_natr_method}")
+ logger.info(f" trade_natr_method: {trade_natr_method}")
logger.info(
" final_take_profit_retracement_fraction: "
- f"{format_number(self.final_take_profit_retracement_fraction)}"
+ f"{format_number(final_take_profit_retracement_fraction)}"
)
+ logger.info(f" take_profit_stage_natr_multiplier_fraction_series: {fraction_series}")
logger.info("Custom Stoploss:")
logger.info(
logger.info("Partial Take-Profit Stages:")
for stage, (
- natr_multiplier_fraction,
stake_percent,
color,
) in QuickAdapterV3.partial_exit_stages.items():
logger.info(
- f" stage {stage}: natr_multiplier_fraction={format_number(natr_multiplier_fraction)}, stake_percent={format_number(stake_percent)}, color={color}"
+ f" stage {stage}: natr_multiplier_fraction="
+ f"{format_number(partial_exit_stage_fractions[stage])}, "
+ f"stake_percent={format_number(stake_percent)}, color={color}"
)
+ logger.info("Final Exit:")
logger.info(
- f"Final Exit: natr_multiplier_fraction={format_number(QuickAdapterV3._FINAL_EXIT_STAGE_PARAMS[0])}, stake_percent={format_number(QuickAdapterV3._FINAL_EXIT_STAGE_PARAMS[1])}, color={QuickAdapterV3._FINAL_EXIT_STAGE_PARAMS[2]}"
+ f" natr_multiplier_fraction: {format_number(QuickAdapterV3._FINAL_EXIT_STAGE_PARAMS[0])}"
)
+ logger.info(f" stake_percent: {format_number(QuickAdapterV3._FINAL_EXIT_STAGE_PARAMS[1])}")
+ logger.info(f" color: {QuickAdapterV3._FINAL_EXIT_STAGE_PARAMS[2]}")
logger.info("Protections:")
- if self.protections:
- for protection in self.protections:
+ if protections:
+ for protection in protections:
method = protection.get("method", "Unknown")
protection_params = {k: v for k, v in protection.items() if k != "method"}
logger.info(
def get_take_profit_target(
self, df: DataFrame, trade: Trade, exit_stage: int
) -> tuple[float, float] | None:
- natr_multiplier_fraction = (
- QuickAdapterV3.partial_exit_stages[exit_stage][0]
- if exit_stage in QuickAdapterV3.partial_exit_stages
- else QuickAdapterV3._FINAL_EXIT_STAGE_PARAMS[0]
- )
+ natr_multiplier_fraction = self.get_exit_stage_natr_multiplier_fraction(exit_stage)
take_profit_distance = self.get_take_profit_distance(df, trade, natr_multiplier_fraction)
if not is_finite_number(take_profit_distance) or take_profit_distance <= 0:
return None
),
)
if trade_partial_exit:
- trade_stake_percent = QuickAdapterV3.partial_exit_stages[trade_exit_stage][1]
+ trade_stake_percent = QuickAdapterV3.partial_exit_stages[trade_exit_stage][0]
trade_partial_stake_amount = trade_stake_percent * trade.stake_amount
tag = (
f"{QuickAdapterV3._TAKE_PROFIT_ORDER_TAG_PREFIX}"
"end": end_date,
"y_start": partial_take_profit_price,
"y_end": partial_take_profit_price,
- "color": QuickAdapterV3.partial_exit_stages[take_profit_stage][2],
+ "color": QuickAdapterV3.partial_exit_stages[take_profit_stage][1],
"line_style": "solid",
"width": 1,
"label": f"Partial Take-Profit Stage {take_profit_stage}",