Add the CMMomentum model

This commit is contained in:
2025-04-24 16:51:09 -04:00
parent ddff565458
commit 51a207d690
15 changed files with 2438 additions and 3 deletions

View File

@@ -9,6 +9,7 @@ using MarketData.Helper;
using MarketData.Integration;
using MarketData.Cache;
using MarketData.Generator;
using MarketData.ModelHelper;
namespace MarketData.Services
{
@@ -43,6 +44,10 @@ namespace MarketData.Services
MDTrace.WriteLine(LogLevel.DEBUG,"MGSHRUNDAILY /SESSIONFILE: /TRADEDATE:");
MDTrace.WriteLine(LogLevel.DEBUG,"RUNCMTREND /MODE:DAILY|BACKTEST|RUNTRENDTEMPLATE|ENTRYTEST /SYMBOL:{for mode ANALYZE,ENTRYTEST} /TRADEDATE:{for mode DAILY,RUNTRENDTEMPLATE) /STARTDATE:(for mode BACKTEST,ENTRYTEST) /ENDDATE:(for mode BACKTEST) /INITIALCASH: /SESSIONFILE: /MAXOPENPOSITIONS: /MAXDAILYPOSITIONS: Runs Mark Minervini trend");
MDTrace.WriteLine(LogLevel.DEBUG,"CMTSESSION /SESSIONFILE:{pathfilename} Runs Mark Minervini trend display session");
MDTrace.WriteLine(LogLevel.DEBUG, "RUNCMBACKTEST /STARTDATE: /MAXPOSITIONS: /INITIALCASH: /HOLDINGPERIOD: /{USEBINBASEDPOSITIONSIZING}: /{USEBINBASEDPOSITIONSIZINGNUMBINS}: /{TARGETBETA}: /{ENDDATE}: /SESSIONFILE: /{USECNN}: /{USECNNHOST}: /{USECNNDAYCOUNT}:");
MDTrace.WriteLine(LogLevel.DEBUG, "CMSESSION /SESSIONFILE:");
MDTrace.WriteLine(LogLevel.DEBUG, "CMCANDIDATELASTRESORT /TRADEDATE:");
MDTrace.WriteLine(LogLevel.DEBUG, @"CMGAINLOSS /SESSIONFILE:{PATHSESSIONFILE} (i.e.) CMGAINLOSS /SESSIONFILE:C:\boneyard\marketdata\bin\Debug\saferun\CM20191031.txt");
MDTrace.WriteLine(LogLevel.DEBUG,"ECHO {param1} {param2} {param(n)");
}
@@ -77,6 +82,10 @@ namespace MarketData.Services
tasks.Add("MGSHRUNDAILY",TaskMGSHRunDaily);
tasks.Add("RUNCMTREND",TaskRunCMTrend);
tasks.Add("CMTSESSION",TaskCMTSession);
tasks.Add("RUNCMBACKTEST",TaskCMMRunCMBacktest);
tasks.Add("CMSESSION",TaskCMMRunCMSession);
tasks.Add("CMCANDIDATELASTRESORT",TaskCMMRunCMCandidateLastResort);
tasks.Add("CMGAINLOSS",TaskCMMRunCMGainLoss);
tasks.Add("ECHO",TaskEcho);
GlobalConfig.Instance.Configuration = configuration; // This call sets up configuration stuff so it needs to be first.
@@ -319,7 +328,32 @@ namespace MarketData.Services
{
CMTrendHelper.HandleCMTSession(commandArgs);
await Task.FromResult(true);
}
}
public async Task TaskCMMRunCMBacktest(CommandArgs commandArgs)
{
CMMomentumHelper.RunCMMomentum(commandArgs);
await Task.FromResult(true);
}
public async Task TaskCMMRunCMSession(CommandArgs commandArgs)
{
CMMomentumHelper.RunCMSession(commandArgs);
await Task.FromResult(true);
}
public async Task TaskCMMRunCMCandidateLastResort(CommandArgs commandArgs)
{
CMMomentumHelper.RunCMCandidateLastResort(commandArgs);
await Task.FromResult(true);
}
public async Task TaskCMMRunCMGainLoss(CommandArgs commandArgs)
{
CMMomentumHelper.RunCMGainLoss(commandArgs);
await Task.FromResult(true);
}
// *********************************************************************************************************************************************************
// ******************************************************************* E N D T A S K S ********************************************************************