Example #1
0
 /// <summary>
 /// Create generic brokerage model
 /// </summary>
 /// <param name="accounttype"></param>
 /// <param name="latencymodel"></param>
 /// <param name="slippagemodel"></param>
 public GenericBrokerModel(
     AccountType accounttype,
     LatencyModel latencymodel,
     SlippageModel slippagemodel)
     : this(accounttype, new CommissionFreeFeeModel(), new ImmediateFillBehaviour(), latencymodel, new GenericMarginCallModel(),
            new EquityMarginModel(0m, 0m), new ImmediateSettlementModel(), slippagemodel, new FloatingMarketSpreadModel())
 {
 }
Example #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CobinHoodBrokerModel"/> class.
 /// </summary>
 /// <param name="accounttype">The accounttype.</param>
 /// <param name="latencymodel">The latencymodel.</param>
 /// <param name="slippagemodel">The slippagemodel.</param>
 public CobinHoodBrokerModel(
     AccountType accounttype,
     LatencyModel latencymodel,
     SlippageModel slippagemodel)
     : base(accounttype, new RobinhoodFeeModel(), new ImmediateFillBehaviour(), latencymodel, new GenericMarginCallModel(),
            new EquityMarginModel(0m, 0m), new ImmediateSettlementModel(), slippagemodel,
            new FloatingMarketSpreadModel())
 {
     CompatibleBaseCurrencies = new[] { CurrencyType.BTC, CurrencyType.USDT, CurrencyType.ETH };
 }
Example #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RobinHoodBrokerModel"/> class.
        /// </summary>
        /// <param name="accounttype">The accounttype.</param>
        /// <param name="latencymodel">The latencymodel.</param>
        /// <param name="slippagemodel">The slippagemodel.</param>
        public RobinHoodBrokerModel(
            AccountType accounttype,
            LatencyModel latencymodel,
            SlippageModel slippagemodel)
            : base(accounttype, new RobinhoodFeeModel(), new ImmediateFillBehaviour(), latencymodel, new GenericMarginCallModel(),
                   new EquityMarginModel(0m, 0m), new ImmediateSettlementModel(), slippagemodel,
                   new FloatingMarketSpreadModel())
        {
            //Set delayed settlement model
            _delayedSettlementModel = new DelayedSettlementModel(3, TimeSpan.FromHours(4));

            //Set compatible currencies
            CompatibleBaseCurrencies = new[] { CurrencyType.USD };
        }
Example #4
0
 /// <summary>
 /// Create brokerage model for internal usage
 /// </summary>
 /// <param name="accounttype"></param>
 /// <param name="feemodel"></param>
 /// <param name="fillmodel"></param>
 /// <param name="latencymodel"></param>
 /// <param name="margincallmodel"></param>
 /// <param name="marginmodel"></param>
 /// <param name="settlementmodel"></param>
 /// <param name="slippagemodel"></param>
 /// <param name="spreadmodel"></param>
 protected GenericBrokerModel(
     AccountType accounttype,
     FeeModel feemodel,
     FillModel fillmodel,
     LatencyModel latencymodel,
     MarginCallModel margincallmodel,
     MarginModel marginmodel,
     SettlementModel settlementmodel,
     SlippageModel slippagemodel,
     SpreadModel spreadmodel)
 {
     //Set given values
     AccountType     = accounttype;
     FeeModel        = feemodel;
     FillModel       = fillmodel;
     LatencyModel    = latencymodel;
     MarginCallModel = margincallmodel;
     SettlementModel = settlementmodel;
     SlippageModel   = slippagemodel;
     MarginModel     = marginmodel;
     SpreadModel     = spreadmodel;
 }