Inheritance: BaseData
コード例 #1
0
ファイル: SelectFormula.cs プロジェクト: Bulletz4mysa/NBTrade
        private void tvFormula_AfterSelect(object sender, TreeViewEventArgs e)
        {
            FormulaBase fb = (FormulaBase)e.Node.Tag;

            lbLines.Items.Clear();
            if (fb != null)
            {
                lFullName.Text = fb.LongName;
                tbDesc.Text    = fb.Description;
                try
                {
                    FormulaPackage fps = fb.Run(CommonDataProvider.Empty);
                    for (int i = 0; i < fps.Count; i++)
                    {
                        FormulaData fd = fps[i];
                        if (fd.Name == null)
                        {
                            lbLines.Items.Add("[" + i + "]");
                        }
                        else
                        {
                            lbLines.Items.Add(fd.Name);
                        }
                    }
                }
                catch
                {
                }
            }
            AddParamToGroupBox(gbParam, ilFormula, fb, null);
        }
コード例 #2
0
        /// <summary>
        /// Calculate the Upper channel or Lower channel from line Y=A+BY
        /// between Bar1 and Bar2
        /// </summary>
        /// <param name="fd"></param>
        /// <param name="A"></param>
        /// <param name="B"></param>
        /// <param name="Bar1"></param>
        /// <param name="Bar2"></param>
        /// <param name="LineName"></param>
        /// <param name="CalcMax"></param>
        /// <returns></returns>
        public float CalcDelta(FormulaData fd, double A, double B, int Bar1, int Bar2, string LineName, bool CalcMax)
        {
            double[] dd = fd[LineName];
            if (dd == null)
            {
                dd = fd.Data;
            }
            double M = double.MinValue;

            if (!CalcMax)
            {
                M = double.MaxValue;
            }
            for (int i = Math.Max(0, Bar1); i < Math.Min(Bar2, dd.Length); i++)
            {
                double Y = A + B * (i - Bar1);
                if (CalcMax)
                {
                    M = Math.Max(M, dd[i] - Y);
                }
                else
                {
                    M = Math.Min(M, dd[i] - Y);
                }
            }
            return((float)M);
        }
コード例 #3
0
        public float CalcDelta(FormulaData fd, double A, double B, int Bar1, int Bar2, string LineName, bool CalcMax)
        {
            double[] data = fd[LineName];
            if (data == null)
            {
                data = fd.Data;
            }
            double minValue = double.MinValue;

            if (!CalcMax)
            {
                minValue = double.MaxValue;
            }
            for (int i = Math.Max(0, Bar1); i < Math.Min(Bar2, data.Length); i++)
            {
                double num3 = A + (B * (i - Bar1));
                if (CalcMax)
                {
                    minValue = Math.Max(minValue, data[i] - num3);
                }
                else
                {
                    minValue = Math.Min(minValue, data[i] - num3);
                }
            }
            return((float)minValue);
        }
コード例 #4
0
        public virtual FormulaPackage Run(IDataProvider dp)
        {
            this.DataProvider = (__Null)dp;
            FormulaData formulaData1 = FormulaData.op_Subtraction(FormulaBase.REF(this.get_HIGH(), 1.0), FormulaBase.REF(this.get_LOW(), 1.0));

            formulaData1.Name = (__Null)"PT  ";
            FormulaData formulaData2 = FormulaData.op_Division(FormulaData.op_Addition(FormulaData.op_Addition(this.get_HIGH(), this.get_LOW()), this.get_CLOSE()), FormulaData.op_Implicit(3.0));

            formulaData2.Name = (__Null)"CDP ";
            FormulaData formulaData3 = FormulaData.op_Addition(formulaData2, formulaData1);

            formulaData3.Name = (__Null)"AH  ";
            FormulaData formulaData4 = FormulaData.op_Subtraction(formulaData2, formulaData1);

            formulaData4.Name = (__Null)"AL  ";
            FormulaData formulaData5 = FormulaData.op_Subtraction(FormulaData.op_Multiply(FormulaData.op_Implicit(2.0), formulaData2), this.get_LOW());

            formulaData5.Name = (__Null)"NH  ";
            FormulaData formulaData6 = FormulaData.op_Subtraction(FormulaData.op_Multiply(FormulaData.op_Implicit(2.0), formulaData2), this.get_HIGH());

            formulaData6.Name = (__Null)"NL  ";
            return(new FormulaPackage(new FormulaData[5]
            {
                formulaData2,
                formulaData3,
                formulaData4,
                formulaData5,
                formulaData6
            }, ""));
        }
