Skip to content

Refactoring to support live trading and research - #59

Merged
mccaffers merged 1 commit into
mainfrom
58-live-ig-execution-experimentsanalysis-subsystem-rolling-window-queue-ladder-new-strategies-and-docs-overhaul
Aug 5, 2026
Merged

Refactoring to support live trading and research#59
mccaffers merged 1 commit into
mainfrom
58-live-ig-execution-experimentsanalysis-subsystem-rolling-window-queue-ladder-new-strategies-and-docs-overhaul

Refactoring to support live trading and research

1defaa6
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Aug 4, 2026 in 7m 16s

Quality Gate failed

Failed conditions
31.3% Coverage on New Code (required ≥ 80%)
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check failure on line 58 in source/shared/tradingDefinitions/variables/strategyVariables.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 27 to the 25 allowed.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDmxniDbFjbOGenhz&open=AZ_MDmxniDbFjbOGenhz&pullRequest=59

Check failure on line 172 in source/shared/redis/positionClustering.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this "std::function" with a template parameter.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm1IiDbFjbOGeniA&open=AZ_MDm1IiDbFjbOGeniA&pullRequest=59

Check warning on line 482 in source/shared/redis/positionManager.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Avoid explicitly specifying the template arguments by relying on the class template argument deduction.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm1iiDbFjbOGeniw&open=AZ_MDm1iiDbFjbOGeniw&pullRequest=59

Check warning on line 338 in source/shared/redis/positionManager.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Avoid explicitly specifying the template arguments by relying on the class template argument deduction.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm1hiDbFjbOGenim&open=AZ_MDm1hiDbFjbOGenim&pullRequest=59

Check warning on line 153 in source/analysis/queue/drainExperiments.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested try block into a separate method.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm5TiDbFjbOGenkm&open=AZ_MDm5TiDbFjbOGenkm&pullRequest=59

Check warning on line 721 in source/run/reporting/elasticPublisher.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use std::format instead of concatenating pieces manually.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm35iDbFjbOGenkH&open=AZ_MDm35iDbFjbOGenkH&pullRequest=59

Check warning on line 45 in source/analysis/reporting/experimentResults.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use the transparent comparator "std::less<>" with this associative string container.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm5EiDbFjbOGenkc&open=AZ_MDm5EiDbFjbOGenkc&pullRequest=59

Check warning on line 516 in source/run/reporting/elasticPublisher.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "std::thread" with "std::jthread".

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm35iDbFjbOGenkB&open=AZ_MDm35iDbFjbOGenkB&pullRequest=59

Check warning on line 29 in source/run/reporting/outcomeIndices.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use "std::string" instead of a C-style char array.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm4YiDbFjbOGenkU&open=AZ_MDm4YiDbFjbOGenkU&pullRequest=59

Check failure on line 249 in source/shared/redis/positionManager.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use has_value() or another member function to clarify that the code tests the presence of a value in the "optional", not the contained "bool" value itself.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm1hiDbFjbOGenig&open=AZ_MDm1hiDbFjbOGenig&pullRequest=59

Check warning on line 138 in source/shared/ig/igRestClient.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this range for-loop by "std::ranges::any_of".

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm2hiDbFjbOGenjS&open=AZ_MDm2hiDbFjbOGenjS&pullRequest=59

Check warning on line 28 in source/run/reporting/tradeDocument.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use "std::string" instead of a C-style char array.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm4RiDbFjbOGenkS&open=AZ_MDm4RiDbFjbOGenkS&pullRequest=59

Check failure on line 358 in source/shared/redis/positionClustering.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this code to not nest more than 3 if|for|do|while|switch statements.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm1IiDbFjbOGeniG&open=AZ_MDm1IiDbFjbOGeniG&pullRequest=59

Check warning on line 30 in source/run/reporting/outcomeIndices.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "strftime" with equivalent code using "std::chrono".

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm4YiDbFjbOGenkT&open=AZ_MDm4YiDbFjbOGenkT&pullRequest=59

Check warning on line 471 in source/run/reporting/elasticPublisher.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "std::lock_guard" with "std::scoped_lock"

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm35iDbFjbOGenj9&open=AZ_MDm35iDbFjbOGenj9&pullRequest=59

Check warning on line 780 in source/run/reporting/elasticPublisher.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Fill this compound statement, remove it, or add a nested comment explaining why it is empty.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm35iDbFjbOGenkM&open=AZ_MDm35iDbFjbOGenkM&pullRequest=59

Check warning on line 93 in source/shared/redis/tradeLocks.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "std::lock_guard" with "std::scoped_lock"

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm0uiDbFjbOGenh6&open=AZ_MDm0uiDbFjbOGenh6&pullRequest=59

Check warning on line 121 in source/shared/redis/tradeLocks.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "std::lock_guard" with "std::scoped_lock"

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm0uiDbFjbOGenh9&open=AZ_MDm0uiDbFjbOGenh9&pullRequest=59

Check warning on line 121 in source/shared/redis/tradeLocks.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Avoid explicitly specifying the template arguments by relying on the class template argument deduction.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm0uiDbFjbOGenh8&open=AZ_MDm0uiDbFjbOGenh8&pullRequest=59

Check warning on line 404 in source/shared/redis/positionManager.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Avoid explicitly specifying the template arguments by relying on the class template argument deduction.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm1hiDbFjbOGeniq&open=AZ_MDm1hiDbFjbOGeniq&pullRequest=59

Check warning on line 82 in source/analysis/reporting/experimentResults.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

implicit conversion from 'const std::uint64_t' (aka 'const unsigned long') to 'double' may lose precision

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm5EiDbFjbOGenka&open=AZ_MDm5EiDbFjbOGenka&pullRequest=59

Check warning on line 307 in source/shared/redis/positionClustering.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "std::lock_guard" with "std::scoped_lock"

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm1IiDbFjbOGeniF&open=AZ_MDm1IiDbFjbOGeniF&pullRequest=59

Check warning on line 498 in source/shared/redis/positionManager.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "std::lock_guard" with "std::scoped_lock"

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm1iiDbFjbOGeniz&open=AZ_MDm1iiDbFjbOGeniz&pullRequest=59

Check failure on line 453 in source/shared/redis/positionManager.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use has_value() or another member function to clarify that the code tests the presence of a value in the "optional", not the contained "bool" value itself.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm1hiDbFjbOGenit&open=AZ_MDm1hiDbFjbOGenit&pullRequest=59

Check warning on line 95 in source/shared/aws/dynamoAuth.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the redundant return type of this lambda.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ_MDm2ZiDbFjbOGenjO&open=AZ_MDm2ZiDbFjbOGenjO&pullRequest=59