예제 #1
0
 public LuanchScalp(Form3 form3, EmaSettings emaSett)
 {
     form = form3;
     S    = new AlsiUtils.Statistics();
     S.OnStatsCaculated += new Statistics.StatsCalculated(S_OnStatsCaculated);
     E   = new AlsiUtils.Strategies.Parameter_EMA_Scalp();
     ema = emaSett;
 }
 public LuanchScalp(Form3 form3,EmaSettings emaSett)
 {
     form = form3;
     S = new AlsiUtils.Statistics();
     S.OnStatsCaculated += new Statistics.StatsCalculated(S_OnStatsCaculated);
     E = new AlsiUtils.Strategies.Parameter_EMA_Scalp();
   ema=emaSett ;
 }
예제 #3
0
 public static List<Trade> DoYourThing(string Instrument,Parameter_EMA_Scalp Param,DateTime StartPeriod)
 {              
     Statistics _Stats = new Statistics();
     GlobalObjects.TimeInterval t = GlobalObjects.TimeInterval.Minute_5;
     DataBase.dataTable dt = DataBase.dataTable.MasterMinute;
     var _tempTradeList = AlsiTrade_Backend.RunCalcs.RunEMAScalp(Param, t, false, StartPeriod, DateTime.Now.AddHours(5), dt);
     var _trades = _Stats.CalcBasicTradeStats_old(_tempTradeList);
     return _trades;                          
 }
예제 #4
0
        public static Trade GetLastTrade(Parameter_EMA_Scalp Parameter, GlobalObjects.TimeInterval t)
        {
            var _Stats = new AlsiUtils.Statistics();
            var dt     = DataBase.dataTable.MasterMinute;

            var _tempTradeList = AlsiTrade_Backend.RunCalcs.RunEMAScalp(Parameter, t, true, DateTime.Now.AddMonths(-1), DateTime.Now.AddHours(12), dt);
            var _trades        = _Stats.CalcBasicTradeStats_old(_tempTradeList);

            _trades.Reverse();

            return(_trades[0]);
        }