コード例 #5
0
        public virtual FormulaPackage Run(IDataProvider dp)
        {
            this.DataProvider = (__Null)dp;
            FormulaData formulaData1 = FormulaBase.IF(FormulaData.op_BitwiseAnd(FormulaData.op_GreaterThanOrEqual(this.get_YEAR(), FormulaData.op_Implicit(2010.0)), FormulaData.op_GreaterThanOrEqual(this.get_MONTH(), FormulaData.op_Implicit(2.0))), FormulaData.op_Implicit(0.0), FormulaData.op_Implicit(1.0));

            formulaData1.Name = (__Null)"VAR1";
            FormulaData formulaData2 = FormulaData.op_Multiply(this.get_VOL(), this.get_C());

            formulaData2.Name = (__Null)"VAR2";
            FormulaData formulaData3 = FormulaData.op_Division(FormulaBase.EMA(formulaData2, 13.0), FormulaBase.EMA(this.get_VOL(), 13.0));

            formulaData3.Name = (__Null)"VAR3";
            FormulaData formulaData4 = FormulaData.op_Multiply(FormulaData.op_Multiply(FormulaData.op_Division(FormulaData.op_Subtraction(FormulaBase.EMA(this.get_CLOSE(), this.P1), formulaData3), formulaData3), FormulaData.op_Implicit(100.0)), formulaData1);

            formulaData4.Name = (__Null)"CYS";
            FormulaData formulaData5 = FormulaData.op_Multiply(FormulaBase.EMA(formulaData4, this.P2), formulaData1);

            formulaData5.Name = (__Null)"ML";
            FormulaData formulaData6 = FormulaData.op_Implicit(0.0);

            formulaData6.Name = (__Null)"LO";
            formulaData6.SetAttrs(" POINTDOT");
            return(new FormulaPackage(new FormulaData[3]
            {
                formulaData4,
                formulaData5,
                formulaData6
            }, ""));
        }
コード例 #6
0
ファイル: Explore.aspx.cs プロジェクト: Bulletz4mysa/NBTrade
        protected void btnOK_Click(object sender, System.EventArgs e)
        {
            BindData();

            FormulaBase fb = FormulaBase.GetFormulaByName(CurrentFullName);

            foreach (string s in Request.Form)
            {
                if (s.StartsWith("__Param"))
                {
                    fb.SetParam(s.Substring(7), Request.Form[s]);
                }
            }

            YahooDataManager ydm = new YahooDataManager();

            ydm.CacheRoot = HttpRuntime.AppDomainAppPath + "Cache\\";
            CommonDataProvider DataProvider = (CommonDataProvider)ydm[tbCode.Text];

            FormulaChart fc = new FormulaChart();

            fc.AddArea("MAIN", 2);
            if (CurrentProgram.IsMainView)
            {
                fc[0].AddFormula(fb);
            }
            else
            {
                fc.AddArea(fb);
            }
            fc.LatestValueType = LatestValueType.StockOnly;

            fc.SetSkin(Config.DefaultSkin);

            try
            {
                fc.DataProvider = DataProvider;
                FormulaData fdDate = DataProvider["DATE"];
                string      s      = tbCode.Text;
                if (fdDate.Length > 0)
                {
                    s += " (" + DateTime.FromOADate(fdDate[fdDate.Length - 1]).ToString("yyyy-MMM-dd", DateTimeFormatInfo.InvariantInfo) + ")";
                }

                fc[0].Formulas[0].Name          = s;
                fc[0].Formulas[0].TextInvisible = false;
                fc.StartTime = DateTime.Now.AddMonths(-8);
                fc.EndTime   = DateTime.Now;
            }
            catch (Exception ee)
            {
                Bitmap   b = new Bitmap(640, 480);
                Graphics g = Graphics.FromImage(b);
                g.FillRectangle(Brushes.WhiteSmoke, 0, 0, 640, 480);
                g.DrawRectangle(Pens.Black, 0, 0, 639, 479);
                g.DrawString(ee.Message, new Font("verdana", 10), Brushes.Red, 1, 1);
            }

            lChart.Text = "<img src=ImageFromCache.aspx?CacheId=" + fc.SaveToImageStream(640, 400, ImageFormat.Png, 0, 0) + ">";
        }
