Additional changes for MGSH
This commit is contained in:
@@ -12,7 +12,7 @@ namespace MarketData
|
|||||||
{
|
{
|
||||||
if(!commandArgs.Has("SESSIONFILE"))
|
if(!commandArgs.Has("SESSIONFILE"))
|
||||||
{
|
{
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,"Missing SESSIONFILE");
|
MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red,"Missing SESSIONFILE");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MGSHMomentumBacktest momentumBacktest = new MGSHMomentumBacktest();
|
MGSHMomentumBacktest momentumBacktest = new MGSHMomentumBacktest();
|
||||||
@@ -24,14 +24,14 @@ namespace MarketData
|
|||||||
DateGenerator dateGenerator = new DateGenerator();
|
DateGenerator dateGenerator = new DateGenerator();
|
||||||
if(!commandArgs.Has("SESSIONFILE,TRADEDATE"))
|
if(!commandArgs.Has("SESSIONFILE,TRADEDATE"))
|
||||||
{
|
{
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,"SESSIONFILE and TRADEDATE are required parameters.");
|
MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red,"SESSIONFILE and TRADEDATE are required parameters.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
DateTime tradeDate = commandArgs.Get<DateTime>("TRADEDATE");
|
DateTime tradeDate = commandArgs.Get<DateTime>("TRADEDATE");
|
||||||
|
|
||||||
if(!dateGenerator.IsMarketOpen(tradeDate))
|
if(!dateGenerator.IsMarketOpen(tradeDate))
|
||||||
{
|
{
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"TRADEDATE {tradeDate.ToShortDateString()} is not a trading date.");
|
MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red,$"TRADEDATE {tradeDate.ToShortDateString()} is not a trading date.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ namespace MarketData
|
|||||||
pathSessionFile = pathSessionFile.Trim();
|
pathSessionFile = pathSessionFile.Trim();
|
||||||
if(!File.Exists(pathSessionFile))
|
if(!File.Exists(pathSessionFile))
|
||||||
{
|
{
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"The specified file '{pathSessionFile}' does not exist.");
|
MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red,$"The specified file '{pathSessionFile}' does not exist.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ namespace MarketData
|
|||||||
|
|
||||||
if(!dateGenerator.IsMarketOpen(tradeDate))
|
if(!dateGenerator.IsMarketOpen(tradeDate))
|
||||||
{
|
{
|
||||||
Console.WriteLine(String.Format("The market is closed today, please confirm Y/N:{0}?",tradeDate.ToShortDateString()));
|
MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red,String.Format("The market is closed today, please confirm Y/N:{0}?",tradeDate.ToShortDateString()));
|
||||||
String result=Console.ReadLine();
|
String result=Console.ReadLine();
|
||||||
if(null==result||!(result.ToUpper().Equals("Y")||result.ToUpper().Equals("YES")))return;
|
if(null==result||!(result.ToUpper().Equals("Y")||result.ToUpper().Equals("YES")))return;
|
||||||
}
|
}
|
||||||
@@ -62,10 +62,10 @@ namespace MarketData
|
|||||||
MGSHConfiguration mgParams=new MGSHConfiguration();
|
MGSHConfiguration mgParams=new MGSHConfiguration();
|
||||||
if (!commandArgs.Has("STARTDATE,MAXPOSITIONS,INITIALCASH,HOLDINGPERIOD"))
|
if (!commandArgs.Has("STARTDATE,MAXPOSITIONS,INITIALCASH,HOLDINGPERIOD"))
|
||||||
{
|
{
|
||||||
if (!commandArgs.Has("STARTDATE")) MDTrace.WriteLine(LogLevel.DEBUG, "Missing STARTDATE");
|
if (!commandArgs.Has("STARTDATE")) MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red, "Missing STARTDATE");
|
||||||
if (!commandArgs.Has("MAXPOSITIONS")) MDTrace.WriteLine(LogLevel.DEBUG, "Missing MAXPOSITIONS");
|
if (!commandArgs.Has("MAXPOSITIONS")) MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red, "Missing MAXPOSITIONS");
|
||||||
if (!commandArgs.Has("INITIALCASH")) MDTrace.WriteLine(LogLevel.DEBUG, "Missing INITIALCASH");
|
if (!commandArgs.Has("INITIALCASH")) MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red, "Missing INITIALCASH");
|
||||||
if (!commandArgs.Has("HOLDINGPERIOD")) MDTrace.WriteLine(LogLevel.DEBUG, "Missing HOLDINGPERIOD");
|
if (!commandArgs.Has("HOLDINGPERIOD")) MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red, "Missing HOLDINGPERIOD");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mgParams.MaxPositions=commandArgs.Coalesce<int>("MAXPOSITIONS");
|
mgParams.MaxPositions=commandArgs.Coalesce<int>("MAXPOSITIONS");
|
||||||
@@ -141,18 +141,18 @@ namespace MarketData
|
|||||||
DateGenerator dateGenerator = new DateGenerator();
|
DateGenerator dateGenerator = new DateGenerator();
|
||||||
if(!dateGenerator.IsMarketOpen(startDate))
|
if(!dateGenerator.IsMarketOpen(startDate))
|
||||||
{
|
{
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"STARTDATE {startDate.ToShortDateString()} is not a trading date.");
|
MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red,$"STARTDATE {startDate.ToShortDateString()} is not a trading date.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!dateGenerator.IsMarketOpen(endDate))
|
if(!dateGenerator.IsMarketOpen(endDate))
|
||||||
{
|
{
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"ENDDATE {endDate.ToShortDateString()} is not a trading date.");
|
MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red,$"ENDDATE {endDate.ToShortDateString()} is not a trading date.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!commandArgs.Has("SESSIONFILE"))
|
if(!commandArgs.Has("SESSIONFILE"))
|
||||||
{
|
{
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"SESSIONFILE is a required parameter.");
|
MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red,$"SESSIONFILE is a required parameter.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
echo "THIS IS THE PRDUCTION FILE FOR MGSHMOMENTUM"
|
echo "THIS IS THE PRODUCTION FILE FOR MGSHMOMENTUM"
|
||||||
echo "THIS MODEL STARTS TRADING 03/31/2025"
|
echo "THIS MODEL STARTS TRADING 03/31/2025"
|
||||||
echo "RUNMGSHMOMENTUM MODE{DAILY|MONTHLY} TRADEDATE"
|
echo "RUNMGSHMOMENTUM MODE{DAILY|MONTHLY} TRADEDATE"
|
||||||
|
|
||||||
|
|||||||
@@ -537,7 +537,7 @@ namespace MarketData.Generator.MGSHMomentum
|
|||||||
|
|
||||||
if(startDate != TradeDate)
|
if(startDate != TradeDate)
|
||||||
{
|
{
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Unexpectd StartDate. Start Date:{startDate.ToShortDateString()} Trade Date:{TradeDate.ToShortDateString()}");
|
MDTrace.WriteLine(LogLevel.DEBUG,ConsoleColor.Red,$"Unexpectd StartDate. Start Date:{startDate.ToShortDateString()} Trade Date:{TradeDate.ToShortDateString()}");
|
||||||
return new MGSHBacktestResult(false, CashBalance);
|
return new MGSHBacktestResult(false, CashBalance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -72,6 +72,20 @@ namespace MarketData
|
|||||||
Console.WriteLine(message);
|
Console.WriteLine(message);
|
||||||
Flush();
|
Flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>WriteLine - Writes a line of text to trace log.</summary>
|
||||||
|
/// <param name="message">string content of message to write.</param>
|
||||||
|
/// <returns>void</returns>
|
||||||
|
public static void WriteLine(LogLevel logLevel,ConsoleColor consoleColor,string message)
|
||||||
|
{
|
||||||
|
if(MDTrace.logLevel<logLevel)return;
|
||||||
|
Trace.WriteLine(GetCallerIP()+GetThreadRep()+GetLogLevelRep()+"["+DateTime.Now.ToString()+"]"+" "+GetMethodInfo()+message);
|
||||||
|
ConsoleColor currentColor=Console.ForegroundColor;
|
||||||
|
Console.ForegroundColor = consoleColor;
|
||||||
|
Console.WriteLine(message);
|
||||||
|
Console.ForegroundColor=currentColor;
|
||||||
|
Flush();
|
||||||
|
}
|
||||||
/// <summary>Indent - set trace log indentation.</summary>
|
/// <summary>Indent - set trace log indentation.</summary>
|
||||||
/// <returns>void</returns>
|
/// <returns>void</returns>
|
||||||
public static void Indent()
|
public static void Indent()
|
||||||
|
|||||||
Reference in New Issue
Block a user