Page 1 of 1

LastBarOnChart при различных IntrabarOrderGeneration(IOG)?

Posted: 18 Feb 2012
by olart
MultiCharts Version 7.4 (Build 4953)

Пирамидинг отключен, Off-line,
По условию
if LastBarOnChart then print(1);

при IOG=false
На вкладку Output выводится:
1

при IOG=true
На вкладку Output выводится:
1
1
1
1
Мне кажется в обоих случаях должен быть первый вариант, иначе при тестировании стратегии при IOG=true как избежать 4-х кратного срабатывания кода на закрытии последнего бара?
И еще, представляется целесообразным включить в Навигатор (справочник) PLE описание LastBarOnChart и LastBarOnChart_s

Re: LastBarOnChart при различных IntrabarOrderGeneration(IOG

Posted: 23 Feb 2012
by Henry MultiСharts
Здравствуйте, Olart.

Это корректное поведение.
При включенном IOG сигнал просчитывается на OHLC на исторических данных, и на каждом тике в риалтайме. Пирамидинг влияет на генерацию ордеров, но никак не влияет на вывод в Output.

LastBarOnChart
Эта функция возвращает значение True для всех баров на чарте (резолюция которых основывается на тиковых данных), которые имеют такую же дату и время (с точностью до минут), как и поседний бар на чарте.

LastBarOnChart_s
Эта функция возвращает значение True для всех баров на чарте (резолюция которых основывается на тиковых данных), которые имеют такую же дату и время (с точностью до секунд), как и поседний бар на чарте.

Re: LastBarOnChart при различных IntrabarOrderGeneration(IOG

Posted: 24 Feb 2012
by olart
Здравствуйте, Henry,

Спасибо за Ваш ответ. Но все таки осталось непонятным существует ли возможность тогда помимо использовании функции LastBarOnChart, на исторических данных, при IOG=ON, запускать выполнение кода стратегии один раз на закрытии последнего бара?

Re: LastBarOnChart при различных IntrabarOrderGeneration(IOG

Posted: 27 Feb 2012
by Henry MultiСharts
Здравствуйте, Olart,

Чтобы запускать выполнение кода стратегии один раз на закрытии бара при IOG=ON используйте кодовое слово barstatus=2.
Например:

Code: Select all

if barstatus=2 then begin
print(date, "", time_s);
end;
При включенном IOG данный сигнал будет просчитываться и выводить дату и время в output по закрытию бара.

Re: LastBarOnChart при различных IntrabarOrderGeneration(IOG

Posted: 29 Feb 2012
by olart
Спасибо, все понятно.