コード例 #7
0
        public override FormulaPackage Run(IDataProvider DP)
        {
            this.DataProvider = DP;
            FormulaData NONAME0 = ASKVOL(9);

            return(new FormulaPackage(new FormulaData[] { NONAME0 }, ""));
        }
コード例 #8
0
        public virtual FormulaPackage Run(IDataProvider dp)
        {
            this.DataProvider = (__Null)dp;
            FormulaData formulaData1 = FormulaBase.LR(this.get_C(), this.N);

            formulaData1.Name = (__Null)"A ";
            FormulaData formulaData2 = FormulaData.op_Subtraction(this.get_C(), formulaData1);

            formulaData2.Name = (__Null)"DIST ";
            FormulaData formulaData3 = FormulaData.op_Implicit(FormulaBase.MAX(new double[2]
            {
                FormulaBase.MAXVALUE(formulaData2),
                FormulaBase.MINVALUE(formulaData2)
            }) * this.P / 100.0);

            formulaData3.Name = (__Null)"M  ";
            FormulaData formulaData4 = FormulaData.op_Addition(formulaData1, formulaData3);

            formulaData4.Name = (__Null)"UPPER ";
            FormulaData formulaData5 = FormulaData.op_Subtraction(formulaData1, formulaData3);

            formulaData5.Name = (__Null)"LOWER ";
            FormulaData formulaData6 = formulaData1;

            this.SETNAME(formulaData1, "");
            this.SETTEXTVISIBLE(formulaData4, false);
            this.SETTEXTVISIBLE(formulaData5, false);
            return(new FormulaPackage(new FormulaData[3]
            {
                formulaData4,
                formulaData5,
                formulaData6
            }, ""));
        }
コード例 #9
0
ファイル: SlowSTO.cs プロジェクト: Bulletz4mysa/NBTrade
        public override FormulaPackage Run(IDataProvider dp)
        {
            this.DataProvider = dp;
            FormulaData formulaData = (base.CLOSE - FormulaBase.LLV(base.LOW, this.N)) / (FormulaBase.HHV(base.HIGH, this.N) - FormulaBase.LLV(base.LOW, this.N)) * 100.0;

            formulaData.Name = "A";
            FormulaData majorLine = FormulaBase.MA(formulaData, this.M1);

            majorLine.Name = "K";
            FormulaData majorLineMA = FormulaBase.MA(majorLine, this.M2);

            majorLineMA.Name = "D";

            FormulaData overboughtThreshold = 80.0;
            FormulaData oversoldThreshold   = 20.0;

            FormulaData overboughtZone = base.FILLRGN(majorLine > overboughtThreshold, majorLine, overboughtThreshold);

            overboughtZone.SetAttrs("BRUSH#ABCE2A60"); //alpha = 00 means absolute transparent FF means solid
            FormulaData oversoldZone = base.FILLRGN(majorLine < oversoldThreshold, majorLine, oversoldThreshold);

            oversoldZone.SetAttrs("BRUSH#AB6BCE2A");

            return(new FormulaPackage(new FormulaData[]
            {
                majorLine,
                majorLineMA,
                overboughtThreshold,
                oversoldThreshold,
                overboughtZone,
                oversoldZone,
            }, ""));
        }
