예제 #1
0
        public override TradersSettings Build(int payload)
        {
            var sets = new TradersSettings
            {
                PricingSets = new TradersSettings.PricingSettings
                {
                    PricingMode = PricingSettingsMode.Fixed
                },
                MoneyManagementSets = new TradersSettings.MoneyManagementSettings
                {
                    Tickers           = defaultSettings.MoneyManagementSets.Tickers.ToList(),
                    FixedTickerIndex  = 0,
                    LotsMax           = 20,
                    LotsMin           = 10,
                    TradeRandomTicker = false
                },
                TradeSets = new TradersSettings.TradeSettings
                {
                    MakersCount         = 0,
                    OneShotTradersCount = 0,
                    ProbOfNewOrder      = 70,
                    ProbOfMassCancel    = 15,
                    ProbOfCancelOrder   = 15,
                    ProbErrorRequest    = 0
                },
                PayloadSets = new TradersSettings.PayloadSettings
                {
                    Mode = PayloadSettingsMode.Stairs,
                    RequestPerIterationProb = 100,
                    StepsCount     = 8,
                    SecondsPerStep = 5
                }
            };

            defaultSettings.CopyCommonSettingsToTarget(sets);
            var paySets = sets.PayloadSets;

            if (payload < 4)
            {
                paySets.TradersCount  = payload * 8;
                paySets.SleepInterval = 20;
            }
            else if (payload < 7)
            {
                paySets.TradersCount  = payload * 10;
                paySets.SleepInterval = 7;
            }
            else
            {
                paySets.TradersCount  = payload * 12;
                paySets.SleepInterval = 5;
            }

            return(sets);
        }
예제 #2
0
        public override TradersSettings Build(int payload)
        {
            var sets = new TradersSettings
            {
                PricingSets = new TradersSettings.PricingSettings
                {
                    PricingMode           = PricingSettingsMode.Sinusoidal,
                    SinusAmplitudePercent = 1.5m,
                    SinusPeriodMs         = 1000 * 10
                },
                MoneyManagementSets = new TradersSettings.MoneyManagementSettings
                {
                    Tickers           = defaultSettings.MoneyManagementSets.Tickers.ToList(),
                    FixedTickerIndex  = 0,
                    LotsMax           = 10,
                    LotsMin           = 10,
                    TradeRandomTicker = false
                },
                TradeSets = new TradersSettings.TradeSettings
                {
                    MakersCount                    = 1,
                    OneShotTradersCount            = 0,
                    ProbOfNewOrder                 = 70,
                    ProbOfMassCancel               = 15,
                    ProbOfCancelOrder              = 15,
                    ProbErrorRequest               = 5,
                    MarketMakerOrderLots           = 200,
                    MarketLevelsCount              = 4,
                    MilisecondsBeforUpdateMMLevels = 1000
                },
                PayloadSets = new TradersSettings.PayloadSettings
                {
                    Mode = PayloadSettingsMode.Even,
                    RequestPerIterationProb = 100
                }
            };

            defaultSettings.CopyCommonSettingsToTarget(sets);
            var paySets = sets.PayloadSets;

            if (payload < 4)
            {
                paySets.TradersCount  = payload * 5;
                paySets.SleepInterval = 30;
            }
            else
            {
                sets.TradeSets.MakersCount = 2;
                paySets.TradersCount       = payload * 10;
                paySets.SleepInterval      = 7;
            }

            return(sets);
        }
예제 #3
0
        public override TradersSettings Build(int payload)
        {
            var sets = new TradersSettings
            {
                PricingSets = new TradersSettings.PricingSettings
                {
                    PricingMode           = PricingSettingsMode.Sinusoidal,
                    SinusPeriodMs         = 2,
                    SinusAmplitudePercent = 1
                },
                MoneyManagementSets = new TradersSettings.MoneyManagementSettings
                {
                    Tickers           = defaultSettings.MoneyManagementSets.Tickers.ToList(),
                    FixedTickerIndex  = 0,
                    LotsMax           = 20,
                    LotsMin           = 10,
                    TradeRandomTicker = false
                },
                TradeSets = new TradersSettings.TradeSettings
                {
                    MakersCount         = 0,
                    OneShotTradersCount = 0,
                    ProbOfNewOrder      = 70,
                    ProbOfMassCancel    = 15,
                    ProbOfCancelOrder   = 15,
                    ProbErrorRequest    = 5
                },
                PayloadSets = new TradersSettings.PayloadSettings
                {
                    Mode                    = PayloadSettingsMode.FadeIn,
                    FadingInSeconds         = 60,
                    RequestPerIterationProb = 100
                }
            };

            defaultSettings.CopyCommonSettingsToTarget(sets);
            var paySets = sets.PayloadSets;

            if (payload < 4)
            {
                paySets.TradersCount  = payload * 15;
                paySets.SleepInterval = 20;
            }
            else
            {
                paySets.TradersCount  = payload * 18;
                paySets.SleepInterval = 5;
            }

            return(sets);
        }