Questions regarding Supertrend Indicator
Questions regarding Supertrend Indicator
18 Nov 2022, 12:32
Hi,
could someone who knows please clarify what the Supertrend UpTrend() and DownTrend() methods actually return and why the sample code compares them to Bars.LowPrices/HighPrices?
Thank you
This is the sample code I'm referencing:
namespace cAlgo.Robots
{
// This sample cBot shows how to use the Supertrend indicator
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class SupertrendSample : Robot
{
private double _volumeInUnits;private Supertrend _supertrend;
[Parameter("Volume (Lots)", DefaultValue = 0.01)]
public double VolumeInLots { get; set; }[Parameter("Stop Loss (Pips)", DefaultValue = 10)]
public double StopLossInPips { get; set; }[Parameter("Take Profit (Pips)", DefaultValue = 10)]
public double TakeProfitInPips { get; set; }[Parameter("Label", DefaultValue = "Sample")]
public string Label { get; set; }public Position[] BotPositions
{
get
{
return Positions.FindAll(Label);
}
}protected override void OnStart()
{
_volumeInUnits = Symbol.QuantityToVolumeInUnits(VolumeInLots);_supertrend = Indicators.Supertrend(10, 3);
}protected override void OnBar()
{
if (_supertrend.UpTrend.Last(1) < Bars.LowPrices.Last(1) && _supertrend.DownTrend.Last(2) > Bars.HighPrices.Last(2))
{
ClosePositions(TradeType.Sell);ExecuteMarketOrder(TradeType.Buy, SymbolName, _volumeInUnits, Label, StopLossInPips, TakeProfitInPips);
}
else if (_supertrend.DownTrend.Last(1) > Bars.HighPrices.Last(1) && _supertrend.UpTrend.Last(2) < Bars.LowPrices.Last(2))
{
ClosePositions(TradeType.Buy);ExecuteMarketOrder(TradeType.Sell, SymbolName, _volumeInUnits, Label, StopLossInPips, TakeProfitInPips);
}
}private void ClosePositions(TradeType tradeType)
{
foreach (var position in BotPositions)
{
if (position.TradeType != tradeType) continue;ClosePosition(position);
}
}
}
}
firemyst
24 Nov 2022, 06:03
RE:
rgasch said:
The UpTrend() and DownTrend() methods return the values when the Supertrend is in an uptrend or downtrend.
There will be a value for one or the other, but not both, because the SuperTrend can't be in both an uptrend and downtrend at the same time.
@firemyst