Общие вопросы по разработке > UseClosedBar = false

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
Аватара пользователя
Indigo-On
Сообщения: 55
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 24 раза
Поблагодарили: 9 раз

UseClosedBar = false

Непрочитанное сообщение Indigo-On » 15 дек 2018, 01:59

Всем доброго времени суток.

Кто использует нижеприведенную конструкцию в коде инициализации стратегии?
У кого нибудь вешается терминал (v4.0.2155.1506) при использовании этого кода?
Какое оптимальное время для LiveBarTimeout?

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

UseClosedBar = false;
LiveBarTimeout = 10;


Были ли случаи зависания при использовании GetFinInfo() ?

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

double dGO = GetFinInfo().GtSell;
double dStep = GetFinInfo().PriceStep;
double dCost = GetFinInfo().PriceStepCost;

Аватара пользователя
Den
Сообщения: 352
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 14 раз
Поблагодарили: 4 раза

Re: UseClosedBar = false

Непрочитанное сообщение Den » 16 дек 2018, 01:17

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

UseClosedBar = false


до сих пор покрыт мраком. Спрашиваю Дмитрия Еремина (aka oxi) уже года два. Или три.
Ответа нет пока.

Аватара пользователя
Indigo-On
Сообщения: 55
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 24 раза
Поблагодарили: 9 раз

Re: UseClosedBar = false

Непрочитанное сообщение Indigo-On » 16 дек 2018, 01:32

Den писал(а):

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

UseClosedBar = false

до сих пор покрыт мраком. Спрашиваю Дмитрия Еремина (aka oxi) уже года два. Или три.
Ответа нет пока.


В обновленной документации по скриптам на сайте Альфа-Директ эта опция описана.
И она уже работает в новых версиях AD.
В версии AD 4.0.2155.1506 у меня вешаются роботы при запуске. Пока не могу понять, связано ли это с общей стабильностью работы любых роботов в этой версии, или с функцией GetFinInfo, или с UseClosedBar=false, или с частым вызовом OnUpdate внутри бара (LiveBarTimeout=1 сек).

Аватара пользователя
Den
Сообщения: 352
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 14 раз
Поблагодарили: 4 раза

Re: UseClosedBar = false

Непрочитанное сообщение Den » 16 дек 2018, 17:37

Эта функция пока не работает в АД. Не знаю даже , встроена она туда или нет.

Последний ответ по этому поводу от Дмитрия был 20 июля вот тут

viewtopic.php?f=5&t=488&p=3235#p3235

Аватара пользователя
Den
Сообщения: 352
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 14 раз
Поблагодарили: 4 раза

Re: UseClosedBar = false

Непрочитанное сообщение Den » 17 дек 2018, 15:49

В обновленной документации по скриптам на сайте Альфа-Директ эта опция описана.
И она уже работает в новых версиях AD.


Хотел уточнить, у вас OnUpdate вызывается не на закрытии бара, а внутри (ведь UseClosedBar = false работает) ?

Так? У меня версия старая (1732.1756), я её не меняю, так она стабильная и весит 500мб.

UseClosedBar – настройка, позволяющая вызывать код метода OnUpdate() внутри бара (по приходу новых сделок). Если в коде указано UseClosedBar = false, то вызов метода будет происходить внутри бара не чаще чем один раз в LiveBarTimeout секунд.


Как роботы у вас вызывают OnUpdate() ?

Вы написали

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

   UseClosedBar = false;
   LiveBarTimeout = 1; // Вызывать не чаще чем раз в 1 секунду


И они у вас виснут сразу после запуска?

Аватара пользователя
Indigo-On
Сообщения: 55
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 24 раза
Поблагодарили: 9 раз

Re: UseClosedBar = false

Непрочитанное сообщение Indigo-On » 17 дек 2018, 16:05

Den писал(а):Хотел уточнить, у вас OnUpdate вызывается не на закрытии бара, а внутри (ведь UseClosedBar = false работает) ?
Так? У меня версия старая (1732.1756), я её не меняю, так она стабильная и весит 500мб.
Как роботы у вас вызывают OnUpdate() ?

Так точно. Внутри бара, через заданное количество секунд.

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

UseClosedBar = false;
LiveBarTimeout = 10;

LiveBarTimeout = количество секунд, через которое происходит вызов OnUpdate().

У меня версия AD 4.0.2155.1506 (доступна на сайте). Вполне стабильная версия для ручной торговли, субъективно ест меньше памяти, чем v4.0.1900.1900.
Но для старых роботов, отрабатывающих в начале следующего бара (UseClosedBar = true), я бы использовал v4.0.1931.1402. Очень уж шустрая эта v4.0.1931.1402, и стабильная к тому же.

Сейчас несколько советников запущено в целях тестирования, вызов OnUpdate() задан раз в секунду. Вроде стабильно (тьфу, тьфу, тьфу).
Подозреваю, что виновница зависаний GetFinInfo(). Буду тестировать вживую вечером одним лотом.

Аватара пользователя
Den
Сообщения: 352
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 14 раз
Поблагодарили: 4 раза

Re: UseClosedBar = false

Непрочитанное сообщение Den » 17 дек 2018, 16:16

Хорошо, спасибо за уточнение. Отпишитесь тогда как пройдет.
Придется менять версию.

Ведь ждал я

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

UseClosedBar=false


ну года три наверное :)

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

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

 LiveBarTimeout = 1;

Аватара пользователя
Indigo-On
Сообщения: 55
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 24 раза
Поблагодарили: 9 раз

Re: UseClosedBar = false

Непрочитанное сообщение Indigo-On » 17 дек 2018, 17:17

Den писал(а):если не сложно, скиньте сюда схему вашего робота , который исполняет.
У меня версия старая походу, не принимает

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

 LiveBarTimeout = 1;


Схема обычная. Такая же как и для роботов, исполняющих на закрытии/открытии бара.
Ниже пример самого простенького из моих шаблонов.
► Показать

Аватара пользователя
Den
Сообщения: 352
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 14 раз
Поблагодарили: 4 раза

Re: UseClosedBar = false

Непрочитанное сообщение Den » 17 дек 2018, 17:49

я примерно так же компилировал, не прошло видимо из-за того, что версия старая.
Не опознаёт новые команды.

Аватара пользователя
Indigo-On
Сообщения: 55
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 24 раза
Поблагодарили: 9 раз

Re: UseClosedBar = false

Непрочитанное сообщение Indigo-On » 17 дек 2018, 17:53

Den писал(а):я примерно так же компилировал, не прошло видимо из-за того, что версия старая.
Не опознаёт новые команды.

100%. Это работает только в новых версиях.


Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей