From 23928aa5149e45200107869377fc6270fe63bc0b Mon Sep 17 00:00:00 2001 From: Oleg Rakhmatulin Date: Tue, 21 Jan 2025 01:27:51 +0100 Subject: [PATCH] Prepare release 8.0.0-alpha1 of SDK and Extensions packages --- Alpaca.Markets/Alpaca.Markets.csproj | 1 + Alpaca.Markets/PublicAPI.Shipped.txt | 27 ++++++++++++++++++++++++++ Alpaca.Markets/PublicAPI.Unshipped.txt | 27 -------------------------- 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/Alpaca.Markets/Alpaca.Markets.csproj b/Alpaca.Markets/Alpaca.Markets.csproj index 00318cb94..6a67e7523 100644 --- a/Alpaca.Markets/Alpaca.Markets.csproj +++ b/Alpaca.Markets/Alpaca.Markets.csproj @@ -20,6 +20,7 @@ - Obsolete members cleanup - remove fully obsolete and convert warnings into errors. +- Initial support for the options multi-legs orders were added in experimental mode. C# SDK for Alpaca Trade API https://docs.alpaca.markets/ https://github.com/alpacahq/alpaca-trade-api-csharp diff --git a/Alpaca.Markets/PublicAPI.Shipped.txt b/Alpaca.Markets/PublicAPI.Shipped.txt index d35ec8504..2b673fb99 100644 --- a/Alpaca.Markets/PublicAPI.Shipped.txt +++ b/Alpaca.Markets/PublicAPI.Shipped.txt @@ -1057,6 +1057,7 @@ Alpaca.Markets.MarketDataFeed.Iex = 0 -> Alpaca.Markets.MarketDataFeed Alpaca.Markets.MarketDataFeed.Otc = 2 -> Alpaca.Markets.MarketDataFeed Alpaca.Markets.MarketDataFeed.Sip = 1 -> Alpaca.Markets.MarketDataFeed Alpaca.Markets.MarketOrder +Alpaca.Markets.MultiLegOrder Alpaca.Markets.Multiplier Alpaca.Markets.Multiplier.Double = 2 -> Alpaca.Markets.Multiplier Alpaca.Markets.Multiplier.None = 0 -> Alpaca.Markets.Multiplier @@ -1068,9 +1069,11 @@ Alpaca.Markets.NewOrderRequest.ClientOrderId.set -> void Alpaca.Markets.NewOrderRequest.Duration.get -> Alpaca.Markets.TimeInForce Alpaca.Markets.NewOrderRequest.ExtendedHours.get -> bool? Alpaca.Markets.NewOrderRequest.ExtendedHours.set -> void +Alpaca.Markets.NewOrderRequest.Legs.get -> System.Collections.Generic.IReadOnlyList! Alpaca.Markets.NewOrderRequest.LimitPrice.get -> decimal? Alpaca.Markets.NewOrderRequest.LimitPrice.set -> void Alpaca.Markets.NewOrderRequest.NewOrderRequest(string! symbol, Alpaca.Markets.OrderQuantity quantity, Alpaca.Markets.OrderSide side, Alpaca.Markets.OrderType type, Alpaca.Markets.TimeInForce duration) -> void +Alpaca.Markets.NewOrderRequest.NewOrderRequest(Alpaca.Markets.OrderQuantity quantity, Alpaca.Markets.OrderType type, Alpaca.Markets.TimeInForce duration) -> void Alpaca.Markets.NewOrderRequest.OrderClass.get -> Alpaca.Markets.OrderClass? Alpaca.Markets.NewOrderRequest.OrderClass.set -> void Alpaca.Markets.NewOrderRequest.PositionIntent.get -> Alpaca.Markets.PositionIntent? @@ -1091,6 +1094,7 @@ Alpaca.Markets.NewOrderRequest.TrailOffsetInDollars.set -> void Alpaca.Markets.NewOrderRequest.TrailOffsetInPercent.get -> decimal? Alpaca.Markets.NewOrderRequest.TrailOffsetInPercent.set -> void Alpaca.Markets.NewOrderRequest.Type.get -> Alpaca.Markets.OrderType +Alpaca.Markets.NewOrderRequest.With(Alpaca.Markets.OptionLegRequest! leg) -> Alpaca.Markets.NewOrderRequest! Alpaca.Markets.NewsArticlesRequest Alpaca.Markets.NewsArticlesRequest.ExcludeItemsWithoutContent.get -> bool? Alpaca.Markets.NewsArticlesRequest.ExcludeItemsWithoutContent.set -> void @@ -1165,6 +1169,14 @@ Alpaca.Markets.OptionContractsRequest.StrikePriceGreaterThanOrEqualTo.set -> voi Alpaca.Markets.OptionContractsRequest.StrikePriceLessThanOrEqualTo.get -> decimal? Alpaca.Markets.OptionContractsRequest.StrikePriceLessThanOrEqualTo.set -> void Alpaca.Markets.OptionContractsRequest.UnderlyingSymbols.get -> System.Collections.Generic.IReadOnlyCollection! +Alpaca.Markets.OptionLegRequest +Alpaca.Markets.OptionLegRequest.OptionLegRequest(string! symbol, decimal ratioQuantity, Alpaca.Markets.OrderSide side) -> void +Alpaca.Markets.OptionLegRequest.OptionLegRequest(string! symbol, decimal ratioQuantity, Alpaca.Markets.OrderSide side, Alpaca.Markets.PositionIntent positionIntent) -> void +Alpaca.Markets.OptionLegRequest.OptionLegRequest(string! symbol, decimal ratioQuantity, Alpaca.Markets.PositionIntent positionIntent) -> void +Alpaca.Markets.OptionLegRequest.PositionIntent.get -> Alpaca.Markets.PositionIntent? +Alpaca.Markets.OptionLegRequest.RatioQuantity.get -> decimal +Alpaca.Markets.OptionLegRequest.Side.get -> Alpaca.Markets.OrderSide? +Alpaca.Markets.OptionLegRequest.Symbol.get -> string! Alpaca.Markets.OptionsFeed Alpaca.Markets.OptionsFeed.Indicative = 1 -> Alpaca.Markets.OptionsFeed Alpaca.Markets.OptionsFeed.Opra = 0 -> Alpaca.Markets.OptionsFeed @@ -1202,10 +1214,19 @@ Alpaca.Markets.OrderBase.Type.get -> Alpaca.Markets.OrderType Alpaca.Markets.OrderBaseExtensions Alpaca.Markets.OrderClass Alpaca.Markets.OrderClass.Bracket = 1 -> Alpaca.Markets.OrderClass +Alpaca.Markets.OrderClass.MultiLegOptions = 4 -> Alpaca.Markets.OrderClass Alpaca.Markets.OrderClass.OneCancelsOther = 2 -> Alpaca.Markets.OrderClass Alpaca.Markets.OrderClass.OneTriggersOther = 3 -> Alpaca.Markets.OrderClass Alpaca.Markets.OrderClass.Simple = 0 -> Alpaca.Markets.OrderClass Alpaca.Markets.OrderExtensions +Alpaca.Markets.OrderLeg +Alpaca.Markets.OrderLeg.OrderLeg(string! symbol, decimal ratioQuantity, Alpaca.Markets.OrderSide side) -> void +Alpaca.Markets.OrderLeg.OrderLeg(string! symbol, decimal ratioQuantity, Alpaca.Markets.PositionIntent positionIntent) -> void +Alpaca.Markets.OrderLeg.OrderLeg(string! symbol, decimal ratioQuantity, Alpaca.Markets.PositionIntent positionIntent, Alpaca.Markets.OrderSide side) -> void +Alpaca.Markets.OrderLeg.PositionIntent.get -> Alpaca.Markets.PositionIntent? +Alpaca.Markets.OrderLeg.RatioQuantity.get -> decimal +Alpaca.Markets.OrderLeg.Side.get -> Alpaca.Markets.OrderSide? +Alpaca.Markets.OrderLeg.Symbol.get -> string! Alpaca.Markets.OrderSide Alpaca.Markets.OrderSide.Buy = 0 -> Alpaca.Markets.OrderSide Alpaca.Markets.OrderSide.Sell = 1 -> Alpaca.Markets.OrderSide @@ -1468,6 +1489,12 @@ static Alpaca.Markets.LimitOrder.Buy(string! symbol, Alpaca.Markets.OrderQuantit static Alpaca.Markets.LimitOrder.Sell(string! symbol, Alpaca.Markets.OrderQuantity quantity, decimal limitPrice) -> Alpaca.Markets.LimitOrder! static Alpaca.Markets.MarketOrder.Buy(string! symbol, Alpaca.Markets.OrderQuantity quantity) -> Alpaca.Markets.MarketOrder! static Alpaca.Markets.MarketOrder.Sell(string! symbol, Alpaca.Markets.OrderQuantity quantity) -> Alpaca.Markets.MarketOrder! +static Alpaca.Markets.MultiLegOrder.Limit(Alpaca.Markets.OrderQuantity quantity, decimal limitPrice, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2) -> Alpaca.Markets.MultiLegOrder! +static Alpaca.Markets.MultiLegOrder.Limit(Alpaca.Markets.OrderQuantity quantity, decimal limitPrice, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2, Alpaca.Markets.OrderLeg! orderLeg3) -> Alpaca.Markets.MultiLegOrder! +static Alpaca.Markets.MultiLegOrder.Limit(Alpaca.Markets.OrderQuantity quantity, decimal limitPrice, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2, Alpaca.Markets.OrderLeg! orderLeg3, Alpaca.Markets.OrderLeg! orderLeg4) -> Alpaca.Markets.MultiLegOrder! +static Alpaca.Markets.MultiLegOrder.Market(Alpaca.Markets.OrderQuantity quantity, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2) -> Alpaca.Markets.MultiLegOrder! +static Alpaca.Markets.MultiLegOrder.Market(Alpaca.Markets.OrderQuantity quantity, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2, Alpaca.Markets.OrderLeg! orderLeg3) -> Alpaca.Markets.MultiLegOrder! +static Alpaca.Markets.MultiLegOrder.Market(Alpaca.Markets.OrderQuantity quantity, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2, Alpaca.Markets.OrderLeg! orderLeg3, Alpaca.Markets.OrderLeg! orderLeg4) -> Alpaca.Markets.MultiLegOrder! static Alpaca.Markets.OpenClose.implicit operator Alpaca.Markets.Interval(Alpaca.Markets.OpenClose openClose) -> Alpaca.Markets.Interval static Alpaca.Markets.OrderBaseExtensions.WithClientOrderId(this TOrder! order, string! clientOrderId) -> TOrder! static Alpaca.Markets.OrderBaseExtensions.WithDuration(this TOrder! order, Alpaca.Markets.TimeInForce duration) -> TOrder! diff --git a/Alpaca.Markets/PublicAPI.Unshipped.txt b/Alpaca.Markets/PublicAPI.Unshipped.txt index c81c12fc7..ab058de62 100644 --- a/Alpaca.Markets/PublicAPI.Unshipped.txt +++ b/Alpaca.Markets/PublicAPI.Unshipped.txt @@ -1,28 +1 @@ #nullable enable -Alpaca.Markets.MultiLegOrder -Alpaca.Markets.NewOrderRequest.Legs.get -> System.Collections.Generic.IReadOnlyList! -Alpaca.Markets.NewOrderRequest.NewOrderRequest(Alpaca.Markets.OrderQuantity quantity, Alpaca.Markets.OrderType type, Alpaca.Markets.TimeInForce duration) -> void -Alpaca.Markets.NewOrderRequest.With(Alpaca.Markets.OptionLegRequest! leg) -> Alpaca.Markets.NewOrderRequest! -Alpaca.Markets.OptionLegRequest -Alpaca.Markets.OptionLegRequest.OptionLegRequest(string! symbol, decimal ratioQuantity, Alpaca.Markets.OrderSide side) -> void -Alpaca.Markets.OptionLegRequest.OptionLegRequest(string! symbol, decimal ratioQuantity, Alpaca.Markets.OrderSide side, Alpaca.Markets.PositionIntent positionIntent) -> void -Alpaca.Markets.OptionLegRequest.OptionLegRequest(string! symbol, decimal ratioQuantity, Alpaca.Markets.PositionIntent positionIntent) -> void -Alpaca.Markets.OptionLegRequest.PositionIntent.get -> Alpaca.Markets.PositionIntent? -Alpaca.Markets.OptionLegRequest.RatioQuantity.get -> decimal -Alpaca.Markets.OptionLegRequest.Side.get -> Alpaca.Markets.OrderSide? -Alpaca.Markets.OptionLegRequest.Symbol.get -> string! -Alpaca.Markets.OrderClass.MultiLegOptions = 4 -> Alpaca.Markets.OrderClass -Alpaca.Markets.OrderLeg -Alpaca.Markets.OrderLeg.OrderLeg(string! symbol, decimal ratioQuantity, Alpaca.Markets.OrderSide side) -> void -Alpaca.Markets.OrderLeg.OrderLeg(string! symbol, decimal ratioQuantity, Alpaca.Markets.PositionIntent positionIntent) -> void -Alpaca.Markets.OrderLeg.OrderLeg(string! symbol, decimal ratioQuantity, Alpaca.Markets.PositionIntent positionIntent, Alpaca.Markets.OrderSide side) -> void -Alpaca.Markets.OrderLeg.PositionIntent.get -> Alpaca.Markets.PositionIntent? -Alpaca.Markets.OrderLeg.RatioQuantity.get -> decimal -Alpaca.Markets.OrderLeg.Side.get -> Alpaca.Markets.OrderSide? -Alpaca.Markets.OrderLeg.Symbol.get -> string! -static Alpaca.Markets.MultiLegOrder.Limit(Alpaca.Markets.OrderQuantity quantity, decimal limitPrice, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2) -> Alpaca.Markets.MultiLegOrder! -static Alpaca.Markets.MultiLegOrder.Limit(Alpaca.Markets.OrderQuantity quantity, decimal limitPrice, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2, Alpaca.Markets.OrderLeg! orderLeg3) -> Alpaca.Markets.MultiLegOrder! -static Alpaca.Markets.MultiLegOrder.Limit(Alpaca.Markets.OrderQuantity quantity, decimal limitPrice, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2, Alpaca.Markets.OrderLeg! orderLeg3, Alpaca.Markets.OrderLeg! orderLeg4) -> Alpaca.Markets.MultiLegOrder! -static Alpaca.Markets.MultiLegOrder.Market(Alpaca.Markets.OrderQuantity quantity, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2) -> Alpaca.Markets.MultiLegOrder! -static Alpaca.Markets.MultiLegOrder.Market(Alpaca.Markets.OrderQuantity quantity, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2, Alpaca.Markets.OrderLeg! orderLeg3) -> Alpaca.Markets.MultiLegOrder! -static Alpaca.Markets.MultiLegOrder.Market(Alpaca.Markets.OrderQuantity quantity, Alpaca.Markets.OrderLeg! orderLeg1, Alpaca.Markets.OrderLeg! orderLeg2, Alpaca.Markets.OrderLeg! orderLeg3, Alpaca.Markets.OrderLeg! orderLeg4) -> Alpaca.Markets.MultiLegOrder!