예제 #5
0
        private void TradeToCandle()
        {
            //Laptop
            // string css = @"Data Source=ALSI-PC\;Initial Catalog=AlsiTrade;Integrated Security=True";
            //PC
            string css = @"Data Source=PIETER-PC\;Initial Catalog=AlsiTrade;Integrated Security=True";

            AlsiUtils.Data_Objects.GlobalObjects.CustomConnectionString = css;



            //  DateTime s = new DateTime(2006, 01, 01);
            //  DateTime e = new DateTime(2006, 12, 15);

            DateTime s = new DateTime(2012, 1, 1);
            DateTime e = new DateTime(2013, 12, 29);


            var prices = AlsiUtils.DataBase.readDataFromDataBase(GlobalObjects.TimeInterval.Minute_5, AlsiUtils.DataBase.dataTable.MasterMinute,
                                                                 s, e, false);

            Debug.WriteLine("Start Date " + prices[0].TimeStamp);

            //for (int x = 2; x < 50; x++)
            //{

            AlsiUtils.Strategies.Parameter_EMA_Scalp E = new AlsiUtils.Strategies.Parameter_EMA_Scalp()
            {
                A_EMA1        = 16,
                A_EMA2        = 17,
                B_EMA1        = 43,
                B_EMA2        = 45,
                C_EMA         = 52,
                TakeProfit    = 450,
                StopLoss      = -300,
                CloseEndofDay = false,
                Period        = prices.Count,
            };
            //  takep = E.TakeProfit;
            // takel = E.StopLoss;
            AlsiUtils.Statistics S = new AlsiUtils.Statistics();
            S.OnStatsCaculated += new AlsiUtils.Statistics.StatsCalculated(S_OnStatsCaculated);
            var Trades = AlsiUtils.Strategies.EMA_Scalp.EmaScalp(E, prices, false);

            Trades = S.CalcBasicTradeStats_old(Trades);

            var rr = Statistics.IntratradeToCandle(Trades);
            var RR = CompletedTrade.CreateList(rr);



            PrintTradesonly(RR);
        }
        void S_OnStatsCaculated(object sender, Statistics.StatsCalculatedEvent e)
        {
            string position = E.A_EMA1 + "-" + E.A_EMA2 + "     " + E.B_EMA1 + "-" + E.B_EMA2 + "      " + E.C_EMA + "\n" + e.SumStats.Total_Avg_PL;
            form.UpdatePos(position);

            if (e.SumStats.Total_Avg_PL>10 || e.SumStats.Total_Avg_PL<-10)//(e.SumStats.TotalProfit > maxprof)
            {
                //maxprof = e.SumStats.TotalProfit;
                StringBuilder stat = new StringBuilder("");
              

                Debug.WriteLine("============STATS==============");
                Debug.WriteLine("Total PL " + e.SumStats.TotalProfit);
                Debug.WriteLine("# Trades " + e.SumStats.TradeCount);
                Debug.WriteLine("Tot Avg PL " + e.SumStats.Total_Avg_PL);
                Debug.WriteLine("Prof % " + e.SumStats.Pct_Prof);
                Debug.WriteLine("Loss % " + e.SumStats.Pct_Loss);
                Debug.WriteLine("Take P " + takep);
                Debug.WriteLine("Take L " + takel);

                stat.Append("============STATS==============");
                stat.Append("\nTotal PL " + e.SumStats.TotalProfit);
                stat.Append("\n# Trades " + e.SumStats.TradeCount);
                stat.Append("\nTot Avg PL " + e.SumStats.Total_Avg_PL);
                stat.Append("\nProf % " + e.SumStats.Pct_Prof);
                stat.Append("\nLoss % " + e.SumStats.Pct_Loss);
                stat.Append("\nTake P " + takep);
                stat.Append("\nTake L " + takel);

                form.UpdateDisplay(stat.ToString());

                SimDBDataContext dc = new SimDBDataContext();
                tbl2Min tbl = new tbl2Min()
                {
                    Trades = (int)e.SumStats.TradeCount,
                    TotalPL = (int)e.SumStats.TotalProfit,
                    AvgPL = e.SumStats.Total_Avg_PL,
                    Win = e.SumStats.Pct_Prof,
                    Loose = e.SumStats.Pct_Loss,
                    E_A1 = E.A_EMA1,
                    E_A2 = E.A_EMA2,
                    E_B1 = E.B_EMA1,
                    E_B2 = E.B_EMA2,
                    E_C = E.C_EMA,
                    Period = 2012,
                    CloseEndDay = "True",

                };
                  dc.tbl2Mins.InsertOnSubmit(tbl);
                  dc.SubmitChanges();
            }
        }
예제 #7
0
        public void RunSingleNEW()
        {
            //Laptop
            // string css = @"Data Source=ALSI-PC\;Initial Catalog=AlsiTrade;Integrated Security=True";
            //PC
            string css = @"Data Source=PIETER-PC\;Initial Catalog=AlsiTrade;Integrated Security=True";

            AlsiUtils.Data_Objects.GlobalObjects.CustomConnectionString = css;

            //  DateTime s = new DateTime(2006, 01, 01);
            //  DateTime e = new DateTime(2006, 12, 15);

            DateTime s = new DateTime(2011, 12, 15);
            DateTime e = new DateTime(2013, 09, 29);



            var prices = AlsiUtils.DataBase.readDataFromDataBase(GlobalObjects.TimeInterval.Minute_5, AlsiUtils.DataBase.dataTable.MasterMinute,
                                                                 s, e, false);

            Debug.WriteLine("Start Date " + prices[0].TimeStamp);

            //for (int x = 2; x < 50; x++)
            //{

            AlsiUtils.Strategies.Parameter_EMA_Scalp E = new AlsiUtils.Strategies.Parameter_EMA_Scalp()
            {
                A_EMA1        = 18,
                A_EMA2        = 19,
                B_EMA1        = 25,
                B_EMA2        = 26,
                C_EMA         = 32,
                TakeProfit    = 25,
                StopLoss      = -25,
                CloseEndofDay = true,
                Period        = prices.Count,
            };

            var Trades = AlsiUtils.Strategies.EmaSalp2.EmaScalp(E, prices, false);

            S = new AlsiUtils.Statistics();
            S.OnStatsCaculated += new AlsiUtils.Statistics.StatsCalculated(S_OnStatsCaculated);

            //var Trades = AlsiUtils.Strategies.EMA_Scalp.EmaScalp(E, prices, false);

            Trades = S.CalcBasicTradeStats(Trades);
            // var NewTrades = AlsiUtils.Strategies.TradeStrategy.Expansion.ApplyRegressionFilter(10, Trades);
            // NewTrades = S.CalcExpandedTradeStats(NewTrades);

            // PrintTradesonly(Trades);
        }
