Position
Object that reveals information about a current open position of the strategy.
Properties
// If strategy is in position then log position details
if (Position.InPosition)
{
Log("Open position: " + Position.PositionType + ", " + Position.ExecutedTime + ", " + Position.ExecutedPrice);
}using Signals.DataSeries.Bars;
using Signals.Framework;
using Signals.Indicators.SMA;
public class MyStrategy : SingleMarketStrategy
{
private Bars hourlyBars;
private SMA smaSlow;
private SMA smaFast;
private int fast = 10;
private int slow = 25;
public override void Setup(DataMarketplace data, IndicatorsMarketplace indicators)
{
hourlyBars = data.Bars(BarPeriodType.Hour, 1).WithOffset(25);
smaSlow = indicators.SMA(slow).OnSeries(hourlyBars.Close);
smaFast = indicators.SMA(fast).OnSeries(hourlyBars.Close);
}
public override void RegisterActions()
{
OnUpdateOf(hourlyBars).Do(() =>
{
// If not already in position and condition is met then enter position
if (!Position.InPosition && smaFast.Value > smaSlow.Value)
{
EnterLong();
}
// If already in position and condition is met then exit position
else if (smaFast.Value < smaSlow.Value && Position.InPosition)
{
ExitLong();
}
});
}
}Last updated