コード例 #10
0
ファイル: RSI.cs プロジェクト: Bulletz4mysa/NBTrade
        public override FormulaPackage Run(IDataProvider dp)
        {
            this.DataProvider = dp;
            FormulaData formulaData = FormulaBase.REF(base.CLOSE, 1.0);

            formulaData.Name = "LC ";
            FormulaData formulaData2 = FormulaBase.SMA(FormulaBase.MAX(new FormulaData[]
            {
                base.CLOSE - formulaData,
                0.0
            }), this.N1, 1.0) / FormulaBase.SMA(FormulaBase.ABS(base.CLOSE - formulaData), this.N1, 1.0) * 100.0;

            formulaData2.Name = "RSI";
            FormulaData formulaData3 = 70.0;

            formulaData3.SetAttrs("HIGHSPEED");
            FormulaData formulaData4 = 30.0;

            formulaData4.SetAttrs("HIGHSPEED");
            FormulaData formulaData5 = base.FILLRGN(formulaData2 > 70.0, formulaData2, 70.0);

            formulaData5.SetAttrs("BRUSH#ABD930E2");////20808000");
            FormulaData formulaData6 = base.FILLRGN(formulaData2 < 30.0, formulaData2, 30.0);

            formulaData6.SetAttrs("BRUSH#AB2ACE97");//20800000");
            return(new FormulaPackage(new FormulaData[]
            {
                formulaData2,
                formulaData3,
                formulaData4,
                formulaData5,
                formulaData6
            }, ""));
        }
コード例 #11
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";
            FormulaData formulaData3 = FormulaData.op_Implicit(70.0);

            formulaData3.SetAttrs("HIGHSPEED");
            FormulaData formulaData4 = FormulaData.op_Implicit(30.0);

            formulaData4.SetAttrs("HIGHSPEED");
            FormulaData formulaData5 = this.FILLRGN(FormulaData.op_GreaterThan(formulaData2, FormulaData.op_Implicit(70.0)), formulaData2, FormulaData.op_Implicit(70.0));

            formulaData5.SetAttrs("BRUSH#20808000");
            FormulaData formulaData6 = this.FILLRGN(FormulaData.op_LessThan(formulaData2, FormulaData.op_Implicit(30.0)), formulaData2, FormulaData.op_Implicit(30.0));

            formulaData6.SetAttrs("BRUSH#20800000");
            return(new FormulaPackage(new FormulaData[5]
            {
                formulaData2,
                formulaData3,
                formulaData4,
                formulaData5,
                formulaData6
            }, ""));
        }
コード例 #12
0
 public override void Construction()
 {
     AllFormulaDataList = new List <FormulaData>();
     for (int i = 0; i < 2; i++)
     {
         FormulaData data = new FormulaData();
         data.FormulaID         = i;
         data.FormulaName       = "";
         data.FormulaDesc       = "";
         data.IconPath          = "";
         data.ProductSpeed      = i;
         data.EXP               = (ushort)i;
         data.InputMaterialList = "";
         data.OutputMaterial    = "";
         data.EnhanceMaterial   = "";
         AllFormulaDataList.Add(data);
     }
     AllFormulaInfoList = new List <FormulaInfo>();
     for (int i = 0; i < 2; i++)
     {
         FormulaInfo info = new FormulaInfo();
         info.InfoID      = i;
         info.InfoType    = (ushort)i;
         info.FormulaList = "";
         AllFormulaInfoList.Add(info);
     }
 }
コード例 #13
0
        private void btnTesting_Click(object sender, System.EventArgs e)
        {
            FormulaBase   fb  = FormulaBase.GetFormulaByName("Trading." + sfBackTesting.SelectedFormula);
            IDataManager  idm = Utils.GetDataManager(Config.DefaultDataManager);
            IDataProvider idp = idm[tbSymbol.Text, Tools.ToIntDef(tbBars.Text, 260)];

            if (idp != null && idp.Count > 0)
            {
                FormulaPackage fp      = fb.Run(idp);
                FormulaData    fdEnter = fp["EnterLong"];
                FormulaData    fdExit  = fp["ExitLong"];
                FormulaData    fdPrice = idp["CLOSE"];
                int            Count   = fdPrice.Length;
                dtResult = new DataTable();
                dtResult.Columns.Add("EntryDate", typeof(DateTime));
                dtResult.Columns.Add("EntryPrice", typeof(double));
                dtResult.Columns.Add("ExitDate", typeof(DateTime));
                dtResult.Columns.Add("ExitPrice", typeof(double));
                dtResult.Columns.Add("ProfitPercent", typeof(double));
                dtResult.Columns.Add("BarsHold");
                bool   Entered    = false;
                int    EntryBars  = 0;
                double EntryPrice = 0;
                for (int i = 0; i < Count; i++)
                {
                    if (Entered)
                    {
                        if (fdExit[i] > 0)
                        {
                            DataRow drLast = dtResult.Rows[dtResult.Rows.Count - 1];
                            drLast["ExitDate"] = DateTime.FromOADate(idp["DATE"][i]);
                            double ExitPrice = fdPrice[i];
                            drLast["ExitPrice"]     = ExitPrice;
                            drLast["BarsHold"]      = i - EntryBars;
                            drLast["ProfitPercent"] = (ExitPrice - EntryPrice) / EntryPrice;
                            Entered = false;
                        }
                    }
                    else
                    {
                        if (fdEnter[i] > 0)
                        {
                            EntryPrice = fdPrice[i];
                            dtResult.Rows.Add(new object[] { DateTime.FromOADate(idp["DATE"][i])
                                                             , EntryPrice });
                            EntryBars = i;
                            Entered   = true;
                        }
                    }
                }
                dgResult.DataSource = dtResult;
            }
            else
            {
                lMsg.Text = tbSymbol.Text + " not found!";
            }
            AllProfit = 1;
            dgResult.DataBind();
        }
