Skip to content

Commit 90398b4

Browse files
AlexN78glitch100
authored andcommitted
Added support of some new ExchangeInfoSymbolFilterType items. (#111)
* Added support of some new ExchangeInfoSymbolFilterType items. * Added new filters: PERCENT_PRICE, MARKET_LOT_SIZE, MAX_NUM_ICEBERG_ORDERS. (Rest API changed on 2018-11-13)
1 parent cf180d6 commit 90398b4

7 files changed

+104
-1
lines changed

BinanceExchange.API/Converter/ExchangeInfoSymbolFilterConverter.cs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,15 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist
2121
var value = jObject.ToObject<ExchangeInfoSymbolFilter>();
2222

2323
ExchangeInfoSymbolFilter item = null;
24-
24+
2525
switch (value.FilterType)
2626
{
2727
case ExchangeInfoSymbolFilterType.PriceFilter:
2828
item = new ExchangeInfoSymbolFilterPrice();
2929
break;
30+
case ExchangeInfoSymbolFilterType.PercentPrice:
31+
item = new ExchangeInfoSymbolFilterPercentPrice();
32+
break;
3033
case ExchangeInfoSymbolFilterType.LotSize:
3134
item = new ExchangeInfoSymbolFilterLotSize();
3235
break;
@@ -39,6 +42,18 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist
3942
case ExchangeInfoSymbolFilterType.MaxNumAlgoOrders:
4043
item = new ExchangeInfoSymbolFilterMaxNumAlgoOrders();
4144
break;
45+
case ExchangeInfoSymbolFilterType.MarketLotSize:
46+
item = new ExchangeInfoSymbolFilterMarketLotSize();
47+
break;
48+
case ExchangeInfoSymbolFilterType.ExchangeMaxNumOrders:
49+
item = new ExchangeInfoSymbolFilterExchangeMaxNumOrders();
50+
break;
51+
case ExchangeInfoSymbolFilterType.ExchangeMaxNumAlgoOrders:
52+
item = new ExchangeInfoSymbolFilterExchangeMaxNumAlgoOrders();
53+
break;
54+
case ExchangeInfoSymbolFilterType.MaxNumIcebergOrders:
55+
item = new ExchangeInfoSymbolFilterMaxNumIcebergOrders();
56+
break;
4257
case ExchangeInfoSymbolFilterType.PercentagePrice:
4358
item = new ExchangeInfoSymbolFilterPercentagePrice();
4459
break;

BinanceExchange.API/Enums/ExchangeInfoSymbolFilterType.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,37 @@
22

33
namespace BinanceExchange.API.Enums
44
{
5+
/// <see cref="https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#filters"/>
56
public enum ExchangeInfoSymbolFilterType
67
{
8+
#region Symbol filters
9+
710
[EnumMember(Value = "PRICE_FILTER")]
811
PriceFilter,
12+
[EnumMember(Value = "PERCENT_PRICE")]
13+
PercentPrice,
914
[EnumMember(Value = "LOT_SIZE")]
1015
LotSize,
1116
[EnumMember(Value = "MIN_NOTIONAL")]
1217
MinNotional,
18+
[EnumMember(Value = "MARKET_LOT_SIZE")]
19+
MarketLotSize,
1320
[EnumMember(Value = "MAX_NUM_ORDERS")]
1421
MaxNumOrders,
1522
[EnumMember(Value = "MAX_NUM_ALGO_ORDERS")]
1623
MaxNumAlgoOrders,
24+
[EnumMember(Value = "MAX_NUM_ICEBERG_ORDERS")]
25+
MaxNumIcebergOrders,
26+
27+
#endregion
28+
29+
#region Exchange Filters
30+
31+
[EnumMember(Value = "EXCHANGE_MAX_NUM_ORDERS")]
32+
ExchangeMaxNumOrders,
33+
[EnumMember(Value = "EXCHANGE_MAX_NUM_ALGO_ORDERS")]
34+
ExchangeMaxNumAlgoOrders,
35+
#endregion
1736
[EnumMember(Value = "PERCENT_PRICE")]
1837
PercentagePrice,
1938
[EnumMember(Value = "ICEBERG_PARTS")]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System.Runtime.Serialization;
2+
3+
namespace BinanceExchange.API.Models.Response
4+
{
5+
[DataContract]
6+
public class ExchangeInfoSymbolFilterExchangeMaxNumAlgoOrders : ExchangeInfoSymbolFilter
7+
{
8+
[DataMember(Order = 1)]
9+
public int Limit { get; set; }
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System.Runtime.Serialization;
2+
3+
namespace BinanceExchange.API.Models.Response
4+
{
5+
[DataContract]
6+
public class ExchangeInfoSymbolFilterExchangeMaxNumOrders : ExchangeInfoSymbolFilter
7+
{
8+
[DataMember(Order = 1)]
9+
public int Limit { get; set; }
10+
}
11+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Runtime.Serialization;
4+
using Newtonsoft.Json;
5+
using BinanceExchange.API.Converter;
6+
using BinanceExchange.API.Models.Response.Interfaces;
7+
8+
namespace BinanceExchange.API.Models.Response
9+
{
10+
[DataContract]
11+
public class ExchangeInfoSymbolFilterMarketLotSize : ExchangeInfoSymbolFilterLotSize
12+
{
13+
}
14+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System.Runtime.Serialization;
2+
3+
namespace BinanceExchange.API.Models.Response
4+
{
5+
[DataContract]
6+
public class ExchangeInfoSymbolFilterMaxNumIcebergOrders : ExchangeInfoSymbolFilter
7+
{
8+
[DataMember(Order = 1)]
9+
public int MaxNumIcebergOrders { get; set; }
10+
}
11+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Runtime.Serialization;
4+
using Newtonsoft.Json;
5+
using BinanceExchange.API.Converter;
6+
using BinanceExchange.API.Models.Response.Interfaces;
7+
8+
namespace BinanceExchange.API.Models.Response
9+
{
10+
[DataContract]
11+
public class ExchangeInfoSymbolFilterPercentPrice : ExchangeInfoSymbolFilter
12+
{
13+
[DataMember(Order = 1)]
14+
public Decimal MultiplierUp { get; set; }
15+
16+
[DataMember(Order = 2)]
17+
public Decimal MultiplierDown { get; set; }
18+
19+
[DataMember(Order = 3)]
20+
public Decimal AvgPriceMins { get; set; }
21+
}
22+
}

0 commit comments

Comments
 (0)