Страница 1 из 1

как правильно тестировать EnterShortLimit и EnterLongLimit?

Добавлено: 13 июл 2018, 09:45
дуьфыеук
есть ли принципы правильного тестирования лимитных ордеров на истории?
ошибка в том, что ордер срабатывает с тейком на одном баре

Изображение

Re: как правильно тестировать EnterShortLimit и EnterLongLimit?

Добавлено: 13 июл 2018, 17:32
evge
выставлять тейк только когда позиция открыта, т.е. не ставить так

EnterLongLimit();
BreakingStop();

а только так

EnterLongLimit();

и проверять на каждом баре состояние, если позиция изменилась ставим \ изменяем стоп.

BreakingStop();

таким образом, стоп с тейком установлены будут после того как сработает лимитный ордер и закрыться позиция в тестировании на том же баре не сможет, минимум на следующем.

Re: как правильно тестировать EnterShortLimit и EnterLongLimit?

Добавлено: 13 июл 2018, 20:55
Den
а смысл тестировать фракталы?

Re: как правильно тестировать EnterShortLimit и EnterLongLimit?

Добавлено: 14 июл 2018, 08:06
evge
Дело не в фракталах и заглядывании в будущее.
Тут проблема тестирования, оно играет в оптимизм и считает что открытие по лимиту и выставление сразу тейка в пределах текущего бара обязательно исполнится.

пример НЕ фрактального "Грааля"

Код: Выделить всё

/**

**/

function Initialize()
{
   StrategyName = "NeFractalGraal";
   AddParameter("P1", 5, "", 1);
   AddInput("I", Inputs.Candle, 1, true, "SBER=МБ ЦК");
   LongLimit = 1000;
   ShortLimit = 1000;
}

function OnUpdate()
{
EnterLongLimit(I.Close[0] - GetPriceStep() * P1);
BreakingStop(GetPriceStep() * 1000, GetPriceStep(), SignalPriceType.DeltaFromAveragePrice);
}


NeFractalGraal-01.png
NeFractalGraal-01.png (31.53 КБ) 11740 просмотров