コード例 #14
0
        private static string OnMatch_Max(FormulaData data, string clause)
        {
            string[] parse = ClauseParse2Inputs(clause, data);
            int      a     = int.Parse(parse[0]);
            int      b     = int.Parse(parse[1]);

            return(Mathf.Max(a, b).ToString(CULTURE));
        }
コード例 #15
0
        private static string OnMatch_Rand(FormulaData data, string clause)
        {
            string[] parse = ClauseParse2Inputs(clause, data);
            int      min   = int.Parse(parse[0]);
            int      max   = int.Parse(parse[1]);

            return(UnityEngine.Random.Range(min, max).ToString(CULTURE));
        }
コード例 #16
0
ファイル: MASS.cs プロジェクト: Bulletz4mysa/NBTrade
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaBase.SUM(FormulaData.op_Division(FormulaBase.EMA(FormulaData.op_Subtraction(this.get_HIGH(), this.get_LOW()), this.N1), FormulaBase.EMA(FormulaBase.EMA(FormulaData.op_Subtraction(this.get_HIGH(), this.get_LOW()), this.N1), this.N1)), this.N2)
     }, ""));
 }
コード例 #17
0
ファイル: ADR.cs プロジェクト: Bulletz4mysa/NBTrade
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaData.op_Division(FormulaBase.SUM(this.get_ADVANCE(), this.N), FormulaBase.SUM(this.get_DECLINE(), this.N))
     }, ""));
 }
コード例 #18
0
ファイル: VROC.cs プロジェクト: Bulletz4mysa/NBTrade
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaData.op_Multiply(FormulaData.op_Division(FormulaData.op_Subtraction(this.get_VOL(), FormulaBase.REF(this.get_VOL(), this.N)), FormulaBase.REF(this.get_VOL(), this.N)), FormulaData.op_Implicit(100.0))
     }, ""));
 }
コード例 #19
0
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaData.op_Multiply(FormulaData.op_Division(FormulaBase.COUNT(FormulaData.op_GreaterThan(this.get_CLOSE(), FormulaBase.REF(this.get_CLOSE(), 1.0)), this.N), FormulaData.op_Implicit(this.N)), FormulaData.op_Implicit(100.0))
     }, ""));
 }
コード例 #20
0
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaData.op_Division(FormulaData.op_Addition(FormulaData.op_Addition(FormulaData.op_Addition(FormulaBase.MA(this.get_C(), this.N1), FormulaBase.MA(this.get_C(), this.N2)), FormulaBase.MA(this.get_C(), this.N3)), FormulaBase.MA(this.get_C(), this.N4)), FormulaData.op_Implicit(4.0))
     }, ""));
 }
コード例 #21
0
ファイル: WR.cs プロジェクト: Bulletz4mysa/NBTrade
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaData.op_Division(FormulaData.op_Multiply(FormulaData.op_Implicit(100.0), FormulaData.op_Subtraction(FormulaBase.HHV(this.get_HIGH(), this.N), this.get_CLOSE())), FormulaData.op_Subtraction(FormulaBase.HHV(this.get_HIGH(), this.N), FormulaBase.LLV(this.get_LOW(), this.N)))
     }, ""));
 }
