1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-08-12 17:03:10 +00:00
Files
CryptoExchange.Net/CryptoExchange.Net/SharedApis/Models/Rest/PlaceFuturesTriggerOrderRequest.cs
T
Jan Korf 6b14cdbf06 Feature/9.0.0 (#236)
* Added support for Native AOT compilation
* Updated all IEnumerable response types to array response types
* Added Pass support for ApiCredentials, removing the need for most implementations to add their own ApiCredentials type
* Added KeepAliveTimeout setting setting ping frame timeouts for SocketApiClient
* Added IBookTickerRestClient Shared interface for requesting book tickers
* Added ISpotTriggerOrderRestClient Shared interface for managing spot trigger orders
* Added ISpotOrderClientIdClient Shared interface for managing spot orders by client order id
* Added IFuturesTriggerOrderRestClient Shared interface for managing futures trigger orders
* Added IFuturesOrderClientIdClient Shared interface for managing futures orders by client order id
* Added IFuturesTpSlRestClient Shared interface for setting TP/SL on open futures positions
* Added GenerateClientOrderId to ISpotOrderRestClient and IFuturesOrderRestClient interface
* Added OptionalExchangeParameters and Supported properties to EndpointOptions
* Refactor Shared interfaces quantity parameters and properties to use SharedQuantity
* Added SharedSymbol property to Shared interface models returning a symbol
* Added TriggerPrice, IsTriggerOrder, TakeProfitPrice, StopLossPrice and IsCloseOrder to SharedFuturesOrder response model
* Added MaxShortLeverage and MaxLongLeverage to SharedFuturesSymbol response model
* Added StopLossPrice and TakeProfitPrice to SharedPosition response model
* Added TriggerPrice and IsTriggerOrder to SharedSpotOrder response model
* Added QuoteVolume property to SharedSpotTicker response model
* Added AssetAlias configuration models
* Added static ExchangeSymbolCache for tracking symbol information from exchanges
* Added static CallResult.SuccessResult to be used instead of constructing success CallResult instance
* Added static ApplyRules, RandomHexString and RandomLong helper methods to ExchangeHelpers class
* Added AsErrorWithData To CallResult
* Added OriginalData property to CallResult
* Added support for adjusting the rate limit key per call, allowing for ratelimiting depending on request parameters
* Added implementation for integration testing ISymbolOrderBook instances
* Added implementation for integration testing socket subscriptions
* Added implementation for testing socket queries
* Updated request cancellation logging to Debug level
* Updated logging SourceContext to include the client type
* Updated some logging logic, errors no longer contain any data, exception are not logged as string but instead forwarded to structured logging
* Fixed warning for Enum parsing throwing exception and output warnings for each object in a response to only once to prevent slowing down execution
* Fixed memory leak in AsyncAutoRestEvent
* Fixed logging for ping frame timeout
* Fixed warning getting logged when user stops SymbolOrderBook instance
* Fixed socket client `UnsubscribeAll` not unsubscribing dedicated connections
* Fixed memory leak in Rest client cache
* Fixed integers bigger than int16 not getting correctly parsed to enums
* Fixed issue where the default options were overridden when using SetApiCredentials
* Removed Newtonsoft.Json dependency
* Removed legacy Rest client code
* Removed legacy ISpotClient and IFuturesClient support
2025-05-13 10:15:30 +02:00

86 lines
3.1 KiB
C#

namespace CryptoExchange.Net.SharedApis
{
/// <summary>
/// Request to place a new trigger order
/// </summary>
public record PlaceFuturesTriggerOrderRequest : SharedSymbolRequest
{
/// <summary>
/// Client order id
/// </summary>
public string? ClientOrderId { get; set; }
/// <summary>
/// Direction of the trigger order
/// </summary>
public SharedTriggerOrderDirection OrderDirection { get; set; }
/// <summary>
/// Price trigger direction
/// </summary>
public SharedTriggerPriceDirection PriceDirection { get; set; }
/// <summary>
/// Quantity of the order
/// </summary>
public SharedQuantity Quantity { get; set; }
/// <summary>
/// Price of the order
/// </summary>
public decimal? OrderPrice { get; set; }
/// <summary>
/// Trigger price
/// </summary>
public decimal TriggerPrice { get; set; }
/// <summary>
/// Time in force
/// </summary>
public SharedTimeInForce? TimeInForce { get; set; }
/// <summary>
/// Position mode
/// </summary>
public SharedPositionMode? PositionMode { get; set; }
/// <summary>
/// Position side
/// </summary>
public SharedPositionSide PositionSide { get; set; }
/// <summary>
/// Margin mode
/// </summary>
public SharedMarginMode? MarginMode { get; set; }
/// <summary>
/// Leverage
/// </summary>
public decimal? Leverage { get; set; }
/// <summary>
/// Trigger price type
/// </summary>
public SharedTriggerPriceType? TriggerPriceType { get; set; }
/// <summary>
/// ctor
/// </summary>
/// <param name="symbol">Symbol the order is on</param>
/// <param name="orderDirection">Direction of the order when triggered</param>
/// <param name="priceDirection">Price direction</param>
/// <param name="quantity">Quantity of the order</param>
/// <param name="positionSide">Position side</param>
/// <param name="triggerPrice">Price at which the order should activate</param>
/// <param name="orderPrice">Limit price for the order</param>
/// <param name="exchangeParameters">Exchange specific parameters</param>
public PlaceFuturesTriggerOrderRequest(SharedSymbol symbol,
SharedTriggerPriceDirection priceDirection,
decimal triggerPrice,
SharedTriggerOrderDirection orderDirection,
SharedPositionSide positionSide,
SharedQuantity quantity,
decimal? orderPrice = null,
ExchangeParameters? exchangeParameters = null) : base(symbol, exchangeParameters)
{
PriceDirection = priceDirection;
PositionSide = positionSide;
Quantity = quantity;
OrderPrice = orderPrice;
TriggerPrice = triggerPrice;
OrderDirection = orderDirection;
}
}
}