private List <String> readSeparatedLine(String separatedLine, char separator) { List <String> listOfStrings = new List <string>(); #if DEBUG try #endif { String[] separatedArray = separatedLine.Split(separator); for (int arrayCnt = 0; arrayCnt < separatedArray.Length - 1; arrayCnt++) { String x = separatedArray[arrayCnt].Replace("\"", ""); listOfStrings.Add(x); //separatedArray[arrayCnt].Trim()); } } #if DEBUG catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } #endif return(listOfStrings); }
public bool createCSVFile(String fileName) { try { this.fileName = fileName; //this.instrument = instrument; //this.studyName = studyName; //File.Exists(fullFile) //String fileNameFull = dir + fileName + ".csv"; // if(File.Exists(fileNameFull)) // { // File.Open(fileNameFull); // // } fileStream = new FileStream(System.IO.Path.Combine(dir, fileName), FileMode.Create, FileAccess.ReadWrite, FileShare.Read); streamWriter = new StreamWriter(fileStream); return(true); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } return(false); }
// The cumulative normal distribution function public static double CND(double X) { try { double L, K, w; double a1 = 0.31938153, a2 = -0.356563782, a3 = 1.781477937, a4 = -1.821255978, a5 = 1.330274429; L = Math.Abs(X); K = 1.0 / (1.0 + 0.2316419 * L); w = 1.0 - 1.0 / Math.Sqrt(2.0 * Math.PI) * Math.Exp(-L * L / 2) * (a1 * K + a2 * K * K + a3 * Math.Pow(K, 3) + a4 * Math.Pow(K, 4) + a5 * Math.Pow(K, 5)); if (X < 0.0) { w = 1.0 - w; } return(w); } catch (Exception ex) { TSErrorCatch.errorCatchOut("OptionCalcs", ex); } return(0); }
// The Black and Scholes (1973) Stock option formula public static double blackScholes(char CallPutFlag, double S, double X, double T, double r, double v) { try { if (T == 0) { T = 0.0001; } double d1, d2; d1 = (Math.Log(S / X) + (r + v * v / 2) * T) / (v * Math.Sqrt(T)); d2 = d1 - v * Math.Sqrt(T); if (CallPutFlag == 'c' || CallPutFlag == 'C') { return(S * CND(d1) - X * Math.Exp(-r * T) * CND(d2)); } else { return(X * Math.Exp(-r * T) * CND(-d2) - S * CND(-d1)); } } catch (Exception ex) { TSErrorCatch.errorCatchOut("OptionCalcs", ex); } return(0); }
public void writeLnToEnd(DateTime dateTimeOut, double arrayValue)//DateTime arrayDateTime, double arrayValues) { try { streamWriter.BaseStream.Seek(0, SeekOrigin.End); writeLnToFile(dateTimeOut, arrayValue); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
public void closeAndSaveFile() { try { streamWriter.Close(); fileStream.Close(); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
public Dictionary <string, string> readInstrumentAccount(string cfgAcctFileName) { Dictionary <string, string> instrumentAcctHashSet = new Dictionary <string, string>(); try { //String fullFile = System.IO.Path.Combine(Directory.GetCurrentDirectory(), // TradingSystemConstants.INITIALIZE_CONFIG_DIRECTORY, // TradingSystemConstants.INSTRUMENT_ACCT_CSV); String fullFile = System.IO.Path.Combine(Directory.GetCurrentDirectory(), TradingSystemConstants.INITIALIZE_CONFIG_DIRECTORY, cfgAcctFileName); if (File.Exists(fullFile)) { FileStream fileStream = new FileStream(fullFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); StreamReader streamReader = new StreamReader(fileStream); while (!streamReader.EndOfStream) { String line = streamReader.ReadLine(); if (line.Length > 0) { string[] instrumentAcctArray = line.Split(','); instrumentAcctHashSet.Add(instrumentAcctArray[0], instrumentAcctArray[1]); //int locationOfEqual = line.IndexOf("="); //String token = line.Substring(0, locationOfEqual); //String value = line.Substring(locationOfEqual + 1); //if (token.CompareTo("DAYLIGHTSAVINGS") == 0) //{ // return Convert.ToBoolean(value); //} //Debug.WriteLine("$$$"+ token +"$$$"); //Debug.WriteLine("$$$"+ value +"$$$"); } } fileStream.Close(); streamReader.Close(); } } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } return(instrumentAcctHashSet); }
public static double ND(double X) { try { return(Math.Exp(-X * X / 2) / Math.Sqrt(2 * Math.PI)); } catch (Exception ex) { TSErrorCatch.errorCatchOut("OptionCalcs", ex); } return(0); }
public static String convertToTickMovesString(double barVal, double tickIncrement, double tickDisplay) { try { return(Convert.ToString(convertToTickMovesDouble(barVal, tickIncrement, tickDisplay))); } catch (Exception ex) { TSErrorCatch.errorCatchOut("ConversionAndFormatting", ex); return(Convert.ToString(barVal)); } }
public void closeDB() { try { //conn.Close(); //conn.Dispose(); } catch (System.Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
public void createFile(String fileName) { try { this.fileName = fileName; fileStream = new FileStream(dir + fileName, FileMode.Create, FileAccess.ReadWrite, FileShare.Read); streamWriter = new StreamWriter(fileStream); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
public String readStoredADMStrategyInfoList_1Line() { try { if (streamReader != null && !streamReader.EndOfStream) { return(streamReader.ReadLine()); } } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } return(null); }
private double getDoubleOutOfStringList(List <String> stringList, ADM_DETAIL_FIELDS summaryField) { #if DEBUG try #endif { return(Convert.ToDouble(stringList[(int)summaryField])); } #if DEBUG catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } #endif return(0); }
private int getIntOutOfStringList(List <String> stringList, ADM_SUMMARY_FIELDS summaryField) { #if DEBUG try #endif { return(Convert.ToInt32(stringList[(int)summaryField])); } #if DEBUG catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } #endif return(0); }
public DateTime getFileDateTimeOfADMPositionsWeb(String nameOfStoredFile) { try { if (File.Exists(nameOfStoredFile)) { return(File.GetLastWriteTime(nameOfStoredFile)); } } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } return(new DateTime(1900, 1, 1)); }
public SaveOutputFile(String groupFolder, String currentDate) { try { dir = System.IO.Path.Combine(Directory.GetCurrentDirectory(), groupFolder, currentDate); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
//public MySqlConnection conn; //connection to database here public void connectDB(String dbServerName) { try { String connString = String.Format("server={0};user id={1}; password={2}; database={3}; pooling=false ", dbServerName, TradingSystemConstants.DB_USERNAME, TradingSystemConstants.DB_PASSWORD, TradingSystemConstants.DB_DATABASENAME); //conn = new MySqlConnection(connString); //conn.Open(); } catch (System.Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
public SaveOutputFile(String fullOutputDirectory, bool setFullOutputDirectory) { try { dir = fullOutputDirectory; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
// The generalized Black and Scholes formula // // S - stock price // X - strike price of option // r - risk-free interest rate // T - time to expiration in years // v - volatility of the relative price change of the underlying stock price // b - cost-of-carry // b = r --> Black-Scholes stock option model // b = 0 --> Black futures option model // b = r-q --> Merton stock option model with continuous dividend yield q // b = r - r(f) --> Garman-Kohlhagen currency option model, where r(f) is the risk-free rate of the foreign currency // // Examples: // a) currency option // T = 0.5, 6 month to expiry // S = 1.56, USD/DEM exchange rate is 1.56 // X = 1.6, strike is 1.60 // r = 0.06, domestic interest rate in Germany is 6% per annum // r(f) = 0.08, foreign risk-free interest rate in the U.S. is 8% per annum // v = 0.12, volatility is 12% per annum // c = 0.0291 public static double calculateOptionVolatility(char callPutFlag, double S, double X, double T, double r, double currentOptionPrice) { double tempV = 0.5; try { if (T == 0) { T = 0.0001; } int i = 0; //double tempV = 0.1; double volInc = 0.5; double priceTest; //double diffBtwnTempPriceAndTruePrice = 999999; int maxIter = 100; while (i < maxIter) { priceTest = blackScholes(callPutFlag, S, X, T, r, tempV); if (Math.Abs(currentOptionPrice - priceTest) < 0.01) { return(tempV); } else if (priceTest - currentOptionPrice > 0) { volInc /= 2; tempV -= volInc; } else { volInc /= 2; tempV += volInc; } i++; } } catch (Exception ex) { TSErrorCatch.errorCatchOut("OptionCalcs", ex); } return(tempV); }
public void createConfigFile(String fileName) { try { this.fileName = fileName; //this.instrument = instrument; //this.studyOut = studyOut; fileStream = new FileStream(System.IO.Path.Combine(dir, fileName), FileMode.Create, FileAccess.ReadWrite, FileShare.Read); streamWriter = new StreamWriter(fileStream); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
public void writeLnToFile(DateTime dateTimeOut, double arrayValue) { try { String dateLine = dateTimeOut.ToString("MM/dd/yy", DateTimeFormatInfo.InvariantInfo); String timeLine = dateTimeOut.ToString("HH:mm", DateTimeFormatInfo.InvariantInfo); String lineOfArray = dateLine.PadRight(padBuffer, ' ') + "\t" + timeLine.PadRight(padBuffer, ' ') + "\t" + arrayValue.ToString().PadRight(padBuffer, ' '); streamWriter.WriteLine(lineOfArray); streamWriter.Flush(); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
public void writeTextLineFile(String text) { try { String lineOut; lineOut = text + "\r\n"; streamWriter.BaseStream.Seek(0, SeekOrigin.End); streamWriter.Write(lineOut); streamWriter.Flush(); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
public void writeConfigLineFile(String label, String value) { try { String lineOut; lineOut = label + "=" + value + "\r\n"; streamWriter.BaseStream.Seek(0, SeekOrigin.End); streamWriter.Write(lineOut); streamWriter.Flush(); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
// Vega for the generalized Black and Scholes formula public static double gVega(double S, double X, double T, double r, double b, double v) { try { if (T == 0) { T = 0.0001; } double d1 = (Math.Log(S / X) + (b + Math.Pow(v, 2) / 2) * T) / (v * Math.Sqrt(T)); return(S * Math.Exp((b - r) * T) * ND(d1) * Math.Sqrt(T)); } catch (Exception ex) { TSErrorCatch.errorCatchOut("OptionCalcs", ex); } return(0); }
public bool createFile(String fileName, String instrument, String studyName) { try { this.fileName = fileName; //this.instrument = instrument; fileStream = new FileStream(dir + fileName + ".txt", FileMode.Create, FileAccess.ReadWrite, FileShare.Read); streamWriter = new StreamWriter(fileStream); return(true); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } return(false); }
//connection to database here public void setupSqlConnectionString() { try { connString1Builder = new SqlConnectionStringBuilder(); connString1Builder.DataSource = "tcp:h9ggwlagd1.database.windows.net,1433"; connString1Builder.InitialCatalog = "TMLDB"; connString1Builder.Encrypt = true; connString1Builder.TrustServerCertificate = false; connString1Builder.UserID = "realtimeuser@h9ggwlagd1"; connString1Builder.Password = "******"; connString1Builder.MultipleActiveResultSets = true; connString1Builder.Pooling = true; connString1Builder.MaxPoolSize = 50; connString1Builder.ConnectTimeout = 30; } catch (System.Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
public void ModifyFile(DateTime dateTimeOut, double arrayValue, int lineNum) { try { int offset = (padBuffer * 3 + 4) * lineNum; fileStream.Seek(offset, SeekOrigin.Begin); modifyLnInFile(dateTimeOut, arrayValue); fileStream.SetLength(offset); streamWriter.BaseStream.Seek(0, SeekOrigin.End); } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } }
/** * double fuzzyZero = tickIncrement / 1000; * double positiveFuzzyZero = tickIncrement / 1000; * * if (barVal < 0) * fuzzyZero = -tickIncrement / 1000; * * int nTicksInUnit = (int)(1 / tickIncrement + positiveFuzzyZero); * * if (nTicksInUnit == 0) * return barVal / tickIncrement * tickDisplay; * * //nTicksInUnit = 1; * * int intPart = (int)(barVal + fuzzyZero); * int nTicks = (int)((barVal + fuzzyZero) / tickIncrement + fuzzyZero); * //Debug.WriteLine(barVal + " " + tickIncrement + " " + fuzzyZero + " " + nTicks + " "); * * int decPart = (int)((nTicks % nTicksInUnit) * tickDisplay + fuzzyZero); * double fractPart = 0; * * // a hack for Eurodollar * if (tickDisplay < 1) * fractPart = (nTicks % nTicksInUnit) * tickDisplay - decPart; * * int decimalBase = 1; * * //if (tickDisplay/tickIncrement > 1) * // decimalBase = (int)tickDisplay; * //else * * * * while (((nTicksInUnit - 1) * tickDisplay / decimalBase) >= 1) * decimalBase *= 10; * * * //if (decimalBase == 1 && tickDisplay > 0 && tickIncrement > 0 && tickDisplay > tickIncrement) * //{ * // decimalBase = (int)(tickDisplay / tickIncrement); * //} * * * return intPart * decimalBase + decPart + fractPart; * * * * * * * * * * * double fuzzyZero = tickIncrement / 1000; * double positiveFuzzyZero = tickIncrement / 1000; * * int nTicksInUnit = (int)(1 / tickIncrement + positiveFuzzyZero); * * double maxFractUnits = 0; * * if (tickIncrement == 1 && tickDisplay > 0) * { * maxFractUnits = nTicksInUnit * tickDisplay; * } * else * { * maxFractUnits = (nTicksInUnit - 1) * tickDisplay; * } * * * int decimalBase = 1; * while ((maxFractUnits + positiveFuzzyZero) / decimalBase >= 1) * decimalBase *= 10; * * double displayVal = Convert.ToDouble(barVal); * * if (displayVal < 0) * fuzzyZero = -tickIncrement / 1000; * * int intPart = (int)((displayVal + fuzzyZero) / decimalBase + fuzzyZero); * double decPart = (displayVal - intPart * decimalBase) / tickDisplay * tickIncrement; * * double incrementFixTest = (displayVal - intPart * decimalBase) % (tickIncrement * decimalBase); * * double incrementFix = 0; * * if (incrementFixTest != 0) * incrementFix = ((tickIncrement * decimalBase) - incrementFixTest) / decimalBase; * * * return intPart + decPart + incrementFix; */ public static double convertToTickMovesDouble(String barVal, double tickIncrement, double tickDisplay) { if (tickDisplay == 0) { return(Convert.ToDouble(barVal)); } try { double fuzzyZero = tickIncrement / 1000; //0.000000000001; double positiveFuzzyZero = tickIncrement / 1000; //0.000000000001; int nTicksInUnit = (int)(1 / tickIncrement + positiveFuzzyZero); double maxFractUnits = (nTicksInUnit - 1) * tickDisplay; if (tickIncrement == 1) { maxFractUnits = tickDisplay; } int decimalBase = 1; while ((maxFractUnits + positiveFuzzyZero) / decimalBase >= 1) { decimalBase *= 10; } double displayVal = Convert.ToDouble(barVal); if (displayVal < 0) { fuzzyZero = -tickIncrement / 1000; } int intPart = (int)((displayVal + fuzzyZero) / decimalBase + fuzzyZero); double decPart = (displayVal - intPart * decimalBase) / tickDisplay * tickIncrement; double fractPart = 0; // a hack for Eurodollar //if ( tickDisplay < 1 ) // fractPart = (nTicks % nTicksInUnit) * tickDisplay - decPart; double res = intPart + decPart + fractPart; double incrMultiple = Math.Floor(res / tickIncrement + positiveFuzzyZero) * tickIncrement; if (res < incrMultiple + positiveFuzzyZero && res > incrMultiple - positiveFuzzyZero) { return(res); } else { return(incrMultiple + tickIncrement); } // make sure return value is an integral multiple of the tick increment //return Math.Ceiling((intPart + decPart) / tickIncrement - positiveFuzzyZero) // * tickIncrement; //return intPart + decPart + fractPart; } catch (Exception ex) { TSErrorCatch.errorCatchOut("ConversionAndFormatting", ex); return(Convert.ToDouble(barVal)); } }
public static double convertToTickMovesDouble(double barVal, double tickIncrement, double tickDisplay) { if (tickDisplay == 0) { return(barVal); } else { try { double fuzzyZero = tickIncrement / 1000; double positiveFuzzyZero = tickIncrement / 1000; if (barVal < 0) { fuzzyZero = -tickIncrement / 1000; } int nTicksInUnit = (int)(1 / tickIncrement + positiveFuzzyZero); if (nTicksInUnit == 0) { return(barVal / tickIncrement * tickDisplay); } //nTicksInUnit = 1; int intPart = (int)(barVal + fuzzyZero); int nTicks = (int)((barVal + fuzzyZero) / tickIncrement + fuzzyZero); //Debug.WriteLine(barVal + " " + tickIncrement + " " + fuzzyZero + " " + nTicks + " "); int decPart = (int)((nTicks % nTicksInUnit) * tickDisplay + fuzzyZero); double fractPart = 0; // a hack for Eurodollar if (tickDisplay < 1) { fractPart = (nTicks % nTicksInUnit) * tickDisplay - decPart; } int decimalBase = 1; //if (tickDisplay/tickIncrement > 1) // decimalBase = (int)tickDisplay; //else while (((nTicksInUnit - 1) * tickDisplay / decimalBase) >= 1) { decimalBase *= 10; } //if (decimalBase == 1 && tickDisplay > 0 && tickIncrement > 0 && tickDisplay > tickIncrement) //{ // decimalBase = (int)(tickDisplay / tickIncrement); //} return(intPart * decimalBase + decPart + fractPart); } catch (Exception ex) { TSErrorCatch.errorCatchOut("ConversionAndFormatting", ex); return((int)barVal); } } }
public List <OptionStrategy> readSupplementContracts(string fullFile, OptionArrayTypes optionArrayTypes, int portfolioId, QueryFutureIdContractDelegate queryFutureIdContractDelegate, object queryObject) { List <OptionStrategy> optionStrategies = new List <OptionStrategy>(); try { if (File.Exists(fullFile)) { FileStream fileStream = new FileStream(fullFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); StreamReader streamReader = new StreamReader(fileStream); int optionStrategyCount = 1; while (!streamReader.EndOfStream) { String line = streamReader.ReadLine(); if (line.Length > 0) { string[] supplementContractStrategy = line.Split(','); if (supplementContractStrategy.Length >= 3) { string idcontract = queryFutureIdContractDelegate(queryObject, Convert.ToInt32(supplementContractStrategy[0].Trim()), Convert.ToInt32(supplementContractStrategy[1].Trim()), Convert.ToInt32(supplementContractStrategy[2].Trim())); OptionStrategy optionStrategy = new OptionStrategy(); optionStrategy.optionStrategyParameters = new OptionStrategyParameter[ optionArrayTypes.tblStrategyStateFieldTypesArray.GetLength(0)]; for (int i = 0; i < optionArrayTypes.tblStrategyStateFieldTypesArray.GetLength(0); i++) { optionStrategy.optionStrategyParameters[i] = new OptionStrategyParameter(); } optionStrategies.Add(optionStrategy); optionStrategy.supplementContract = true; optionStrategy.idPortfoliogroup = portfolioId; optionStrategy.idInstrument = Convert.ToInt32(supplementContractStrategy[0]); optionStrategy.idStrategy = optionStrategyCount; optionStrategyCount++; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.numberOfLegs].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.numberOfLegs; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.numberOfLegs].parseParameter = TBL_DB_PARSE_PARAMETER.DONOT_PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.numberOfLegs].stateValue = 1; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.spreadStructure].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.spreadStructure; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.spreadStructure].parseParameter = TBL_DB_PARSE_PARAMETER.PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.spreadStructure].stateValueStringNotParsed = "2"; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.activeContractIndexes].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.activeContractIndexes; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.activeContractIndexes].parseParameter = TBL_DB_PARSE_PARAMETER.PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.activeContractIndexes].stateValueStringNotParsed = idcontract; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rollIntoContractIndexes].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.rollIntoContractIndexes; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rollIntoContractIndexes].parseParameter = TBL_DB_PARSE_PARAMETER.PARSE_ROLL_PARAMETER_SCRIPT; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rollIntoContractIndexes].stateValueStringNotParsed = ""; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.cfgContracts].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.cfgContracts; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.cfgContracts].parseParameter = TBL_DB_PARSE_PARAMETER.PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.cfgContracts].stateValueStringNotParsed = ""; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.currentPosition].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.currentPosition; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.currentPosition].parseParameter = TBL_DB_PARSE_PARAMETER.PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.currentPosition].stateValueStringNotParsed = ""; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.entryRule].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.entryRule; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.entryRule].parseParameter = TBL_DB_PARSE_PARAMETER.PARSE_ENTRY_SCRIPT; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.entryRule].stateValueStringNotParsed = ""; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.entryLots].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.entryLots; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.entryLots].parseParameter = TBL_DB_PARSE_PARAMETER.PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.entryLots].stateValueStringNotParsed = ""; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.exitRule].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.exitRule; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.exitRule].parseParameter = TBL_DB_PARSE_PARAMETER.PARSE_EXIT_SCRIPT; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.exitRule].stateValueStringNotParsed = ""; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.exitLots].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.exitLots; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.exitLots].parseParameter = TBL_DB_PARSE_PARAMETER.PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.exitLots].stateValueStringNotParsed = ""; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.marginRequirement].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.marginRequirement; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.marginRequirement].parseParameter = TBL_DB_PARSE_PARAMETER.DONOT_PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.marginRequirement].stateValue = 0; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rRisk].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.rRisk; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rRisk].parseParameter = TBL_DB_PARSE_PARAMETER.DONOT_PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rRisk].stateValue = 0; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rRisk_R].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.rRisk_R; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rRisk_R].parseParameter = TBL_DB_PARSE_PARAMETER.DONOT_PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rRisk_R].stateValue = 0; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.oneR].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.oneR; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.oneR].parseParameter = TBL_DB_PARSE_PARAMETER.DONOT_PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.oneR].stateValue = 0; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rStatus].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.rStatus; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rStatus].parseParameter = TBL_DB_PARSE_PARAMETER.DONOT_PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rStatus].stateValue = 0; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rStatus_R].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.rStatus_R; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rStatus_R].parseParameter = TBL_DB_PARSE_PARAMETER.DONOT_PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.rStatus_R].stateValue = 0; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.idRiskType].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.idRiskType; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.idRiskType].parseParameter = TBL_DB_PARSE_PARAMETER.DONOT_PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.idRiskType].stateValue = 0; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.idSignalType].strategyStateFieldType = TBL_STRATEGY_STATE_FIELDS.idSignalType; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.idSignalType].parseParameter = TBL_DB_PARSE_PARAMETER.DONOT_PARSE_PARAMETER; optionStrategy.optionStrategyParameters[(int)TBL_STRATEGY_STATE_FIELDS.idSignalType].stateValue = 0; optionStrategy.lockedIn_R = 0; } } } fileStream.Close(); streamReader.Close(); } } catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } return(optionStrategies); }