public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaBase.SUM(FormulaBase.MAX(new FormulaData[2] { FormulaBase.MAX(new FormulaData[2] { FormulaData.op_Subtraction(this.get_HIGH(), this.get_LOW()), FormulaBase.ABS(FormulaData.op_Subtraction(this.get_HIGH(), FormulaBase.REF(this.get_CLOSE(), 1.0))) }), FormulaBase.ABS(FormulaData.op_Subtraction(this.get_LOW(), FormulaBase.REF(this.get_CLOSE(), 1.0))) }), this.N); formulaData1.Name = (__Null)"TR "; FormulaData formulaData2 = FormulaData.op_Subtraction(this.get_HIGH(), FormulaBase.REF(this.get_HIGH(), 1.0)); formulaData2.Name = (__Null)"HD "; FormulaData formulaData3 = FormulaData.op_Subtraction(FormulaBase.REF(this.get_LOW(), 1.0), this.get_LOW()); formulaData3.Name = (__Null)"LD "; FormulaData formulaData4 = FormulaBase.SUM(FormulaBase.IF(FormulaData.op_BitwiseAnd(FormulaData.op_GreaterThan(formulaData2, FormulaData.op_Implicit(0.0)), FormulaData.op_GreaterThan(formulaData2, formulaData3)), formulaData2, FormulaData.op_Implicit(0.0)), this.N); formulaData4.Name = (__Null)"DMP"; FormulaData formulaData5 = FormulaBase.SUM(FormulaBase.IF(FormulaData.op_BitwiseAnd(FormulaData.op_GreaterThan(formulaData3, FormulaData.op_Implicit(0.0)), FormulaData.op_GreaterThan(formulaData3, formulaData2)), formulaData3, FormulaData.op_Implicit(0.0)), this.N); formulaData5.Name = (__Null)"DMM"; FormulaData formulaData6 = FormulaData.op_Division(FormulaData.op_Multiply(formulaData4, FormulaData.op_Implicit(100.0)), formulaData1); formulaData6.Name = (__Null)"PDI"; FormulaData formulaData7 = FormulaData.op_Division(FormulaData.op_Multiply(formulaData5, FormulaData.op_Implicit(100.0)), formulaData1); formulaData7.Name = (__Null)"MDI"; FormulaData formulaData8 = FormulaBase.MA(FormulaData.op_Multiply(FormulaData.op_Division(FormulaBase.ABS(FormulaData.op_Subtraction(formulaData7, formulaData6)), FormulaData.op_Addition(formulaData7, formulaData6)), FormulaData.op_Implicit(100.0)), this.M); formulaData8.Name = (__Null)"ADX"; FormulaData formulaData9 = FormulaData.op_Division(FormulaData.op_Addition(formulaData8, FormulaBase.REF(formulaData8, this.M)), FormulaData.op_Implicit(2.0)); formulaData9.Name = (__Null)"ADXR"; return(new FormulaPackage(new FormulaData[4] { formulaData6, formulaData7, formulaData8, formulaData9 }, "")); }
private static FormulaProgram GetFormulaProgram(string Filename, FormulaBase fb) { if (Filename != null) { FormulaSpace space = (FormulaSpace)htFormulaSpace[Filename]; if ((space == null) && System.IO.File.Exists(Filename)) { space = FormulaSpace.Read(Filename); htFormulaSpace[Filename] = space; } if (space != null) { return(space.FindFormulaProgram(fb)); } } return(null); }
/// <summary> /// Extract the formula name and and parameters from a string /// </summary> /// <param name="NameAndParam">Name and parameter string , such as MA(50)</param> /// <param name="tbs">TextBox array, the method will extract parameters to this array</param> /// <param name="FormulaName">return the formula name</param> public static void ParamToTextBox(string NameAndParam, TextBox[] tbs, out string FormulaName) { FormulaBase fb = FormulaBase.GetFormulaByName(NameAndParam); FormulaName = fb.FormulaName; for (int i = 0; i < tbs.Length; i++) { if (i < fb.Params.Count) { tbs[i].Text = fb.Params[i].Value; } else { tbs[i].Text = ""; } } }
/// <summary> /// Get formula source xml file of a certain formula. /// </summary> /// <param name="fb"></param> /// <returns></returns> public static string GetFormulaFile(FormulaBase fb) { Assembly a = fb.GetType().Assembly; string Key = FormulaBase.GetAssemblyKey(a); if (Key != null) { foreach (string s in htAssembly.Keys) { if (htAssembly[s].ToString() == Key) { return(s); } } } return(null); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaBase.MAX(new FormulaData[2] { FormulaBase.ABS(FormulaData.op_Subtraction(this.get_H(), FormulaBase.REF(this.get_H(), 1.0))), FormulaBase.ABS(FormulaData.op_Subtraction(this.get_L(), FormulaBase.REF(this.get_L(), 1.0))) }).Name = (__Null)"TR"; FormulaData formulaData1 = FormulaBase.IF(FormulaData.op_LessThanOrEqual(FormulaData.op_Addition(this.get_H(), this.get_L()), FormulaData.op_Addition(FormulaBase.REF(this.get_H(), 1.0), FormulaBase.REF(this.get_L(), 1.0))), FormulaData.op_Implicit(0.0), FormulaBase.MAX(new FormulaData[2] { FormulaBase.ABS(FormulaData.op_Subtraction(this.get_H(), FormulaBase.REF(this.get_H(), 1.0))), FormulaBase.ABS(FormulaData.op_Subtraction(this.get_L(), FormulaBase.REF(this.get_L(), 1.0))) })); formulaData1.Name = (__Null)"DMZ"; FormulaData formulaData2 = FormulaBase.IF(FormulaData.op_GreaterThanOrEqual(FormulaData.op_Addition(this.get_H(), this.get_L()), FormulaData.op_Addition(FormulaBase.REF(this.get_H(), 1.0), FormulaBase.REF(this.get_L(), 1.0))), FormulaData.op_Implicit(0.0), FormulaBase.MAX(new FormulaData[2] { FormulaBase.ABS(FormulaData.op_Subtraction(this.get_H(), FormulaBase.REF(this.get_H(), 1.0))), FormulaBase.ABS(FormulaData.op_Subtraction(this.get_L(), FormulaBase.REF(this.get_L(), 1.0))) })); formulaData2.Name = (__Null)"DMF"; FormulaData formulaData3 = FormulaData.op_Division(FormulaBase.SUM(formulaData1, this.N), FormulaData.op_Addition(FormulaBase.SUM(formulaData1, this.N), FormulaBase.SUM(formulaData2, this.N))); formulaData3.Name = (__Null)"DIZ"; FormulaData formulaData4 = FormulaData.op_Division(FormulaBase.SUM(formulaData2, this.N), FormulaData.op_Addition(FormulaBase.SUM(formulaData2, this.N), FormulaBase.SUM(formulaData1, this.N))); formulaData4.Name = (__Null)"DIF"; FormulaData formulaData5 = FormulaData.op_Subtraction(formulaData3, formulaData4); formulaData5.Name = (__Null)"DDI"; formulaData5.SetAttrs("COLORSTICK"); FormulaData formulaData6 = FormulaBase.SMA(formulaData5, this.N1, this.M); formulaData6.Name = (__Null)"ADDI"; FormulaData formulaData7 = FormulaBase.MA(formulaData6, this.M1); formulaData7.Name = (__Null)"AD"; return(new FormulaPackage(new FormulaData[3] { formulaData5, formulaData6, formulaData7 }, "")); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaData.op_Multiply(FormulaData.op_Division(FormulaData.op_Subtraction(this.get_CLOSE(), FormulaBase.LLV(this.get_LOW(), this.N)), FormulaData.op_Subtraction(FormulaBase.HHV(this.get_HIGH(), this.N), FormulaBase.LLV(this.get_LOW(), this.N))), FormulaData.op_Implicit(100.0)); formulaData1.Name = (__Null)"A"; FormulaData formulaData2 = FormulaBase.MA(formulaData1, this.M1); formulaData2.Name = (__Null)"K"; FormulaData formulaData3 = FormulaBase.MA(formulaData2, this.M2); formulaData3.Name = (__Null)"D"; return(new FormulaPackage(new FormulaData[2] { formulaData2, formulaData3 }, "")); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData v = this.get_V(); v.Name = (__Null)"VV"; v.SetAttrs("VOLSTICK"); this.SETNAME(v, ""); FormulaData formulaData = FormulaBase.MA(v, this.M1); formulaData.Name = (__Null)"MA1"; this.SETNAME(formulaData, "MA"); return(new FormulaPackage(new FormulaData[2] { v, formulaData }, "")); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaData.op_Division(FormulaData.op_Subtraction(this.get_C(), this.get_L()), FormulaData.op_Subtraction(this.get_H(), this.get_L())); formulaData1.Name = (__Null)"K "; FormulaData formulaData2 = FormulaBase.SMA(formulaData1, this.N1, 1.0); formulaData2.Name = (__Null)"SK "; FormulaData formulaData3 = FormulaBase.SMA(formulaData2, this.N2, 1.0); formulaData3.Name = (__Null)"SD "; return(new FormulaPackage(new FormulaData[2] { formulaData2, formulaData3 }, "")); }
/// <summary> /// Create instance of OverlayManager /// </summary> public OverlayManager() { // // Required for Windows Form Designer support // InitializeComponent(); ddlAddOverlay.Items.Clear(); ddlAddOverlay.Items.Add("Select indicators to add"); foreach (string s in new string[] { "HL", "MA", "EMA", "BB", "AreaBB", "SAR", "ZIGLABEL", "ZIG", "ZIGW", "ZIGSR", "SR", "EXTEND.SRAxisY", "COMPARE", "COMPARE2", "Fibonnaci", "LinRegr" }) { ddlAddOverlay.Items.Add(FormulaBase.GetFormulaByName(s)); } ddlAddOverlay.SelectedIndex = 0; }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaBase.REF(this.get_CLOSE(), 1.0); formulaData1.Name = (__Null)"LC "; FormulaData formulaData2 = FormulaData.op_Multiply(FormulaData.op_Division(FormulaBase.SMA(FormulaBase.MAX(new FormulaData[2] { FormulaData.op_Subtraction(this.get_CLOSE(), formulaData1), FormulaData.op_Implicit(0.0) }), this.N1, 1.0), FormulaBase.SMA(FormulaBase.ABS(FormulaData.op_Subtraction(this.get_CLOSE(), formulaData1)), this.N1, 1.0)), FormulaData.op_Implicit(100.0)); formulaData2.Name = (__Null)"RSI"; return(new FormulaPackage(new FormulaData[1] { formulaData2 }, "")); }
public override FormulaPackage Run(IDataProvider dp) { this.DataProvider = dp; FormulaData v = base.V; v.Name = "VV"; v.SetAttrs("VOLSTICK"); base.SETNAME(v, ""); FormulaData formulaData = FormulaBase.MA(v, this.M1); formulaData.Name = "MA1"; base.SETNAME(formulaData, "MA"); return(new FormulaPackage(new FormulaData[] { v, formulaData }, "")); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaBase.EMA(FormulaBase.EMA(FormulaBase.EMA(this.get_CLOSE(), this.N), this.N), this.N); formulaData1.Name = (__Null)"TR"; FormulaData formulaData2 = FormulaData.op_Multiply(FormulaData.op_Division(FormulaData.op_Subtraction(formulaData1, FormulaBase.REF(formulaData1, 1.0)), FormulaBase.REF(formulaData1, 1.0)), FormulaData.op_Implicit(100.0)); formulaData2.Name = (__Null)"TRIX "; FormulaData formulaData3 = FormulaBase.MA(formulaData2, this.M); formulaData3.Name = (__Null)"TRMA "; return(new FormulaPackage(new FormulaData[2] { formulaData2, formulaData3 }, "")); }
private void RefreshTree() { tvMethod.BeginUpdate(); try { tvMethod.Nodes.Clear(); tvMethod.Nodes.Add("Root"); MemberInfo[] mis = FormulaBase.GetAllMembers(); for (int i = 0; i < mis.Length; i++) { object[] os = mis[i].GetCustomAttributes(false); TreeNode tn = tvMethod.Nodes[0]; foreach (object o in os) { if (o is CategoryAttribute) { TreeNode tnCategory = null; string Category = (o as CategoryAttribute).Category; for (int j = 0; j < tn.Nodes.Count; j++) { if (tn.Nodes[j].Text == Category) { tnCategory = tn.Nodes[j]; break; } } if (tnCategory == null) { tn.Nodes.Add(tnCategory = new TreeNode(Category, 0, 0)); } TreeNode tnText = new TreeNode(mis[i].Name + GetParam(mis[i]), 1, 1); tnText.Tag = mis[i]; tnCategory.Nodes.Add(tnText); } } } tvMethod.Nodes[0].Expand(); } finally { tvMethod.EndUpdate(); } }
public static FormulaData operator /(FormulaData f1, FormulaData f2) { MakeSameLength(f1, f2); if (FormulaBase.Testing) { return(FormulaBase.TestData(0, f1, f2)); } FormulaData f = new FormulaData(f1.Length); for (int i = 0; i < f1.Length; i++) { f.Data[i] = f1.Data[i] / f2.Data[i]; } if (f1.FormulaType == FormulaType.Const && f2.FormulaType == FormulaType.Const) { f.FormulaType = FormulaType.Const; } return(f); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData amount = this.get_AMOUNT(); amount.SetAttrs("VOLSTICK"); FormulaData formulaData1 = FormulaBase.MA(this.get_AMOUNT(), this.N1); formulaData1.Name = (__Null)"MA1"; FormulaData formulaData2 = FormulaBase.MA(this.get_AMOUNT(), this.N2); formulaData2.Name = (__Null)"MA2"; return(new FormulaPackage(new FormulaData[3] { amount, formulaData1, formulaData2 }, "")); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaBase.HHV(this.get_H(), this.N); formulaData1.Name = (__Null)"A "; FormulaData formulaData2 = FormulaBase.LLV(this.get_L(), this.N); formulaData2.Name = (__Null)"B "; FormulaData formulaData3 = FormulaData.op_Multiply(FormulaBase.BACKSET(this.get_ISLASTBAR(), this.N), FormulaData.op_Implicit(formulaData1.get_LASTDATA())); formulaData3.Name = (__Null)"HH"; formulaData3.SetAttrs("WIDTH2"); FormulaData formulaData4 = FormulaData.op_Multiply(FormulaBase.BACKSET(this.get_ISLASTBAR(), this.N), FormulaData.op_Implicit(formulaData2.get_LASTDATA())); formulaData4.Name = (__Null)"LL"; formulaData4.SetAttrs("WIDTH2"); FormulaData formulaData5 = FormulaData.op_Subtraction(formulaData3, formulaData4); formulaData5.Name = (__Null)"HEIGHT "; FormulaData formulaData6 = FormulaData.op_Addition(formulaData4, FormulaData.op_Multiply(formulaData5, FormulaData.op_Implicit(0.382))); formulaData6.Name = (__Null)"A1 "; FormulaData formulaData7 = FormulaData.op_Addition(formulaData4, FormulaData.op_Multiply(formulaData5, FormulaData.op_Implicit(0.5))); formulaData7.Name = (__Null)"A2 "; FormulaData formulaData8 = FormulaData.op_Addition(formulaData4, FormulaData.op_Multiply(formulaData5, FormulaData.op_Implicit(0.618))); formulaData8.Name = (__Null)"A3 "; this.SETTEXTVISIBLE(formulaData3, false); this.SETTEXTVISIBLE(formulaData4, false); this.SETTEXTVISIBLE(formulaData6, false); this.SETTEXTVISIBLE(formulaData7, false); this.SETTEXTVISIBLE(formulaData8, false); return(new FormulaPackage(new FormulaData[5] { formulaData3, formulaData4, formulaData6, formulaData7, formulaData8 }, "")); }
public override FormulaPackage Run(IDataProvider dp) { this.DataProvider = dp; FormulaData formulaData = FormulaBase.MA(base.CLOSE, this.N); formulaData.Name = "MID "; FormulaData formulaData2 = formulaData + this.P * FormulaBase.STD(base.CLOSE, this.N); formulaData2.Name = "UPPER"; FormulaData formulaData3 = formulaData - this.P * FormulaBase.STD(base.CLOSE, this.N); formulaData3.Name = "LOWER"; return(new FormulaPackage(new FormulaData[] { formulaData, formulaData2, formulaData3 }, "")); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaBase.EMA(this.get_V(), this.N1); formulaData1.Name = (__Null)"E1 "; FormulaData formulaData2 = FormulaData.op_Multiply(FormulaData.op_Division(FormulaData.op_Subtraction(formulaData1, FormulaBase.EMA(this.get_V(), this.N2)), formulaData1), FormulaData.op_Implicit(100.0)); formulaData2.Name = (__Null)"PVO "; formulaData2.SetAttrs("WIDTH1.6,HIGHQUALITY"); FormulaData formulaData3 = FormulaBase.EMA(formulaData2, this.N3); formulaData3.Name = (__Null)"M "; return(new FormulaPackage(new FormulaData[2] { formulaData2, formulaData3 }, "")); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaData.op_Multiply(FormulaData.op_Division(FormulaData.op_Subtraction(this.get_CLOSE(), this.get_OPEN()), FormulaData.op_Subtraction(this.get_HIGH(), this.get_LOW())), this.get_VOL()); formulaData1.Name = (__Null)"WVAD "; FormulaData formulaData2 = FormulaBase.MA(formulaData1, this.N1); formulaData2.Name = (__Null)"MA1"; FormulaData formulaData3 = FormulaBase.MA(formulaData1, this.N2); formulaData3.Name = (__Null)"MA2"; return(new FormulaPackage(new FormulaData[3] { formulaData1, formulaData2, formulaData3 }, "")); }
public override FormulaPackage Run(IDataProvider dp) { this.DataProvider = dp; FormulaData formulaData = (base.CLOSE - FormulaBase.MA(base.CLOSE, this.L1)) / FormulaBase.MA(base.CLOSE, this.L1) * 100.0; formulaData.Name = "BIAS1 "; FormulaData formulaData2 = (base.CLOSE - FormulaBase.MA(base.CLOSE, this.L2)) / FormulaBase.MA(base.CLOSE, this.L2) * 100.0; formulaData2.Name = "BIAS2 "; FormulaData formulaData3 = (base.CLOSE - FormulaBase.MA(base.CLOSE, this.L3)) / FormulaBase.MA(base.CLOSE, this.L3) * 100.0; formulaData3.Name = "BIAS3 "; return(new FormulaPackage(new FormulaData[] { formulaData, formulaData2, formulaData3 }, "")); }
private void AddFavorite(string[] Formulas) { ddlFavoriteFormula.Items.Clear(); ddlFavoriteFormula.Items.Add("Select to add new formula"); foreach (string s in Formulas) { FormulaBase fb = FormulaBase.GetFormulaByName(s); foreach (object o in ddlFavoriteFormula.Items) { if (o.GetType() == fb.GetType()) { goto Next; } } ddlFavoriteFormula.Items.Add(fb); Next :; } ddlFavoriteFormula.SelectedIndex = 0; }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaBase.MA(this.get_CLOSE(), this.N); formulaData1.Name = (__Null)"MID "; FormulaData formulaData2 = FormulaData.op_Addition(formulaData1, FormulaData.op_Multiply(FormulaData.op_Implicit(this.P), FormulaBase.STD(this.get_CLOSE(), this.N))); formulaData2.Name = (__Null)"UPPER"; FormulaData formulaData3 = FormulaData.op_Subtraction(formulaData1, FormulaData.op_Multiply(FormulaData.op_Implicit(this.P), FormulaBase.STD(this.get_CLOSE(), this.N))); formulaData3.Name = (__Null)"LOWER"; return(new FormulaPackage(new FormulaData[3] { formulaData1, formulaData2, formulaData3 }, "")); }
private void CreateNode(FormulaBase fb) { string r = fb.GetType().ToString(); if (r.StartsWith("FML.")) { r = r.Substring(4); } int i = r.IndexOf('.'); if (i < 0) { r = "Basic." + r; } TreeNode tn = tvFormula.Nodes[0]; while ((i = r.IndexOf('.')) > 0) { string s = r.Substring(0, i); r = r.Substring(i + 1); TreeNode tnNew = null; for (int j = 0; j < tn.Nodes.Count; j++) { if (tn.Nodes[j].Text == s) { tnNew = tn.Nodes[j]; break; } } if (tnNew == null) { tn.Nodes.Add(tnNew = new TreeNode(s, 0, 0)); } tn = tnNew; } TreeNode tnText = new TreeNode(fb.CombineName, 1, 1); tnText.Tag = fb; tn.Nodes.Add(tnText); }
public override FormulaPackage Run(IDataProvider dp) { this.DataProvider = dp; FormulaData formulaData = FormulaBase.EMA(base.CLOSE, this.SHORT) - FormulaBase.EMA(base.CLOSE, this.LONG); formulaData.Name = "DIFF "; FormulaData formulaData2 = FormulaBase.EMA(formulaData, this.M); formulaData2.Name = "DEA "; FormulaData formulaData3 = 2.0 * (formulaData - formulaData2); formulaData3.Name = "MACD "; formulaData3.SetAttrs(" COLORSTICK"); return(new FormulaPackage(new FormulaData[3] { formulaData, formulaData2, formulaData3 }, "")); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaData.op_Subtraction(FormulaBase.EMA(this.get_VOL(), this.SHORT), FormulaBase.EMA(this.get_VOL(), this.LONG)); formulaData1.Name = (__Null)"DIFF "; FormulaData formulaData2 = FormulaBase.EMA(formulaData1, this.M); formulaData2.Name = (__Null)"DEA "; FormulaData formulaData3 = FormulaData.op_Subtraction(formulaData1, formulaData2); formulaData3.Name = (__Null)"MACD "; formulaData3.SetAttrs(" COLORSTICK"); return(new FormulaPackage(new FormulaData[3] { formulaData1, formulaData2, formulaData3 }, "")); }
public static FormulaData operator !(FormulaData f1) { if (FormulaBase.Testing) { return(FormulaBase.TestData(0, f1)); } FormulaData nf = new FormulaData(f1.Length); for (int i = 0; i < f1.Length; i++) { if (f1.Data[i] == 0) { nf.Data[i] = 1; } else { nf.Data[i] = 0; } } return(nf); }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaData.op_Division(this.get_C(), FormulaBase.REF(this.get_C(), this.N)); formulaData1.Name = (__Null)"RC"; FormulaData formulaData2 = FormulaBase.SMA(FormulaBase.REF(formulaData1, 1.0), this.N, 1.0); formulaData2.Name = (__Null)"ARC"; FormulaData formulaData3 = FormulaData.op_Subtraction(FormulaBase.MA(FormulaBase.REF(formulaData2, 1.0), this.N1), FormulaBase.MA(FormulaBase.REF(formulaData2, 1.0), this.N2)); formulaData3.Name = (__Null)"DIF"; FormulaData formulaData4 = FormulaBase.SMA(formulaData3, this.N, 1.0); formulaData4.Name = (__Null)"RCCD"; return(new FormulaPackage(new FormulaData[2] { formulaData3, formulaData4 }, "")); }
public static FormulaData operator !(FormulaData f1)//op_LogicalNot(FormulaData f1) { if (FormulaBase.Testing) { return(FormulaBase.TestData(0, new FormulaData[] { f1 })); } FormulaData data = new FormulaData(f1.Length); for (int i = 0; i < f1.Length; i++) { if (f1.Data[i] == 0.0) { data.Data[i] = 1.0; } else { data.Data[i] = 0.0; } } return(data); }
/// <summary> /// Create a formula string with parameters /// </summary> /// <param name="FormulaName">Formula name</param> /// <param name="tbs">Parameter TextBox array </param> /// <returns>Formula string with parameters</returns> public static string TextBoxToParam(string FormulaName, TextBox[] tbs) { string s = ""; int j = FormulaName.IndexOf('('); if (j >= 0) { FormulaName = FormulaName.Substring(0, j); } for (int i = 0; i < tbs.Length; i++) { if (tbs[i].Text != "") { if (s != "") { s += ","; } s += tbs[i].Text; } else { break; } } if (s != "") { s = "(" + s + ")"; } FormulaBase fb = FormulaBase.GetFormulaByName(FormulaName); if (fb != null) { return(FormulaName + s); } else { return(""); } }
public virtual FormulaPackage Run(IDataProvider dp) { this.DataProvider = (__Null)dp; FormulaData formulaData1 = FormulaData.op_Division(FormulaData.op_Addition(FormulaData.op_Addition(this.get_HIGH(), this.get_LOW()), this.get_CLOSE()), FormulaData.op_Implicit(3.0)); formulaData1.Name = (__Null)"TYP"; FormulaData formulaData2 = FormulaBase.LLV(this.get_LOW(), this.N); formulaData2.Name = (__Null)"LL"; FormulaData formulaData3 = FormulaBase.HHV(this.get_HIGH(), this.N); formulaData3.Name = (__Null)"HH"; FormulaData formulaData4 = FormulaData.op_Addition(formulaData1, FormulaData.op_Subtraction(formulaData1, formulaData2)); formulaData4.Name = (__Null)"WR"; FormulaData formulaData5 = FormulaData.op_Addition(formulaData1, FormulaData.op_Subtraction(formulaData3, formulaData2)); formulaData5.Name = (__Null)"MR"; FormulaData formulaData6 = FormulaData.op_Subtraction(FormulaData.op_Multiply(FormulaData.op_Implicit(2.0), formulaData3), formulaData2); formulaData6.Name = (__Null)"SR"; FormulaData formulaData7 = FormulaData.op_Subtraction(formulaData1, FormulaData.op_Subtraction(formulaData3, formulaData1)); formulaData7.Name = (__Null)"WS"; FormulaData formulaData8 = FormulaData.op_Subtraction(formulaData1, FormulaData.op_Subtraction(formulaData3, formulaData2)); formulaData8.Name = (__Null)"MS"; FormulaData formulaData9 = FormulaData.op_Subtraction(FormulaData.op_Multiply(FormulaData.op_Implicit(2.0), formulaData2), formulaData3); formulaData9.Name = (__Null)"SS"; return(new FormulaPackage(new FormulaData[6] { formulaData4, formulaData5, formulaData6, formulaData7, formulaData8, formulaData9 }, "")); }