예제 #8
0
        public static Trade GetLastTrade(Parameter_EMA_Scalp Parameter, GlobalObjects.TimeInterval t)
        {
            var _Stats = new AlsiUtils.Statistics();
            var dt = DataBase.dataTable.MasterMinute;

            var _tempTradeList = AlsiTrade_Backend.RunCalcs.RunEMAScalp(Parameter, t, true, DateTime.Now.AddMonths(-1), DateTime.Now.AddHours(12), dt);
            var _trades = _Stats.CalcBasicTradeStats_old(_tempTradeList);
            _trades.Reverse();

            return _trades[0];
        }
 void _Stats_OnStatsCaculated(object sender, Statistics.StatsCalculatedEvent e)
 {
     Debug.WriteLine("============STATS==============");
     Debug.WriteLine("Total PL " + e.SumStats.TotalProfit);
     Debug.WriteLine("# Trades " + e.SumStats.TradeCount);
     Debug.WriteLine("Tot Avg PL " + e.SumStats.Total_Avg_PL);
     Debug.WriteLine("Prof % " + e.SumStats.Pct_Prof);
     Debug.WriteLine("Loss % " + e.SumStats.Pct_Loss);
     PopulateStatBox(e.SumStats);
 }
        public void RunSingle()
        {
            //Laptop
            // string css = @"Data Source=ALSI-PC\;Initial Catalog=AlsiTrade;Integrated Security=True";
            //PC
            string css = @"Data Source=PIETER-PC\;Initial Catalog=AlsiTrade;Integrated Security=True";
            AlsiUtils.Data_Objects.GlobalObjects.CustomConnectionString = css;

            //  DateTime s = new DateTime(2006, 01, 01);
            //  DateTime e = new DateTime(2006, 12, 15);

            DateTime s = new DateTime(2012, 1, 1);
            DateTime e = new DateTime(2013, 12, 29);


            var prices = AlsiUtils.DataBase.readDataFromDataBase(GlobalObjects.TimeInterval.Minute_2, AlsiUtils.DataBase.dataTable.MasterMinute,
               s, e, false);
            Debug.WriteLine("Start Date " + prices[0].TimeStamp);

            //for (int x = 2; x < 50; x++)
            //{

            AlsiUtils.Strategies.Parameter_EMA_Scalp E = new AlsiUtils.Strategies.Parameter_EMA_Scalp()
            {
                A_EMA1 = 16,
                A_EMA2 = 17,
                B_EMA1 = 43,
                B_EMA2 = 45,
                C_EMA = 52,
                TakeProfit = 450,
                StopLoss = -300,
                CloseEndofDay = false,
                Period = prices.Count,

            };
            //takep = E.TakeProfit;
            //takel = E.StopLoss;
            AlsiUtils.Statistics S = new AlsiUtils.Statistics();
            S.OnStatsCaculated += new AlsiUtils.Statistics.StatsCalculated(S_OnStatsCaculated);
            var Trades = AlsiUtils.Strategies.EMA_Scalp.EmaScalp(E, prices, false);

            Trades = S.CalcBasicTradeStats_old(Trades);
            var NewTrades = AlsiUtils.Strategies.TradeStrategy.Expansion.ApplyRegressionFilter(10, Trades);
            NewTrades = S.CalcExpandedTradeStats(NewTrades);

           // PrintTradesonly(NewTrades);

           
        }