1+ using BitMart . Net . Enums ;
12using Canvas . Core . Models ;
23using Canvas . Core . Shapes ;
34using Core . Conventions ;
@@ -97,14 +98,16 @@ protected virtual string GetDate(IList<IShape> items, int index)
9798 /// <summary>
9899 /// Open position
99100 /// </summary>
101+ /// <param name="adapter"></param>
100102 /// <param name="asset"></param>
101103 /// <param name="side"></param>
102- protected virtual async Task OpenPosition ( IGateway adapter , Instrument asset , OrderSideEnum side )
104+ /// <param name="amount"></param>
105+ protected virtual async Task OpenPosition ( IGateway adapter , Instrument asset , OrderSideEnum side , double amount = 1 )
103106 {
104107 var order = new Order
105108 {
106- Amount = 1 ,
107109 Side = side ,
110+ Amount = amount ,
108111 Type = OrderTypeEnum . Market ,
109112 Operation = new ( ) { Instrument = asset }
110113 } ;
@@ -115,9 +118,11 @@ protected virtual async Task OpenPosition(IGateway adapter, Instrument asset, Or
115118 /// <summary>
116119 /// Close positions
117120 /// </summary>
121+ /// <param name="adapter"></param>
118122 /// <param name="condition"></param>
119- protected virtual async Task ClosePosition ( IGateway adapter , Func < Order , bool > condition = null )
123+ protected virtual async Task < List < Order > > ClosePosition ( IGateway adapter , Func < Order , bool > condition = null )
120124 {
125+ var response = new List < Order > ( ) ;
121126 var positions = await adapter . GetPositions ( default ) ;
122127
123128 foreach ( var position in positions . Data )
@@ -136,8 +141,12 @@ protected virtual async Task ClosePosition(IGateway adapter, Func<Order, bool> c
136141 } ;
137142
138143 await adapter . SendOrder ( order ) ;
144+
145+ response . Add ( order ) ;
139146 }
140147 }
148+
149+ return response ;
141150 }
142151 }
143152}
0 commit comments