generated from QuantConnect/Lean.Brokerages.Template
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
288 additions
and
21 deletions.
There are no files selected for viewing
56 changes: 56 additions & 0 deletions
56
QuantConnect.BybitBrokerage.Tests/BybitInverseFuturesBrokerageHistoryProviderTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
/* | ||
* QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. | ||
* Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
using System; | ||
using NUnit.Framework; | ||
|
||
namespace QuantConnect.BybitBrokerage.Tests | ||
{ | ||
[TestFixture, Explicit("Requires valid credentials to be setup and run outside USA")] | ||
public class BybitInverseFuturesBrokerageHistoryProviderTests : BybitBrokerageHistoryProviderTests | ||
{ | ||
private static readonly Symbol ETHUSD = Symbol.Create("ETHUSDT", SecurityType.CryptoFuture, Market.Bybit); | ||
|
||
|
||
private static TestCaseData[] ValidHistory | ||
{ | ||
get | ||
{ | ||
return new[] | ||
{ | ||
// valid | ||
new TestCaseData(ETHUSD, Resolution.Tick, Time.OneMinute, TickType.Trade), | ||
new TestCaseData(ETHUSD, Resolution.Minute, Time.OneHour, TickType.Trade), | ||
new TestCaseData(ETHUSD, Resolution.Hour, Time.OneDay, TickType.Trade), | ||
new TestCaseData(ETHUSD, Resolution.Daily, TimeSpan.FromDays(15), TickType.Trade), | ||
new TestCaseData(ETHUSD, Resolution.Hour, Time.OneDay, TickType.OpenInterest) | ||
}; | ||
} | ||
} | ||
|
||
|
||
[Test, TestCaseSource(nameof(ValidHistory))] | ||
public override void GetsHistory(Symbol symbol, Resolution resolution, TimeSpan period, TickType tickType) | ||
{ | ||
base.GetsHistory(symbol, resolution, period, tickType); | ||
} | ||
|
||
[Ignore("The brokerage is shared between different product categories, therefore this test is only required in the base class")] | ||
public override void GetEmptyHistory(Symbol symbol, Resolution resolution, TimeSpan period, TickType tickType) | ||
{ | ||
base.GetEmptyHistory(symbol, resolution, period, tickType); | ||
} | ||
} | ||
} |
43 changes: 43 additions & 0 deletions
43
QuantConnect.BybitBrokerage.Tests/BybitInverseFuturesBrokerageTests.Stream.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
/* | ||
* QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. | ||
* Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
using NUnit.Framework; | ||
|
||
namespace QuantConnect.BybitBrokerage.Tests | ||
{ | ||
[TestFixture] | ||
public partial class BybitInverseFuturesBrokerageTests | ||
{ | ||
private static TestCaseData[] TestParameters | ||
{ | ||
get | ||
{ | ||
return new[] | ||
{ | ||
// valid parameters, for example | ||
new TestCaseData(BTCUSD, Resolution.Tick, false), | ||
new TestCaseData(BTCUSD, Resolution.Minute, true), | ||
new TestCaseData(BTCUSD, Resolution.Second, true), | ||
}; | ||
} | ||
} | ||
|
||
[Test, TestCaseSource(nameof(TestParameters))] | ||
public override void StreamsData(Symbol symbol, Resolution resolution, bool throwsException) | ||
{ | ||
base.StreamsData(symbol, resolution, throwsException); | ||
} | ||
} | ||
} |
99 changes: 99 additions & 0 deletions
99
QuantConnect.BybitBrokerage.Tests/BybitInverseFuturesBrokerageTests.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
/* | ||
* QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. | ||
* Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
using NUnit.Framework; | ||
using QuantConnect.BybitBrokerage.Models.Enums; | ||
using QuantConnect.Tests.Brokerages; | ||
|
||
namespace QuantConnect.BybitBrokerage.Tests; | ||
|
||
[TestFixture, Explicit("Requires valid credentials to be setup and run outside USA")] | ||
public partial class BybitInverseFuturesBrokerageTests : BybitBrokerageTests | ||
{ | ||
private static Symbol BTCUSD = Symbol.Create("BTCUSD", SecurityType.CryptoFuture, "bybit"); | ||
protected override Symbol Symbol { get; } = BTCUSD; | ||
|
||
protected override SecurityType SecurityType => SecurityType.Future; | ||
protected override BybitProductCategory Category => BybitProductCategory.Inverse; | ||
protected override decimal TakerFee => 0.00025m; | ||
|
||
protected override decimal GetDefaultQuantity() => 10m; | ||
|
||
|
||
/// <summary> | ||
/// Provides the data required to test each order type in various cases | ||
/// </summary> | ||
private static TestCaseData[] OrderParameters() | ||
{ | ||
return new[] | ||
{ | ||
new TestCaseData(new MarketOrderTestParameters(BTCUSD)).SetName("MarketOrder"), | ||
new TestCaseData(new LimitOrderTestParameters(BTCUSD, 50000m, 10000m)).SetName("LimitOrder"), | ||
new TestCaseData(new StopMarketOrderTestParameters(BTCUSD, 50000m, 10000m)).SetName("StopMarketOrder"), | ||
new TestCaseData(new StopLimitOrderTestParameters(BTCUSD, 50000m, 10000m)).SetName("StopLimitOrder"), | ||
new TestCaseData(new LimitIfTouchedOrderTestParameters(BTCUSD, 50000m, 20000)).SetName( | ||
"LimitIfTouchedOrder") | ||
}; | ||
} | ||
|
||
|
||
[Test, TestCaseSource(nameof(OrderParameters))] | ||
public override void CancelOrders(OrderTestParameters parameters) | ||
{ | ||
base.CancelOrders(parameters); | ||
} | ||
|
||
[Test, TestCaseSource(nameof(OrderParameters))] | ||
public override void LongFromZero(OrderTestParameters parameters) | ||
{ | ||
base.LongFromZero(parameters); | ||
} | ||
|
||
[Test, TestCaseSource(nameof(OrderParameters))] | ||
public override void CloseFromLong(OrderTestParameters parameters) | ||
{ | ||
base.CloseFromLong(parameters); | ||
} | ||
|
||
[Test, TestCaseSource(nameof(OrderParameters))] | ||
public override void ShortFromZero(OrderTestParameters parameters) | ||
{ | ||
base.ShortFromZero(parameters); | ||
} | ||
|
||
[Test, TestCaseSource(nameof(OrderParameters))] | ||
public override void CloseFromShort(OrderTestParameters parameters) | ||
{ | ||
base.CloseFromShort(parameters); | ||
} | ||
|
||
[Test, TestCaseSource(nameof(OrderParameters))] | ||
public override void ShortFromLong(OrderTestParameters parameters) | ||
{ | ||
base.ShortFromLong(parameters); | ||
} | ||
|
||
[Test, TestCaseSource(nameof(OrderParameters))] | ||
public override void LongFromShort(OrderTestParameters parameters) | ||
{ | ||
base.LongFromShort(parameters); | ||
} | ||
|
||
[Ignore("The brokerage is shared between different product categories, therefore this test is only required in the base class")] | ||
public override void GetAccountHoldings() | ||
{ | ||
base.GetAccountHoldings(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/* | ||
* QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. | ||
* Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
using System.Runtime.Serialization; | ||
|
||
namespace QuantConnect.BybitBrokerage.Models.Enums; | ||
|
||
/// <summary> | ||
/// Bybit position mode | ||
/// </summary> | ||
public enum PositionMode | ||
{ | ||
/// <summary> | ||
/// One way mode | ||
/// </summary> | ||
MergedSingle = 0, | ||
/// <summary> | ||
/// Hedge mode | ||
/// </summary> | ||
BothSides = 3, | ||
} |