예제 #1
0
        public override void OnLoad(ProjectProperties properties)
        {
            // This portfolio has one strategy on symbol A
            // and 2 strategies on symbol B to demonstrate
            // portfolio "self-organization".
            string   symbol   = properties.Starter.SymbolProperties[0].Symbol;
            Strategy strategy = CreateStrategy("ExampleOrderStrategy", "ExampleOrder-" + symbol) as Strategy;

            strategy.SymbolDefault = symbol;
            strategy.Performance.Equity.GraphEquity = false;
            var indicator = new IndicatorTest();

            indicator.Name = strategy.Name + ".IndicatorTest";
            indicator.Drawing.IsVisible = true;
            indicator.Drawing.GraphType = GraphType.Line;
            strategy.AddDependency(indicator);
            AddDependency("Portfolio", "ExampleOrder-" + symbol);

            symbol   = properties.Starter.SymbolProperties[1].Symbol;
            strategy = CreateStrategy("ExampleOrderStrategy", "ExampleOrder-" + symbol) as Strategy;
            strategy.SymbolDefault = symbol;
            strategy.Performance.Equity.GraphEquity = false;
            indicator      = new IndicatorTest();
            indicator.Name = strategy.Name + ".IndicatorTest";
            indicator.Drawing.IsVisible = true;
            indicator.Drawing.GraphType = GraphType.Line;
            strategy.AddDependency(indicator);
            AddDependency("Portfolio", "ExampleOrder-" + symbol);

            strategy = CreateStrategy("ExampleReversalStrategy", "ExampleReversal-" + symbol) as Strategy;
            strategy.SymbolDefault = symbol;
            strategy.Performance.Equity.GraphEquity = false;
            indicator      = new IndicatorTest();
            indicator.Name = strategy.Name + ".IndicatorTest";
            indicator.Drawing.IsVisible = true;
            indicator.Drawing.GraphType = GraphType.Line;
            strategy.AddDependency(indicator);
            AddDependency("Portfolio", "ExampleReversal-" + symbol);

            for (int i = 2; i < properties.Starter.SymbolProperties.Length; i++)
            {
                symbol   = properties.Starter.SymbolProperties[i].Symbol;
                strategy = CreateStrategy("ExampleOrderStrategy", "ExampleOrder-" + symbol) as Strategy;
                strategy.SymbolDefault = symbol;
                strategy.Performance.Equity.GraphEquity = false;
                indicator      = new IndicatorTest();
                indicator.Name = strategy.Name + ".IndicatorTest";
                indicator.Drawing.IsVisible = true;
                indicator.Drawing.GraphType = GraphType.Line;
                strategy.AddDependency(indicator);
                AddDependency("Portfolio", "ExampleOrder-" + symbol);
            }

            TopModel = GetPortfolio("Portfolio");
        }