Общие вопросы по разработке > Как выполнить покупку по нужной цене?

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
nsemkin
Сообщения: 11
Зарегистрирован: 12 сен 2019, 17:40
Благодарил (а): 2 раза

Как выполнить покупку по нужной цене?

Непрочитанное сообщение nsemkin » 12 сен 2019, 17:46

При добавлении условий есть Открытие, Закрытие, Максимум и минимум, а как можно сделать, к примеру, покупку просто когда текущая цена станет равна какому-то нужному значению?

vizm
Сообщения: 1
Зарегистрирован: 21 авг 2019, 22:47

Re: Как выполнить покупку по нужной цене?

Непрочитанное сообщение vizm » 13 сен 2019, 08:45

Открытие позиции по лимиту

EnterLongLimit(Price)
EnterLongLimit(Price, Q)
– закрыть текущий шорт (если он есть) и открыть позицию лонг на разрешенное стратегией количество (или заданное количество Q) по цене Price.

EnterShortLimit(Price)
EnterShortLimit(Price, Q)
– закрыть лонг (если он есть) и открыть шорт на разрешенное стратегией количество (или заданное количество Q) по цене Price.
Робот, который запущен в режиме «Робот», при появлении сигналов для открытия позиции, отправляет на рынок торговые поручения:
- с типом «лимит» (LMT);
- с ценой равной Price.


Открытие позиции по стопу

EnterLongStop(Price)
EnterLongStop(Price, Q)
– закрыть текущий шорт (если он есть) и открыть позицию лонг на разрешенное стратегией количество (или заданное количество Q) если цена будет больше или равна Price.
EnterShortStop(Price)
EnterShortStop(Price, Q)
– закрыть лонг (если он есть) и открыть шорт на разрешенное стратегией количество (или заданное количество Q) если цена будет меньше или равна Price.
Робот, который запущен в режиме «Робот», при появлении сигналов для открытия позиции, отправляет на рынок торговые поручения:
- с типом «стоп-маркет» (STP)
-с ценой условия равной Price.

nsemkin
Сообщения: 11
Зарегистрирован: 12 сен 2019, 17:40
Благодарил (а): 2 раза

Re: Как выполнить покупку по нужной цене?

Непрочитанное сообщение nsemkin » 13 сен 2019, 15:12

Да лимитная заявка выставляется, получилось.
Но все-таки хотелось бы уточнить по входным данным, это данные свечи и все? Есть ли возможность получать текущую цену? В терминалах же текущая цена отображается..

nsemkin
Сообщения: 11
Зарегистрирован: 12 сен 2019, 17:40
Благодарил (а): 2 раза

Re: Как выполнить покупку по нужной цене?

Непрочитанное сообщение nsemkin » 13 сен 2019, 15:27

Вот есть такое

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

AddInput("Input1", Inputs.Candle, 1440, true, "");


А кроме Candle есть что-то еще, чтобы текущую цену мониторить?..

Аватара пользователя
evge
Администратор
Сообщения: 1641
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 64 раза
Поблагодарили: 294 раза
Контактная информация:

Re: Как выполнить покупку по нужной цене?

Непрочитанное сообщение evge » 16 сен 2019, 12:42

nsemkin писал(а):Да лимитная заявка выставляется, получилось.
Но все-таки хотелось бы уточнить по входным данным, это данные свечи и все? Есть ли возможность получать текущую цену? В терминалах же текущая цена отображается..


Функции работы с ценой
GetAsk() – функция возвращает лучший аск в очереди заявок.
GetBid() – функция возвращает лучший бид в очереди заявок.
GetLast() – функция возвращает цену последней сделки на момент вызова.

Но это только для работающего робота. Для тестирования это равноценно Input1.Close[0]
никогда такого не было и вот опять

nsemkin
Сообщения: 11
Зарегистрирован: 12 сен 2019, 17:40
Благодарил (а): 2 раза

Re: Как выполнить покупку по нужной цене?

Непрочитанное сообщение nsemkin » 16 сен 2019, 17:21

А функция function OnUpdate() вызывается в зависимости от таймфрейма свечи? Если свечи часовые, то GetAsk() это цена закрытия часовой свечи получится..
Програмно получается в режиме реального времени не получится следить за ценой? Минимум каждую секунду?

Аватара пользователя
evge
Администратор
Сообщения: 1641
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 64 раза
Поблагодарили: 294 раза
Контактная информация:

Re: Как выполнить покупку по нужной цене?

Непрочитанное сообщение evge » 16 сен 2019, 17:30

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

Тестирование стратегии с UseClosedBar = false невозможно. Предварительно оценить ее эффективность можно в режиме робота-советника.

Пример.

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

   UseClosedBar = false;
   LiveBarTimeout = 10; // Вызывать не чаще чем раз в 10 секунд
никогда такого не было и вот опять


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

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

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