Skip to content

Commit 49cbc75

Browse files
committed
Strategy. BuyXXX, SellXXX methods. Security arg.
1 parent b4e178f commit 49cbc75

1 file changed

Lines changed: 24 additions & 4 deletions

File tree

Algo/Strategies/Strategy_HighLevel.cs

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,13 +155,18 @@ public partial class Strategy
155155
/// To create initialized object of buy order at market price.
156156
/// </summary>
157157
/// <param name="volume">The volume. If <see langword="null" /> value is passed, then <see cref="Volume"/> value is used.</param>
158+
/// <param name="security">The security. If <see langword="null" /> value is passed, then <see cref="Security"/> value is used.</param>
158159
/// <returns>The initialized order object.</returns>
159160
/// <remarks>
160161
/// The order is not registered, only the object is created.
161162
/// </remarks>
162-
public Order BuyMarket(decimal? volume = null)
163+
public Order BuyMarket(decimal? volume = null, Security security = null)
163164
{
164165
var order = CreateOrder(Sides.Buy, default, volume);
166+
167+
if (security != null)
168+
order.Security = security;
169+
165170
RegisterOrder(order);
166171
return order;
167172
}
@@ -170,13 +175,18 @@ public Order BuyMarket(decimal? volume = null)
170175
/// To create the initialized order object of sell order at market price.
171176
/// </summary>
172177
/// <param name="volume">The volume. If <see langword="null" /> value is passed, then <see cref="Volume"/> value is used.</param>
178+
/// <param name="security">The security. If <see langword="null" /> value is passed, then <see cref="Security"/> value is used.</param>
173179
/// <returns>The initialized order object.</returns>
174180
/// <remarks>
175181
/// The order is not registered, only the object is created.
176182
/// </remarks>
177-
public Order SellMarket(decimal? volume = null)
183+
public Order SellMarket(decimal? volume = null, Security security = null)
178184
{
179185
var order = CreateOrder(Sides.Sell, default, volume);
186+
187+
if (security != null)
188+
order.Security = security;
189+
180190
RegisterOrder(order);
181191
return order;
182192
}
@@ -186,13 +196,18 @@ public Order SellMarket(decimal? volume = null)
186196
/// </summary>
187197
/// <param name="price">Price.</param>
188198
/// <param name="volume">The volume. If <see langword="null" /> value is passed, then <see cref="Strategy.Volume"/> value is used.</param>
199+
/// <param name="security">The security. If <see langword="null" /> value is passed, then <see cref="Security"/> value is used.</param>
189200
/// <returns>The initialized order object.</returns>
190201
/// <remarks>
191202
/// The order is not registered, only the object is created.
192203
/// </remarks>
193-
public Order BuyLimit(decimal price, decimal? volume = null)
204+
public Order BuyLimit(decimal price, decimal? volume = null, Security security = null)
194205
{
195206
var order = CreateOrder(Sides.Buy, price, volume);
207+
208+
if (security != null)
209+
order.Security = security;
210+
196211
RegisterOrder(order);
197212
return order;
198213
}
@@ -202,13 +217,18 @@ public Order BuyLimit(decimal price, decimal? volume = null)
202217
/// </summary>
203218
/// <param name="price">Price.</param>
204219
/// <param name="volume">The volume. If <see langword="null" /> value is passed, then <see cref="Strategy.Volume"/> value is used.</param>
220+
/// <param name="security">The security. If <see langword="null" /> value is passed, then <see cref="Security"/> value is used.</param>
205221
/// <returns>The initialized order object.</returns>
206222
/// <remarks>
207223
/// The order is not registered, only the object is created.
208224
/// </remarks>
209-
public Order SellLimit(decimal price, decimal? volume = null)
225+
public Order SellLimit(decimal price, decimal? volume = null, Security security = null)
210226
{
211227
var order = CreateOrder(Sides.Sell, price, volume);
228+
229+
if (security != null)
230+
order.Security = security;
231+
212232
RegisterOrder(order);
213233
return order;
214234
}

0 commit comments

Comments
 (0)