Видимо нужно определить такую ситуацию в коде и попробовать восстановить состояние по доступным данным.
Определить то, что ваша стратегия перезапустилась можно например так:
[CODE]using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
namespace WealthLab.Strategies
{
public class MyStrategy : WLRT.LiveTrading.WealthScript
{
int _n;//объявляете переменную "уровня класса"(поле класса, field)
bool _firstTime;//поле - признак того, что стратегия перезапущена
public MyStrategy()//конструктор, исполняется 1 раз, когда вы перезапускаете стратегию
//(например нажимаете кнопку Compile или после перезапуска)
{
_firstTime = true;
}
protected override void Execute()
{
if(_firstTime)
{
//первичная инициализация, найти последнюю позицию, провести рассчеты
_firstTime = false;//установка признака, что перезапуск обработан
}
int bar = Bars.Count - 1;
{
PrintDebug("n0 = " + _n); //используете
_n++; //увеличиваете на 1
}
}
}
}[/CODE]
Восстановить состояние можно с помощью доступных Вам данных: котировок и всех позиций стратегии.