Вот скрипт в WL который я сравнивал со скриптом TSLab
using System;
using System.Collections.Generic;
using System.Text;
using WealthLab;
using WealthLab.Indicators;
using System.Drawing;

namespace WealthLabCompile
{
class MovingAverageCrossover : WealthScript
{
//Create parameters

StrategyParameter fastPeriod;
StrategyParameter slowPeriod;
public MovingAverageCrossover()
{
fastPeriod = CreateParameter("Fast Period", 5, 1, 20, 1);
slowPeriod = CreateParameter("Slow Period", 20, 20, 100, 5);
}

protected override void Execute()
{
//Obtain periods from parameters
int fastPer = fastPeriod.ValueInt;
int slowPer = slowPeriod.ValueInt;

SMA smaFast = SMA.Series(Close, fastPer);
SMA smaSlow = SMA.Series(Close, slowPer);

PlotSeries(PricePane, smaFast, Color.Green, LineStyle.Solid, 2);
PlotSeries(PricePane, smaSlow, Color.Red, LineStyle.Solid, 2);

for (int bar = Math.Max(fastPer, slowPer); bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
if (CrossUnder(bar, smaFast, smaSlow))
{
// CoverAtClose(bar,LastPosition);
SellAtMarket(bar , LastPosition);
ShortAtMarket(bar);
}

if (CrossOver(bar, smaFast, smaSlow))
{
CoverAtClose(bar,LastPosition,"Закрыть шорт");

BuyAtMarket(bar );
}
}
else
{
if (CrossUnder(bar, smaFast, smaSlow))
{
// CoverAtClose(bar,LastPosition);
ShortAtMarket(bar);
}

if (CrossOver(bar, smaFast, smaSlow))
{
BuyAtMarket(bar );

}
}
}
}
}}

а в TSlab скрипт к сожелению не сохранился но там тоже самое
вопрос не в этом скрипте, а в том что сделки они генерируют абсолютно одинаковые но TSLab генерирует сделку на 1 свечку позже хотелось бы понять почему