From f9bf29ed5398f8c39ab48f4d4890e0d71fa53534 Mon Sep 17 00:00:00 2001 From: Sean Date: Thu, 1 May 2025 07:24:59 -0400 Subject: [PATCH] Fix Cycle calculation in MGSHBacktest --- MarketData/.vscode/launch.json | 1 + MarketData/MarketDataLib/Generator/MGSHMomentum/MGSHBacktest.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/MarketData/.vscode/launch.json b/MarketData/.vscode/launch.json index 770ef57..1b2f4c7 100755 --- a/MarketData/.vscode/launch.json +++ b/MarketData/.vscode/launch.json @@ -12,6 +12,7 @@ "preLaunchTask": "build", "program": "${workspaceFolder}/MarketData/bin/Debug/net8.0/mk.dll", // "args": ["MGSHRUNBACKTEST","/STARTDATE:03-31-2025","/KEEPSLOTPOSITIONS:TRUE","/STOPLIMITRISKPERCENTDECIMAL:.20","/USESTOPLIMITS:TRUE","/INITIALHEDGECASH:3000","/USEHEDGING:TRUE","/USELOWSLOPEBETACHECK:TRUE","/INCLUDETRADEMASTERFORSYMBOLSHELD:TRUE","/MACDREJECTSTRONGSELLSIGNALS:FALSE","/MACDREJECTWEAKSELLSIGNALS:TRUE","/MAXPOSITIONS:3","/INITIALCASH:10000","/HOLDINGPERIOD:3","/SESSIONFILE:/home/pi/ARM64/MarketData/MarketData/Models/MGSH20250331.TXT"], +// "args": ["MGSHRUNBACKTEST","/STARTDATE:03-31-2025","/ENDDATE:03-31-2025","/KEEPSLOTPOSITIONS:TRUE","/STOPLIMITRISKPERCENTDECIMAL:.20","/USESTOPLIMITS:TRUE","/INITIALHEDGECASH:3000","/USEHEDGING:TRUE","/USELOWSLOPEBETACHECK:TRUE","/INCLUDETRADEMASTERFORSYMBOLSHELD:TRUE","/MACDREJECTSTRONGSELLSIGNALS:FALSE","/MACDREJECTWEAKSELLSIGNALS:TRUE","/MAXPOSITIONS:3","/INITIALCASH:10000","/HOLDINGPERIOD:3","/SESSIONFILE:/home/pi/ARM64/MarketData/MarketData/Models/MGSHCYCLETEST.TXT"], "args": [], "cwd": "${workspaceFolder}/MarketData", "console": "internalConsole", diff --git a/MarketData/MarketDataLib/Generator/MGSHMomentum/MGSHBacktest.cs b/MarketData/MarketDataLib/Generator/MGSHMomentum/MGSHBacktest.cs index f6a37f9..156c844 100755 --- a/MarketData/MarketDataLib/Generator/MGSHMomentum/MGSHBacktest.cs +++ b/MarketData/MarketDataLib/Generator/MGSHMomentum/MGSHBacktest.cs @@ -412,6 +412,7 @@ namespace MarketData.Generator.MGSHMomentum if(TradeDate.Equals(AnalysisDate)) { TradeDate = nextBusinessDay; + Cycle++; // advance the cycle so that the next monthly run calculates the correct slot break; }