Добрый день.
Помогите найти причину отсутствия заявок при работе скрипта (API).
Скрипт я максимально упростил. Я ожидаю, что после срабатывания скрипта будет выставлена условная заявка с ценой срабатывания равной цене закрытия последнего бара +250 пунктов.
После следующего бара должны быть выставлены две стоп заявки (как я понял, будет только одна, которая ближе к цене).
Но, никаких заявок вообще не выставляется, хотя в логе пишется об успешном исполнении скрипта.
В лаборатории тестирование проходит как положено.
Возможно каких-то настроек не хватает?
В лаборатории стоят галочки исполнять входы и выходы сразу.
Проскальзывание 0.
В скрипте - управление лимитом - "Управляется скриптом"
Запускал тест на 3-х минутном графике RIH2
using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Optimization;
using TSLab.Script.Helpers;
namespace TSLab.Test
{
public class System_Test : IExternalScript
{
public void Execute(IContext ctx, ISecurity securities)
{
#region основной цикл
int StartBar = 1;
int barsCount = securities.Bars.Count;
IPosition LastPos; // Текущая позиция
ISecurity source;
source = securities;
for (int bar = StartBar; bar < barsCount; bar++)
{
LastPos = source.Positions.LastPositionActive;
if (LastPos != null)
{ // есть активная позиция, определим условия выхода
LastPos.CloseAtStop( bar + 1, LastPos.EntryPrice*0.99,"stop loss");
LastPos.CloseAtProfit( bar + 1, LastPos.EntryPrice*1.01,"take prophit");
}
else
{ // определим условия входа
source.Positions.BuyIfGreater(bar+1,1, source.ClosePrices[bar]+250, "long");
}
}
#endregion основной цикл
#region прорисовка графиков
// Берем основную панель (Pane)
Color clr;
{
clr = 0x702020; //aColor[i];
// Создаем дополнительную панель для инструмента
IPane Panes = ctx.CreatePane("Pane ", 50, false, false);
Panes.UpdatePrecision(PaneSides.RIGHT,2);
Panes.AddList(securities.Symbol, securities, CandleStyles.BAR_CANDLE, clr, PaneSides.RIGHT);
}
#endregion прорисовка графиков
}
}
}