У вас не стоит Flash Player
Настройки
#5129 - Thu Apr 29 2010 05:23 PM Размещение ордера на открытии нового бара
Begemot Offline
stranger

Registered: Thu Apr 29 2010
Записи: 4
Добрый день,
вопрос из разряда надоевших: про открытие позиции.

Статегия такая: если цена закрытия последнего бара выше определенной величины, то на открытии текущего бара выставляется рыночный ордер на покупку.

Когда у меня в свойствах стоит "Интервал пересчета" - Интервал, то Bar[i] - это последний закрывшийся бар, а Bar[i-1] - это предпоследний. Но я не могу сообразить, как тогда писать код:

if(source.Bars[i-1].Close >= dayhigh)
{
source.Position.BuyAtMarket(i, 1, "Long");
}

В этом случае позиция на тестере откроется задним числом - появится на открытии i-го бара, который уже закрылся, поскольку началось формирование бара i+1. Ну а на реальных торгах она, соответственно, не появится вообще.

Есть одна идея: если везде поставить i, то на тестере ордер размещается на открытии того же самого бара, который пробил значение dayhigh. Получается опять размещение задним числом, но я читал, что на реальной торговле TSLab исполнит заявку как раз на открытии следующего бара, что и нужно по условию.

Где я не прав и как быть?
Спасибо.

Наверх
#5130 - Thu Apr 29 2010 05:27 PM Re: Размещение ордера на открытии нового бара [Re: Begemot]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
source.Position.BuyAtMarket(i+1, 1, "Long");

Наверх


Moderator:  ViL, sar