/// <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()) { }
/// <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 }; }
/// <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 }; }
/// <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; }