@@ -91,6 +91,7 @@ protected override void OnStart()
91
91
92
92
if ( ! UseDynamicVolume )
93
93
_volumeInUnits = Symbol . QuantityToVolumeInUnits ( VolumeInLots ) ;
94
+
94
95
_fastMa = Indicators . SimpleMovingAverage ( FastMaSource , FastMaPeriod ) ;
95
96
_slowMa = Indicators . SimpleMovingAverage ( SlowMaSource , SlowMaPeriod ) ;
96
97
_rsi = Indicators . RelativeStrengthIndex ( Bars . ClosePrices , RsiPeriod ) ;
@@ -133,12 +134,9 @@ protected override void OnTick()
133
134
134
135
foreach ( var position in Positions . FindAll ( Label ) )
135
136
{
136
- double ? newStopLoss ;
137
-
138
- if ( position . TradeType == TradeType . Buy )
139
- newStopLoss = Symbol . Bid - TrailingStopInPips * Symbol . PipSize ;
140
- else
141
- newStopLoss = Symbol . Ask + TrailingStopInPips * Symbol . PipSize ;
137
+ double ? newStopLoss = position . TradeType == TradeType . Buy
138
+ ? Symbol . Bid - TrailingStopInPips * Symbol . PipSize
139
+ : Symbol . Ask + TrailingStopInPips * Symbol . PipSize ;
142
140
143
141
if ( position . TradeType == TradeType . Buy && ( position . StopLoss == null || newStopLoss > position . StopLoss ) )
144
142
ModifyPosition ( position , newStopLoss , position . TakeProfit ) ;
@@ -163,10 +161,8 @@ private void ClosePositions(TradeType tradeType)
163
161
{
164
162
foreach ( var position in Positions . FindAll ( Label ) )
165
163
{
166
- if ( position . TradeType != tradeType )
167
- continue ;
168
-
169
- ClosePosition ( position ) ;
164
+ if ( position . TradeType == tradeType )
165
+ ClosePosition ( position ) ;
170
166
}
171
167
}
172
168
}
0 commit comments