/// <summary>
/// Reads the strategy from a file.
/// </summary>
/// <returns>0 - success.</returns>
int OpenStrategy(string strategyFilePath)
{
try
{
if (File.Exists(strategyFilePath) && Strategy.Load(strategyFilePath))
{ // Successfully opening
Data.Strategy.StrategyName = Path.GetFileNameWithoutExtension(strategyFilePath);
Data.StrategyDir = Path.GetDirectoryName(strategyFilePath);
Data.StrategyName = Path.GetFileName(strategyFilePath);
if (Data.Strategy.OpenFilters > Configs.MAX_ENTRY_FILTERS)
{
Configs.MAX_ENTRY_FILTERS = Data.Strategy.OpenFilters;
}
if (Data.Strategy.CloseFilters > Configs.MAX_EXIT_FILTERS)
{
Configs.MAX_EXIT_FILTERS = Data.Strategy.CloseFilters;
}
}
else
{
Strategy.GenerateNew();
string sMessageText = Language.T("The strategy could not be loaded correctly!");
MessageBox.Show(sMessageText, Language.T("Strategy Loading"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Data.LoadedSavedStrategy = "";
this.Text = Data.ProgramName;
}
Data.SetStrategyIndicators();
RebuildStrategyLayout();
this.Text = Data.Strategy.StrategyName + " - " + Data.ProgramName;
Data.IsStrategyChanged = false;
Data.LoadedSavedStrategy = Data.StrategyPath;
Data.StackStrategy.Clear();
}
catch
{
Strategy.GenerateNew();
string sMessageText = Language.T("The strategy could not be loaded correctly!");
MessageBox.Show(sMessageText, Language.T("Strategy Loading"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Data.LoadedSavedStrategy = "";
this.Text = Data.ProgramName;
RebuildStrategyLayout();
return(1);
}
return(0);
}