From: Jérôme Benoit Date: Sun, 13 Sep 2026 15:03:12 +0000 (+0200) Subject: fix(quickadapter): preserve recorded predictions during history repair X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=9c32ec2644d62ada3110f7895abd2268a2f2d221;p=freqai-strategies.git fix(quickadapter): preserve recorded predictions during history repair --- diff --git a/quickadapter/.basedpyright/diagnostics.json b/quickadapter/.basedpyright/diagnostics.json index 4cf0258..afc8136 100644 --- a/quickadapter/.basedpyright/diagnostics.json +++ b/quickadapter/.basedpyright/diagnostics.json @@ -3,1873 +3,1873 @@ "diagnostics": [ { "endCharacter": 46, - "endLine": 1278, + "endLine": 1320, "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": 1278 + "startLine": 1320 }, { "endCharacter": 79, - "endLine": 2050, + "endLine": 2092, "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": 2050 + "startLine": 2092 }, { "endCharacter": 72, - "endLine": 2052, + "endLine": 2094, "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": 2052 + "startLine": 2094 }, { "endCharacter": 90, - "endLine": 2061, + "endLine": 2103, "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": 2061 + "startLine": 2103 }, { "endCharacter": 34, - "endLine": 2074, + "endLine": 2116, "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": 2074 + "startLine": 2116 }, { "endCharacter": 32, - "endLine": 2075, + "endLine": 2117, "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": 2075 + "startLine": 2117 }, { "endCharacter": 38, - "endLine": 2076, + "endLine": 2118, "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": 2076 + "startLine": 2118 }, { "endCharacter": 59, - "endLine": 2079, + "endLine": 2121, "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": 2079 + "startLine": 2121 }, { "endCharacter": 34, - "endLine": 2096, + "endLine": 2138, "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": 2096 + "startLine": 2138 }, { "endCharacter": 32, - "endLine": 2097, + "endLine": 2139, "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": 2097 + "startLine": 2139 }, { "endCharacter": 38, - "endLine": 2098, + "endLine": 2140, "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": 2098 + "startLine": 2140 }, { "endCharacter": 39, - "endLine": 2099, + "endLine": 2141, "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": 2099 + "startLine": 2141 }, { "endCharacter": 37, - "endLine": 2106, + "endLine": 2148, "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": 2106 + "startLine": 2148 }, { "endCharacter": 35, - "endLine": 2107, + "endLine": 2149, "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": 2107 + "startLine": 2149 }, { "endCharacter": 41, - "endLine": 2108, + "endLine": 2150, "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": 2108 + "startLine": 2150 }, { "endCharacter": 42, - "endLine": 2109, + "endLine": 2151, "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": 2109 + "startLine": 2151 }, { "endCharacter": 30, - "endLine": 2127, + "endLine": 2169, "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": 2127 + "startLine": 2169 }, { "endCharacter": 31, - "endLine": 2128, + "endLine": 2170, "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": 2128 + "startLine": 2170 }, { "endCharacter": 33, - "endLine": 2134, + "endLine": 2176, "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": 2134 + "startLine": 2176 }, { "endCharacter": 34, - "endLine": 2135, + "endLine": 2177, "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": 2135 + "startLine": 2177 }, { "endCharacter": 26, - "endLine": 2142, + "endLine": 2184, "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": 2142 + "startLine": 2184 }, { "endCharacter": 25, - "endLine": 2143, + "endLine": 2185, "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": 2143 + "startLine": 2185 }, { "endCharacter": 24, - "endLine": 2144, + "endLine": 2186, "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": 2144 + "startLine": 2186 }, { "endCharacter": 23, - "endLine": 2145, + "endLine": 2187, "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": 2145 + "startLine": 2187 }, { "endCharacter": 87, - "endLine": 2359, + "endLine": 2401, "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": 2359 + "startLine": 2401 }, { "endCharacter": 68, - "endLine": 2360, + "endLine": 2402, "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": 2360 + "startLine": 2402 }, { "endCharacter": 63, - "endLine": 2371, + "endLine": 2413, "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": 2371 + "startLine": 2413 }, { "endCharacter": 47, - "endLine": 2373, + "endLine": 2415, "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": 2373 + "startLine": 2415 }, { "endCharacter": 47, - "endLine": 2373, + "endLine": 2415, "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": 2373 + "startLine": 2415 }, { "endCharacter": 43, - "endLine": 2374, + "endLine": 2416, "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": 2374 + "startLine": 2416 }, { "endCharacter": 43, - "endLine": 2374, + "endLine": 2416, "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": 2374 + "startLine": 2416 }, { "endCharacter": 31, - "endLine": 2395, + "endLine": 2437, "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": 2395 + "startLine": 2437 }, { "endCharacter": 31, - "endLine": 2395, + "endLine": 2437, "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": 2395 + "startLine": 2437 }, { "endCharacter": 60, - "endLine": 2395, + "endLine": 2437, "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": 2395 + "startLine": 2437 }, { "endCharacter": 60, - "endLine": 2395, + "endLine": 2437, "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": 2395 + "startLine": 2437 }, { "endCharacter": 73, - "endLine": 2407, + "endLine": 2449, "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": 2407 + "startLine": 2449 }, { "endCharacter": 73, - "endLine": 2407, + "endLine": 2449, "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": 2407 + "startLine": 2449 }, { "endCharacter": 83, - "endLine": 2408, + "endLine": 2450, "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": 2408 + "startLine": 2450 }, { "endCharacter": 83, - "endLine": 2408, + "endLine": 2450, "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": 2408 + "startLine": 2450 }, { "endCharacter": 9, - "endLine": 2556, + "endLine": 2598, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Type \"ArrayLike\" is not assignable to declared type \"DataFrame\"\n  Type \"ArrayLike\" is not assignable to type \"DataFrame\"\n    \"Buffer\" is not assignable to \"DataFrame\"", "rule": "reportAssignmentType", "severity": "error", "startCharacter": 45, - "startLine": 2554 + "startLine": 2596 }, { "endCharacter": 9, - "endLine": 2556, + "endLine": 2598, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Type \"ArrayLike\" is not assignable to declared type \"NDArray[floating[Any]]\"\n  Type \"ArrayLike\" is not assignable to type \"NDArray[floating[Any]]\"\n    \"Buffer\" is not assignable to \"ndarray[_AnyShape, dtype[floating[Any]]]\"", "rule": "reportAssignmentType", "severity": "error", "startCharacter": 45, - "startLine": 2554 + "startLine": 2596 }, { "endCharacter": 60, - "endLine": 2566, + "endLine": 2608, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"Buffer\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 57, - "startLine": 2566 + "startLine": 2608 }, { "endCharacter": 60, - "endLine": 2566, + "endLine": 2608, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"_NestedSequence[_SupportsArray[dtype[Any]]]\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 57, - "startLine": 2566 + "startLine": 2608 }, { "endCharacter": 60, - "endLine": 2566, + "endLine": 2608, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"_NestedSequence[complex | bytes | str]\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 57, - "startLine": 2566 + "startLine": 2608 }, { "endCharacter": 60, - "endLine": 2566, + "endLine": 2608, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"_SupportsArray[dtype[Any]]\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 57, - "startLine": 2566 + "startLine": 2608 }, { "endCharacter": 60, - "endLine": 2566, + "endLine": 2608, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"bytes\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 57, - "startLine": 2566 + "startLine": 2608 }, { "endCharacter": 60, - "endLine": 2566, + "endLine": 2608, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"complex\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 57, - "startLine": 2566 + "startLine": 2608 }, { "endCharacter": 60, - "endLine": 2566, + "endLine": 2608, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"str\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 57, - "startLine": 2566 + "startLine": 2608 }, { "endCharacter": 79, - "endLine": 2566, + "endLine": 2608, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "\"base_weight_column\" is possibly unbound", "rule": "reportPossiblyUnboundVariable", "severity": "error", "startCharacter": 61, - "startLine": 2566 + "startLine": 2608 }, { "endCharacter": 61, - "endLine": 2569, + "endLine": 2611, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"Buffer\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 58, - "startLine": 2569 + "startLine": 2611 }, { "endCharacter": 61, - "endLine": 2569, + "endLine": 2611, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"_NestedSequence[_SupportsArray[dtype[Any]]]\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 58, - "startLine": 2569 + "startLine": 2611 }, { "endCharacter": 61, - "endLine": 2569, + "endLine": 2611, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"_NestedSequence[complex | bytes | str]\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 58, - "startLine": 2569 + "startLine": 2611 }, { "endCharacter": 61, - "endLine": 2569, + "endLine": 2611, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"_SupportsArray[dtype[Any]]\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 58, - "startLine": 2569 + "startLine": 2611 }, { "endCharacter": 61, - "endLine": 2569, + "endLine": 2611, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"bytes\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 58, - "startLine": 2569 + "startLine": 2611 }, { "endCharacter": 61, - "endLine": 2569, + "endLine": 2611, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"complex\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 58, - "startLine": 2569 + "startLine": 2611 }, { "endCharacter": 61, - "endLine": 2569, + "endLine": 2611, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"pop\" for class \"str\"\n  Attribute \"pop\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 58, - "startLine": 2569 + "startLine": 2611 }, { "endCharacter": 81, - "endLine": 2569, + "endLine": 2611, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "\"label_weight_column\" is possibly unbound", "rule": "reportPossiblyUnboundVariable", "severity": "error", "startCharacter": 62, - "startLine": 2569 + "startLine": 2611 }, { "endCharacter": 68, - "endLine": 2575, + "endLine": 2617, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"columns\" for class \"Buffer\"\n  Attribute \"columns\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 61, - "startLine": 2575 + "startLine": 2617 }, { "endCharacter": 68, - "endLine": 2575, + "endLine": 2617, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"columns\" for class \"_NestedSequence[_SupportsArray[dtype[Any]]]\"\n  Attribute \"columns\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 61, - "startLine": 2575 + "startLine": 2617 }, { "endCharacter": 68, - "endLine": 2575, + "endLine": 2617, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"columns\" for class \"_NestedSequence[complex | bytes | str]\"\n  Attribute \"columns\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 61, - "startLine": 2575 + "startLine": 2617 }, { "endCharacter": 68, - "endLine": 2575, + "endLine": 2617, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"columns\" for class \"_SupportsArray[dtype[Any]]\"\n  Attribute \"columns\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 61, - "startLine": 2575 + "startLine": 2617 }, { "endCharacter": 68, - "endLine": 2575, + "endLine": 2617, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"columns\" for class \"bytes\"\n  Attribute \"columns\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 61, - "startLine": 2575 + "startLine": 2617 }, { "endCharacter": 68, - "endLine": 2575, + "endLine": 2617, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"columns\" for class \"complex\"\n  Attribute \"columns\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 61, - "startLine": 2575 + "startLine": 2617 }, { "endCharacter": 68, - "endLine": 2575, + "endLine": 2617, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Cannot access attribute \"columns\" for class \"str\"\n  Attribute \"columns\" is unknown", "rule": "reportAttributeAccessIssue", "severity": "error", "startCharacter": 61, - "startLine": 2575 + "startLine": 2617 }, { "endCharacter": 32, - "endLine": 2583, + "endLine": 2625, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Type \"ArrayLike\" is not assignable to declared type \"DataFrame\"\n  Type \"ArrayLike\" is not assignable to type \"DataFrame\"\n    \"Buffer\" is not assignable to \"DataFrame\"", "rule": "reportAssignmentType", "severity": "error", "startCharacter": 17, - "startLine": 2583 + "startLine": 2625 }, { "endCharacter": 62, - "endLine": 2584, + "endLine": 2626, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "Type \"ArrayLike\" is not assignable to declared type \"DataFrame\"\n  Type \"ArrayLike\" is not assignable to type \"DataFrame\"\n    \"Buffer\" is not assignable to \"DataFrame\"", "rule": "reportAssignmentType", "severity": "error", "startCharacter": 23, - "startLine": 2584 + "startLine": 2626 }, { "endCharacter": 46, - "endLine": 2617, + "endLine": 2659, "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": 2617 + "startLine": 2659 }, { "endCharacter": 46, - "endLine": 2617, + "endLine": 2659, "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": 2617 + "startLine": 2659 }, { "endCharacter": 46, - "endLine": 2617, + "endLine": 2659, "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": 2617 + "startLine": 2659 }, { "endCharacter": 46, - "endLine": 2617, + "endLine": 2659, "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": 2617 + "startLine": 2659 }, { "endCharacter": 46, - "endLine": 2617, + "endLine": 2659, "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": 2617 + "startLine": 2659 }, { "endCharacter": 46, - "endLine": 2617, + "endLine": 2659, "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": 2617 + "startLine": 2659 }, { "endCharacter": 46, - "endLine": 2617, + "endLine": 2659, "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": 2617 + "startLine": 2659 }, { "endCharacter": 41, - "endLine": 2624, + "endLine": 2666, "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": 2624 + "startLine": 2666 }, { "endCharacter": 39, - "endLine": 2673, + "endLine": 2715, "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": 2673 + "startLine": 2715 }, { "endCharacter": 19, - "endLine": 2783, + "endLine": 2825, "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": 2783 + "startLine": 2825 }, { "endCharacter": 21, - "endLine": 2894, + "endLine": 2936, "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": 2894 + "startLine": 2936 }, { "endCharacter": 21, - "endLine": 2895, + "endLine": 2937, "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": 2895 + "startLine": 2937 }, { "endCharacter": 33, - "endLine": 2896, + "endLine": 2938, "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": 2896 + "startLine": 2938 }, { "endCharacter": 32, - "endLine": 2897, + "endLine": 2939, "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": 2897 + "startLine": 2939 }, { "endCharacter": 32, - "endLine": 2898, + "endLine": 2940, "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": 2898 + "startLine": 2940 }, { "endCharacter": 38, - "endLine": 2899, + "endLine": 2941, "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": 2899 + "startLine": 2941 }, { "endCharacter": 24, - "endLine": 2920, + "endLine": 2962, "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": 2920 + "startLine": 2962 }, { "endCharacter": 24, - "endLine": 2921, + "endLine": 2963, "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": 2921 + "startLine": 2963 }, { "endCharacter": 30, - "endLine": 2922, + "endLine": 2964, "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": 2922 + "startLine": 2964 }, { "endCharacter": 15, - "endLine": 2928, + "endLine": 2970, "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": 2928 + "startLine": 2970 }, { "endCharacter": 15, - "endLine": 2929, + "endLine": 2971, "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": 2929 + "startLine": 2971 }, { "endCharacter": 39, - "endLine": 2930, + "endLine": 2972, "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": 2930 + "startLine": 2972 }, { "endCharacter": 38, - "endLine": 2940, + "endLine": 2982, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "\"columns\" is not a known attribute of \"None\"", "rule": "reportOptionalMemberAccess", "severity": "error", "startCharacter": 31, - "startLine": 2940 + "startLine": 2982 }, { "endCharacter": 34, - "endLine": 2941, + "endLine": 2983, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "\"index\" is not a known attribute of \"None\"", "rule": "reportOptionalMemberAccess", "severity": "error", "startCharacter": 29, - "startLine": 2941 + "startLine": 2983 }, { "endCharacter": 82, - "endLine": 2943, + "endLine": 2985, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "\"copy\" is not a known attribute of \"None\"", "rule": "reportOptionalMemberAccess", "severity": "error", "startCharacter": 78, - "startLine": 2943 + "startLine": 2985 }, { "endCharacter": 62, - "endLine": 3226, + "endLine": 3268, "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": 3226 + "startLine": 3268 }, { "endCharacter": 68, - "endLine": 3601, + "endLine": 3643, "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": 3597 + "startLine": 3639 }, { "endCharacter": 13, - "endLine": 3639, + "endLine": 3681, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "No overloads for \"cdist\" match the provided arguments", "rule": "reportCallIssue", "severity": "error", "startCharacter": 19, - "startLine": 3634 + "startLine": 3676 }, { "endCharacter": 38, - "endLine": 3637, + "endLine": 3679, "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": 3637 + "startLine": 3679 }, { "endCharacter": 9, - "endLine": 3748, + "endLine": 3790, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "No overloads for \"pdist\" match the provided arguments", "rule": "reportCallIssue", "severity": "error", "startCharacter": 36, - "startLine": 3746 + "startLine": 3788 }, { "endCharacter": 42, - "endLine": 3747, + "endLine": 3789, "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": 3747 + "startLine": 3789 }, { "endCharacter": 9, - "endLine": 3845, + "endLine": 3887, "file": "quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py", "message": "No overloads for \"cdist\" match the provided arguments", "rule": "reportCallIssue", "severity": "error", "startCharacter": 15, - "startLine": 3840 + "startLine": 3882 }, { "endCharacter": 34, - "endLine": 3843, + "endLine": 3885, "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": 3843 + "startLine": 3885 }, { "endCharacter": 55, - "endLine": 220, + "endLine": 217, "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": 220 + "startLine": 217 }, { "endCharacter": 15, - "endLine": 256, + "endLine": 253, "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": 256 + "startLine": 253 }, { "endCharacter": 72, - "endLine": 256, + "endLine": 253, "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": 256 + "startLine": 253 }, { "endCharacter": 64, - "endLine": 268, + "endLine": 265, "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": 268 + "startLine": 265 }, { "endCharacter": 17, - "endLine": 277, + "endLine": 274, "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": 277 + "startLine": 274 }, { "endCharacter": 19, - "endLine": 281, + "endLine": 278, "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": 281 + "startLine": 278 }, { "endCharacter": 19, - "endLine": 325, + "endLine": 322, "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": 325 + "startLine": 322 }, { "endCharacter": 28, - "endLine": 398, + "endLine": 395, "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": 398 + "startLine": 395 }, { "endCharacter": 44, - "endLine": 457, + "endLine": 454, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \"/\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 12, - "startLine": 457 + "startLine": 454 }, { "endCharacter": 38, - "endLine": 710, + "endLine": 707, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "\"to_numpy\" is not a known attribute of \"None\"", "rule": "reportOptionalMemberAccess", "severity": "error", "startCharacter": 30, - "startLine": 710 + "startLine": 707 }, { "endCharacter": 44, - "endLine": 743, + "endLine": 740, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \"-\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 38, - "startLine": 743 + "startLine": 740 }, { "endCharacter": 38, - "endLine": 751, + "endLine": 748, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Object of type \"None\" is not subscriptable", "rule": "reportOptionalSubscript", "severity": "error", "startCharacter": 36, - "startLine": 751 + "startLine": 748 }, { "endCharacter": 39, - "endLine": 752, + "endLine": 749, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Object of type \"None\" is not subscriptable", "rule": "reportOptionalSubscript", "severity": "error", "startCharacter": 37, - "startLine": 752 + "startLine": 749 }, { "endCharacter": 38, - "endLine": 753, + "endLine": 750, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Object of type \"None\" is not subscriptable", "rule": "reportOptionalSubscript", "severity": "error", "startCharacter": 36, - "startLine": 753 + "startLine": 750 }, { "endCharacter": 44, - "endLine": 776, + "endLine": 773, "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": 776 + "startLine": 773 }, { "endCharacter": 66, - "endLine": 776, + "endLine": 773, "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": 776 + "startLine": 773 }, { "endCharacter": 72, - "endLine": 776, + "endLine": 773, "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": 776 + "startLine": 773 }, { "endCharacter": 56, - "endLine": 780, + "endLine": 777, "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": 780 + "startLine": 777 }, { "endCharacter": 58, - "endLine": 781, + "endLine": 778, "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": 781 + "startLine": 778 }, { "endCharacter": 57, - "endLine": 782, + "endLine": 779, "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": 782 + "startLine": 779 }, { "endCharacter": 44, - "endLine": 785, + "endLine": 782, "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": 785 + "startLine": 782 }, { "endCharacter": 44, - "endLine": 786, + "endLine": 783, "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": 786 + "startLine": 783 }, { "endCharacter": 44, - "endLine": 787, + "endLine": 784, "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": 787 + "startLine": 784 }, { "endCharacter": 61, - "endLine": 788, + "endLine": 785, "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": 788 + "startLine": 785 }, { "endCharacter": 61, - "endLine": 789, + "endLine": 786, "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": 789 + "startLine": 786 }, { "endCharacter": 61, - "endLine": 790, + "endLine": 787, "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": 790 + "startLine": 787 }, { "endCharacter": 81, - "endLine": 798, + "endLine": 795, "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": 798 + "startLine": 795 }, { "endCharacter": 67, - "endLine": 811, + "endLine": 808, "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": 811 + "startLine": 808 }, { "endCharacter": 68, - "endLine": 812, + "endLine": 809, "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": 812 + "startLine": 809 }, { "endCharacter": 67, - "endLine": 813, + "endLine": 810, "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": 813 + "startLine": 810 }, { "endCharacter": 44, - "endLine": 814, + "endLine": 811, "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": 814 + "startLine": 811 }, { "endCharacter": 56, - "endLine": 815, + "endLine": 812, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "No overloads for \"__call__\" match the provided arguments", "rule": "reportCallIssue", "severity": "error", "startCharacter": 31, - "startLine": 815 + "startLine": 812 }, { "endCharacter": 47, - "endLine": 815, + "endLine": 812, "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": 815 + "startLine": 812 }, { "endCharacter": 55, - "endLine": 815, + "endLine": 812, "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": 815 + "startLine": 812 }, { "endCharacter": 64, - "endLine": 816, + "endLine": 813, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "No overloads for \"__call__\" match the provided arguments", "rule": "reportCallIssue", "severity": "error", "startCharacter": 39, - "startLine": 816 + "startLine": 813 }, { "endCharacter": 55, - "endLine": 816, + "endLine": 813, "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": 816 + "startLine": 813 }, { "endCharacter": 63, - "endLine": 816, + "endLine": 813, "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": 816 + "startLine": 813 }, { "endCharacter": 55, - "endLine": 824, + "endLine": 821, "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": 824 + "startLine": 821 }, { "endCharacter": 55, - "endLine": 825, + "endLine": 822, "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": 825 + "startLine": 822 }, { "endCharacter": 55, - "endLine": 826, + "endLine": 823, "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": 826 + "startLine": 823 }, { "endCharacter": 55, - "endLine": 827, + "endLine": 824, "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": 827 + "startLine": 824 }, { "endCharacter": 55, - "endLine": 828, + "endLine": 825, "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": 828 + "startLine": 825 }, { "endCharacter": 55, - "endLine": 829, + "endLine": 826, "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": 829 + "startLine": 826 }, { "endCharacter": 50, - "endLine": 858, + "endLine": 855, "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": 858 + "startLine": 855 }, { "endCharacter": 50, - "endLine": 858, + "endLine": 855, "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": 858 + "startLine": 855 }, { "endCharacter": 29, - "endLine": 859, + "endLine": 856, "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": 859 + "startLine": 856 }, { "endCharacter": 29, - "endLine": 859, + "endLine": 856, "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": 859 + "startLine": 856 }, { "endCharacter": 60, - "endLine": 896, + "endLine": 893, "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": 896 + "startLine": 893 }, { "endCharacter": 60, - "endLine": 896, + "endLine": 893, "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": 896 + "startLine": 893 }, { "endCharacter": 35, - "endLine": 897, + "endLine": 894, "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": 897 + "startLine": 894 }, { "endCharacter": 35, - "endLine": 897, + "endLine": 894, "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": 897 + "startLine": 894 }, { "endCharacter": 41, - "endLine": 1119, + "endLine": 1116, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \"<\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 12, - "startLine": 1119 + "startLine": 1116 }, { "endCharacter": 41, - "endLine": 1129, + "endLine": 1126, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \">\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 12, - "startLine": 1129 + "startLine": 1126 }, { "endCharacter": 66, - "endLine": 1142, + "endLine": 1139, "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": 1142 + "startLine": 1139 }, { "endCharacter": 73, - "endLine": 1273, + "endLine": 1270, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Expected 1 more positional argument", "rule": "reportCallIssue", "severity": "error", "startCharacter": 51, - "startLine": 1273 + "startLine": 1270 }, { "endCharacter": 74, - "endLine": 1337, + "endLine": 1334, "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": 1337 + "startLine": 1334 }, { "endCharacter": 74, - "endLine": 1364, + "endLine": 1361, "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": 1364 + "startLine": 1361 }, { "endCharacter": 96, - "endLine": 1412, + "endLine": 1409, "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": 1412 + "startLine": 1409 }, { "endCharacter": 77, - "endLine": 1446, + "endLine": 1443, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \"<=\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 57, - "startLine": 1446 + "startLine": 1443 }, { "endCharacter": 9, - "endLine": 1451, + "endLine": 1448, "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": 1449 + "startLine": 1446 }, { "endCharacter": 33, - "endLine": 1450, + "endLine": 1447, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \"-\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 13, - "startLine": 1450 + "startLine": 1447 }, { "endCharacter": 67, - "endLine": 1456, + "endLine": 1453, "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": 1456 + "startLine": 1453 }, { "endCharacter": 67, - "endLine": 1456, + "endLine": 1453, "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": 1456 + "startLine": 1453 }, { "endCharacter": 64, - "endLine": 1610, + "endLine": 1607, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "\"isoformat\" is not a known attribute of \"None\"", "rule": "reportOptionalMemberAccess", "severity": "error", "startCharacter": 55, - "startLine": 1610 + "startLine": 1607 }, { "endCharacter": 37, - "endLine": 1661, + "endLine": 1658, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \"<=\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 15, - "startLine": 1661 + "startLine": 1658 }, { "endCharacter": 48, - "endLine": 1663, + "endLine": 1660, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \"<=\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 15, - "startLine": 1663 + "startLine": 1660 }, { "endCharacter": 96, - "endLine": 1843, + "endLine": 1840, "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": 1843 + "startLine": 1840 }, { "endCharacter": 39, - "endLine": 1909, + "endLine": 1906, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \"+\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 21, - "startLine": 1909 + "startLine": 1906 }, { "endCharacter": 90, - "endLine": 1909, + "endLine": 1906, "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": 1909 + "startLine": 1906 }, { "endCharacter": 96, - "endLine": 2208, + "endLine": 2205, "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": 2208 + "startLine": 2205 }, { "endCharacter": 85, - "endLine": 2233, + "endLine": 2230, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "\"isoformat\" is not a known attribute of \"None\"", "rule": "reportOptionalMemberAccess", "severity": "error", "startCharacter": 76, - "startLine": 2233 + "startLine": 2230 }, { "endCharacter": 47, - "endLine": 2239, + "endLine": 2236, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \"<\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 16, - "startLine": 2239 + "startLine": 2236 }, { "endCharacter": 42, - "endLine": 2243, + "endLine": 2240, "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": 2243 + "startLine": 2240 }, { "endCharacter": 42, - "endLine": 2244, + "endLine": 2241, "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": 2244 + "startLine": 2241 }, { "endCharacter": 69, - "endLine": 2246, + "endLine": 2243, "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": 2246 + "startLine": 2243 }, { "endCharacter": 47, - "endLine": 2257, + "endLine": 2254, "file": "quickadapter/user_data/strategies/QuickAdapterV3.py", "message": "Operator \">\" not supported for \"None\"", "rule": "reportOptionalOperand", "severity": "error", "startCharacter": 16, - "startLine": 2257 + "startLine": 2254 }, { "endCharacter": 43, - "endLine": 2261, + "endLine": 2258, "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": 2261 + "startLine": 2258 }, { "endCharacter": 42, - "endLine": 2262, + "endLine": 2259, "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": 2262 + "startLine": 2259 }, { "endCharacter": 69, - "endLine": 2264, + "endLine": 2261, "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": 2264 + "startLine": 2261 }, { "endCharacter": 52, - "endLine": 2293, + "endLine": 2290, "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": 2293 + "startLine": 2290 }, { "endCharacter": 96, - "endLine": 2413, + "endLine": 2410, "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": 2413 + "startLine": 2410 }, { "endCharacter": 43, - "endLine": 2422, + "endLine": 2419, "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": 2422 + "startLine": 2419 }, { "endCharacter": 69, - "endLine": 2424, + "endLine": 2421, "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": 2424 + "startLine": 2421 }, { "endCharacter": 32, - "endLine": 2500, + "endLine": 2497, "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": 2500 + "startLine": 2497 }, { "endCharacter": 72, - "endLine": 2503, + "endLine": 2500, "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": 2503 + "startLine": 2500 }, { "endCharacter": 36, - "endLine": 2510, + "endLine": 2507, "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": 2510 + "startLine": 2507 }, { "endCharacter": 71, - "endLine": 2541, + "endLine": 2538, "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": 2541 + "startLine": 2538 }, { "endCharacter": 32, - "endLine": 2572, + "endLine": 2569, "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": 2572 + "startLine": 2569 }, { "endCharacter": 34, diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index c3d2baf..b94939b 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -8,7 +8,8 @@ from collections.abc import Callable from collections.abc import Set as AbstractSet from dataclasses import dataclass from datetime import datetime, timezone -from functools import cached_property +from functools import cached_property, wraps +from inspect import iscoroutinefunction, unwrap from pathlib import Path from typing import ( Any, @@ -116,60 +117,85 @@ _DATE_PRED_DEDUP_SENTINEL = "_quickadapter_date_pred_dedup_patched" def _dedupe_historic_predictions_on_date_pred(frame: pd.DataFrame) -> pd.DataFrame: - """Return ``frame`` with a unique, chronologically ordered ``date_pred``, - keeping the most informative row per timestamp (a real prediction outranks a - zero/NaN placeholder). ``NaT`` ``date_pred`` rows are dropped: they match no - candle, and two or more of them break the ``validate="m:1"`` merge in - ``attach_return_values_to_return_dataframe`` (data_drawer.py:429-431) since - pandas treats repeated null keys as non-unique. + """Normalize dates and retain the latest recorded row per candle, in date order. + + Freqtrade fills downtime rows with zeros/NaNs, without a candle close or a + prediction status. Those rows must not replace recorded predictions, including + zero predictions and rejected predictions (do_predict == 0 with a candle close). + Indistinguishable legacy rows use last-write-wins; label magnitudes never rank rows. + Invalid dates cannot match a candle and are discarded. """ date_pred = pd.to_datetime(frame["date_pred"], utc=True, errors="coerce") valid = date_pred.notna() - if valid.all() and not date_pred[valid].duplicated().any(): - return frame - work = frame.reset_index(drop=True) - content = [column for column in work.columns if column not in ("date_pred", "date")] - block = work[content] - numeric = block.apply(pd.to_numeric, errors="coerce") - is_numeric = numeric.notna() - informative = (block.notna() & is_numeric & numeric.ne(0)) | (block.notna() & ~is_numeric) - work = work.assign( - _dp=date_pred.to_numpy(), - _score=informative.sum(axis=1).to_numpy(), - _nonnull=block.notna().sum(axis=1).to_numpy(), - _order=work.index.to_numpy(), + if valid.all() and date_pred.is_monotonic_increasing and date_pred.is_unique: + if date_pred.dtype == frame["date_pred"].dtype: + return frame + result = frame.copy() + result["date_pred"] = date_pred + return result + + recorded = np.zeros(len(frame), dtype=bool) + if "close_price" in frame: + close = pd.to_numeric(frame["close_price"], errors="coerce") + recorded |= (close.gt(0) & close.lt(np.inf)).fillna(False).to_numpy(dtype=bool) + if "do_predict" in frame: + status = pd.to_numeric(frame["do_predict"], errors="coerce") + recorded |= (status.notna() & status.ne(0)).to_numpy(dtype=bool) + # Rank only metadata, without copying or coercing all prediction columns. + order = pd.DataFrame( + {"date_pred": date_pred.array, "recorded": recorded, "position": np.arange(len(frame))} ) - contested = work[valid.to_numpy()].sort_values( - ["_dp", "_score", "_nonnull", "_order"], kind="stable" + kept = ( + order.loc[valid.to_numpy()] + .sort_values(["date_pred", "recorded", "position"]) + .drop_duplicates("date_pred", keep="last") ) - kept = contested.drop_duplicates("_dp", keep="last") - return kept.drop(columns=["_dp", "_score", "_nonnull", "_order"]).reset_index(drop=True) + result = frame.iloc[kept.index].copy() + result["date_pred"] = date_pred.iloc[kept.index].array + return result.reset_index(drop=True) def _install_date_pred_dedup_patch() -> None: - """Keep ``FreqaiDataDrawer``'s per-pair prediction store free of duplicate - ``date_pred`` rows, which freqtrade 2026.7 does not deduplicate and its - ``validate="m:1"`` merge (data_drawer.py:429-431) then rejects with a - ``MergeError``. Duplicates persist across a crash or are re-created by the - positional trim in ``set_initial_return_values`` (data_drawer.py:319-321). - - Re-verify the three wrapped signatures against ``data_drawer.py`` on every - freqtrade bump. + """Repair persisted history and duplicates produced by older Freqtrade writers. + + Normalize before upstream positional writes and after legacy duplicate writes. + Already-clean upstream results are preserved. Recheck the three synchronous + method contracts on Freqtrade upgrades. """ - if getattr(FreqaiDataDrawer, _DATE_PRED_DEDUP_SENTINEL, False): + originals = ( + FreqaiDataDrawer.set_initial_return_values, + FreqaiDataDrawer.append_model_predictions, + FreqaiDataDrawer.attach_return_values_to_return_dataframe, + ) + pending = [] + for original in originals: + current = unwrap( + original, stop=lambda method: bool(getattr(method, _DATE_PRED_DEDUP_SENTINEL, False)) + ) + pending.append(not getattr(current, _DATE_PRED_DEDUP_SENTINEL, False)) + if iscoroutinefunction(current): + raise RuntimeError("QuickAdapter prediction repair requires synchronous drawer methods") + if not any(pending): return - original_set_initial = FreqaiDataDrawer.set_initial_return_values - original_append = FreqaiDataDrawer.append_model_predictions - original_attach = FreqaiDataDrawer.attach_return_values_to_return_dataframe + original_set_initial, original_append, original_attach = originals + @wraps(original_set_initial) def set_initial_return_values( self, pair: str, pred_df: pd.DataFrame, dataframe: pd.DataFrame ) -> None: + self.historic_predictions[pair] = _dedupe_historic_predictions_on_date_pred( + self.historic_predictions[pair] + ) original_set_initial(self, pair, pred_df, dataframe) - frame = _dedupe_historic_predictions_on_date_pred(self.historic_predictions[pair]) - self.historic_predictions[pair] = frame - self.model_return_values[pair] = frame.tail(len(dataframe.index)).reset_index(drop=True) + history = self.historic_predictions[pair] + repaired = _dedupe_historic_predictions_on_date_pred(history) + if repaired is not history: + self.historic_predictions[pair] = repaired + self.model_return_values[pair] = repaired.tail(len(dataframe.index)).reset_index( + drop=True + ) + @wraps(original_append) def append_model_predictions( self, pair: str, @@ -178,11 +204,19 @@ def _install_date_pred_dedup_patch() -> None: dk: FreqaiDataKitchen, strat_df: pd.DataFrame, ) -> None: + self.historic_predictions[pair] = _dedupe_historic_predictions_on_date_pred( + self.historic_predictions[pair] + ) original_append(self, pair, predictions, do_preds, dk, strat_df) - frame = _dedupe_historic_predictions_on_date_pred(self.historic_predictions[pair]) - self.historic_predictions[pair] = frame - self.model_return_values[pair] = frame.tail(len(strat_df.index)).reset_index(drop=True) + history = self.historic_predictions[pair] + repaired = _dedupe_historic_predictions_on_date_pred(history) + if repaired is not history: + self.historic_predictions[pair] = repaired + self.model_return_values[pair] = repaired.tail(len(strat_df.index)).reset_index( + drop=True + ) + @wraps(original_attach) def attach_return_values_to_return_dataframe( self, pair: str, dataframe: pd.DataFrame ) -> pd.DataFrame: @@ -191,12 +225,20 @@ def _install_date_pred_dedup_patch() -> None: ) return original_attach(self, pair, dataframe) - FreqaiDataDrawer.set_initial_return_values = set_initial_return_values - FreqaiDataDrawer.append_model_predictions = append_model_predictions - FreqaiDataDrawer.attach_return_values_to_return_dataframe = ( - attach_return_values_to_return_dataframe + replacements = ( + set_initial_return_values, + append_model_predictions, + attach_return_values_to_return_dataframe, + ) + names = ( + "set_initial_return_values", + "append_model_predictions", + "attach_return_values_to_return_dataframe", ) - setattr(FreqaiDataDrawer, _DATE_PRED_DEDUP_SENTINEL, True) + for name, replacement, needed in zip(names, replacements, pending, strict=True): + if needed: + setattr(replacement, _DATE_PRED_DEDUP_SENTINEL, True) + setattr(FreqaiDataDrawer, name, replacement) _install_date_pred_dedup_patch() diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 78db623..96e3f21 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -123,22 +123,19 @@ def _install_rpc_custom_data_cleanup_patch() -> None: Recheck RPC and request-context contracts on Freqtrade upgrades. Removal is harmless after upstream cleanup; a shared Trade session remains API-owned. """ - from inspect import iscoroutinefunction + from inspect import iscoroutinefunction, unwrap from freqtrade.persistence.custom_data import _CustomData from freqtrade.persistence.models import _request_id_ctx_var from freqtrade.rpc.rpc import RPC original = RPC._rpc_analysed_dataframe - current = original - while True: - if getattr(current, _RPC_CUSTOM_DATA_SENTINEL, False): - return - wrapped = getattr(current, "__wrapped__", None) - if wrapped is None: - break - current = wrapped - if iscoroutinefunction(original): + current = unwrap( + original, stop=lambda method: bool(getattr(method, _RPC_CUSTOM_DATA_SENTINEL, False)) + ) + if getattr(current, _RPC_CUSTOM_DATA_SENTINEL, False): + return + if iscoroutinefunction(current): raise RuntimeError("QuickAdapter RPC cleanup requires a synchronous annotation RPC") @wraps(original)