コード例 #22
0
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaData.op_Subtraction(this.get_C(), FormulaBase.REF(FormulaBase.MA(this.get_CLOSE(), 20.0), 11.0))
     }, ""));
 }
コード例 #23
0
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaData.op_Division(FormulaData.op_Subtraction(FormulaBase.HHV(this.get_CLOSE(), this.N), FormulaBase.LLV(this.get_CLOSE(), this.N)), FormulaBase.SUM(FormulaBase.ABS(FormulaData.op_Subtraction(this.get_CLOSE(), FormulaBase.REF(this.get_CLOSE(), 1.0))), this.N))
     }, ""));
 }
コード例 #24
0
ファイル: ManufactoryBase.cs プロジェクト: EpicProj/RPG
 public void RefreshFormula(int formulaID)
 {
     CurrentFormulaID   = formulaID;
     currentFormulaData = FormulaModule.GetFormulaDataByID(formulaID);
     currentInputItem   = FormulaModule.GetFormulaItemList(formulaID, FormulaModule.MaterialProductType.Input);
     currentOutputItem  = FormulaModule.GetFormulaOutputMaterial(formulaID);
     currentEnhanceItem = FormulaModule.GetFormulaEnhanceMaterial(CurrentFormulaID);
 }
コード例 #25
0
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaBase.SUM(FormulaData.op_Subtraction(this.get_ADVANCE(), this.get_DECLINE()), 0.0)
     }, ""));
 }
コード例 #26
0
ファイル: MCO.cs プロジェクト: Bulletz4mysa/NBTrade
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaData.op_Subtraction(FormulaData.op_Division(FormulaBase.EMA(FormulaData.op_Subtraction(this.get_ADVANCE(), this.get_DECLINE()), this.N1), FormulaData.op_Implicit(10.0)), FormulaData.op_Division(FormulaBase.EMA(FormulaData.op_Subtraction(this.get_ADVANCE(), this.get_DECLINE()), this.N2), FormulaData.op_Implicit(20.0)))
     }, ""));
 }
コード例 #27
0
 public virtual FormulaPackage Run(IDataProvider dp)
 {
     this.DataProvider = (__Null)dp;
     return(new FormulaPackage(new FormulaData[1]
     {
         FormulaBase.IF(FormulaData.op_LessThan(this.get_C(), FormulaBase.REF(this.get_C(), this.N)), FormulaData.op_Division(FormulaData.op_Subtraction(this.get_C(), FormulaBase.REF(this.get_C(), this.N)), FormulaBase.REF(this.get_C(), this.N)), FormulaBase.IF(FormulaData.op_Equality(this.get_C(), FormulaBase.REF(this.get_C(), this.N)), FormulaData.op_Implicit(0.0), FormulaData.op_Division(FormulaData.op_Subtraction(this.get_C(), FormulaBase.REF(this.get_C(), this.N)), this.get_C())))
     }, ""));
 }
コード例 #28
0
        // CLAUSES: -------------------------------------------------------------------------------

        private static string ClauseParseName(string clause, FormulaData data)
        {
            int sIndex = clause.IndexOf('[');
            int eIndex = clause.IndexOf(']');

            string content = clause.Substring(sIndex + 1, eIndex - sIndex - 1);

            return(Formula.ParseFormula(new StringBuilder(content), data));
        }
