Beispiel #1
0
        public static void Main(string[] args)
        {
            // Getting the time series
            TimeSeries series = CsvTradesLoader.loadBitstampSeries();
            // Building the trading strategy
            Strategy strategy = MovingMomentumStrategy.buildStrategy(series);

            /// <summary>
            /// Building chart datasets
            /// </summary>
            TimeSeriesCollection dataset = new TimeSeriesCollection();

            dataset.addSeries(buildChartTimeSeries(series, new ClosePriceIndicator(series), "Bitstamp Bitcoin (BTC)"));

            /// <summary>
            /// Creating the chart
            /// </summary>
            JFreeChart chart = ChartFactory.createTimeSeriesChart("Bitstamp BTC", "Date", "Price", dataset, true, true, false);             // generate URLs? -  generate tooltips? -  create legend? -  data -  y-axis label -  x-axis label -  title
            XYPlot     plot  = (XYPlot)chart.Plot;
            DateAxis   axis  = (DateAxis)plot.DomainAxis;

            axis.DateFormatOverride = new SimpleDateFormat("MM-dd HH:mm");

            /// <summary>
            /// Running the strategy and adding the buy and sell signals to plot
            /// </summary>
            addBuySellSignals(series, strategy, plot);

            /// <summary>
            /// Displaying the chart
            /// </summary>
            displayChart(chart);
        }
Beispiel #2
0
        /// <param name="series"> the time series </param>
        /// <returns> a map (key: strategy, value: name) of trading strategies </returns>
        public static IDictionary <Strategy, string> buildStrategiesMap(TimeSeries series)
        {
            Dictionary <Strategy, string> strategies = new Dictionary <Strategy, string>();

            strategies[CCICorrectionStrategy.buildStrategy(series)]  = "CCI Correction";
            strategies[GlobalExtremaStrategy.buildStrategy(series)]  = "Global Extrema";
            strategies[MovingMomentumStrategy.buildStrategy(series)] = "Moving Momentum";
            strategies[RSI2Strategy.buildStrategy(series)]           = "RSI-2";
            return(strategies);
        }
Beispiel #3
0
        public static void Main(string[] args)
        {
            // Run the various examples in turn...
            var demo = new Quickstart();

            demo.QuickStart();
            PressAnyKey();

            CsvTicksLoader.Main();
            PressAnyKey();

            CsvTradesLoader.Main();
            PressAnyKey();

            CCICorrectionStrategy.Main();
            PressAnyKey();

            GlobalExtremaStrategy.Main();
            PressAnyKey();

            MovingMomentumStrategy.Main();
            PressAnyKey();

            RSI2Strategy.Main();
            PressAnyKey();

            var s = new StrategyAnalysis();

            s.RunCciCorrection();
            PressAnyKey();

            s.RunGlobalExtrema();
            PressAnyKey();

            s.RunMovingMomentum();
            PressAnyKey();

            s.RunRSI2();
            PressAnyKey();
        }
Beispiel #4
0
        public void RunRSI2()
        {
            var strategy = MovingMomentumStrategy.BuildStrategy(_series);

            PrintAllResults(strategy);
        }