コード例 #29
0
 public void SetSnapPrice(SnapType snap)
 {
     if (snap == SnapType.Price)
     {
         double[] dd    = this.Manager.Canvas.BackChart.DataProvider["DATE"];
         int      index = 0;
         int      num2  = 1;
         if (this.ControlPointNum == 1)
         {
             num2 = 0;
         }
         int a = FormulaChart.FindIndex(dd, this.ControlPoints[index].X);
         int b = FormulaChart.FindIndex(dd, this.ControlPoints[num2].X);
         if (a > b)
         {
             this.Swap(ref a, ref b);
         }
         FormulaData data      = this.Area.FormulaDataArray[0];
         double[]    numArray2 = data["L"];
         if (numArray2 == null)
         {
             numArray2 = data.Data;
         }
         double[] numArray3 = data["H"];
         if (numArray3 == null)
         {
             numArray3 = data.Data;
         }
         if ((a < numArray2.Length) && (b < numArray2.Length))
         {
             float maxValue = float.MaxValue;
             float minValue = float.MinValue;
             for (int i = a; i <= b; i++)
             {
                 maxValue = Math.Min(maxValue, (float)numArray2[i]);
                 minValue = Math.Max(minValue, (float)numArray3[i]);
             }
             if (this.ControlPointNum > 1)
             {
                 if (this.ControlPoints[0].Y < this.ControlPoints[1].Y)
                 {
                     this.Swap(ref maxValue, ref minValue);
                 }
                 this.ControlPoints[0].Y = minValue;
                 this.ControlPoints[1].Y = maxValue;
             }
             else if (this.ControlPoints[0].Y < maxValue)
             {
                 this.ControlPoints[0].Y = maxValue;
             }
             else if (this.ControlPoints[0].Y > minValue)
             {
                 this.ControlPoints[0].Y = minValue;
             }
         }
     }
 }
コード例 #30
0
ファイル: Error.cs プロジェクト: Bulletz4mysa/NBTrade
        public override FormulaPackage Run(IDataProvider dp)
        {
            this.DataProvider = dp;
            FormulaData A = NAN; A.Name = "A";

            SETNAME(MSG);
            SETTEXTVISIBLE(A, FALSE);
            return(new FormulaPackage(new FormulaData[] { A }, ""));
        }
コード例 #31
0
 /**
  * Constructor
  *
  * @param f the formula to copy
  */
 protected ReadFormulaRecord(FormulaData f)
     : base(Type.FORMULA, f)
 {
     formula = f;
 }
コード例 #32
0
 // the logger
 //  private static Logger logger = Logger.getLogger(ReadFormulaRecord.class);
 /**
  * Constructor
  *
  * @param f
  */
 public ReadStringFormulaRecord(FormulaData f)
     : base(f)
 {
 }
コード例 #33
0
ファイル: DataHolder.cs プロジェクト: hughrogers/RPGQuest
    /*
    ============================================================================
    Init functions
    ============================================================================
    */
    public void Init()
    {
        // first init languages
        languages = new LanguageData();

        statusValues = new  StatusValueData();
        elements = new  ElementData();
        races = new RaceData();
        sizes = new SizeData();
        areaNames = new AreaNameData();
        armors = new ArmorData();
        cameraPositions = new  CameraPositionData();
        attacks = new BaseAttackData();
        characters = new  CharacterData();
        classes = new  ClassData();
        colors = new  ColorData();
        dialoguePositions = new  DialoguePositionData();
        battleAIs = new  BattleAIData();
        enemies = new  EnemyData();
        equipParts = new  EquipmentPartData();
        formulas = new  FormulaData();
        gameSettings = new  GameSettingsData();
        items = new  ItemData();
        itemTypes = new  ItemTypeData();
        loadSaveHUD = new LoadSaveHUDData();
        mainMenu = new MainMenuData();
        skillTypes = new  SkillTypeData();
        effects = new  StatusEffectData();
        skills = new  SkillData();
        weapons = new  WeaponData();
        music = new MusicData();
        huds = new HUDData();
        recipes = new ItemRecipeData();
        fonts = new FontData();
        globalEvents = new GlobalEventData();
        teleports = new TeleportData();
        difficulties = new DifficultyData();

        // battle system
        battleAnimations = new BattleAnimationData();
        battleSystem = new BattleSystemData();
    }
コード例 #34
0
 // The logger
 //private static Logger logger = Logger.getLogger(ReadErrorFormulaRecord.class);
 /**
  * Constructor
  *
  * @param f
  */
 public ReadErrorFormulaRecord(FormulaData f)
     : base(f)
 {
 }
コード例 #35
0
 // The logger
 //  private static Logger logger = Logger.getLogger(ReadNumberFormulaRecord.class);
 /**
  * Constructor
  *
  * @param f
  */
 public ReadNumberFormulaRecord(FormulaData f)
     : base(f)
 {
 }
コード例 #36
0
 /**
  * Constructor
  *
  * @param f
  */
 public ReadBooleanFormulaRecord(FormulaData f)
     : base(f)
 {
 }