Общие вопросы по разработке > Закрытие позиции при достижении ПУ на фьючерсе

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
Balalayka
Сообщения: 38
Зарегистрирован: 21 сен 2018, 10:57
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Закрытие позиции при достижении ПУ на фьючерсе

Непрочитанное сообщение Balalayka » 21 сен 2018, 20:23

Всем доброго дня!
Прошу помочь с проблемой,

Вот пример части простенького кода на долларовом фьючерсе

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

if ( (CurrentPL() >= P1) )
   {
      CloseLong()


где P1 - это целое число.
При исполнении кода не происходит закрытие позиции, даже если заменить целое число на ПУ в %, если указать P1 как число с десятыми или сотыми вообще выдает ошибку.
Догадываюсь что проблема в понимании роботом значения ПУ по долларовым фьючам, но не знаю как понять идет ли оно в рублях или пунктах или еще в чем-либо?
Смотрел в сторону функций PriceStep, PriceStepCost, но кажется не туда копаю.

Большая просьба помочь сориентироваться!

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

Re: Закрытие позиции при достижении ПУ на фьючерсе

Непрочитанное сообщение evge » 21 сен 2018, 21:19

Здравствуйте!

Из документации:

CurrentPL() – возвращает текущий доход по открытой позиции в валюте инструмента (рубли или пункты).

ещё в последнем обновлении есть:

GetFinInfo() – функция возврата информации по инструменту, используемому в стратегии
• Lot– Размер торгового лота, штук (аналог LotSize()). Тип int
• PriceStep – Текущая стоимость шага цены шаг цены (аналог GetPriceStep()). Тип double
PriceStepCost – Текущая стоимость шага цены. Тип double
• UpPrice – Верхний предельный уровень цены заявки. Тип double
• DownPrice – Нижний предельный уровень цены заявки. Тип double
• GtBuy – Гарантийные требования биржи для открытия длинной позиции, руб/шт. Тип double
• GtSell – Гарантийные требования биржи для открытия «короткой» позиции, руб/шт. Тип double
никогда такого не было и вот опять

Balalayka
Сообщения: 38
Зарегистрирован: 21 сен 2018, 10:57
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Re: Закрытие позиции при достижении ПУ на фьючерсе

Непрочитанное сообщение Balalayka » 24 сен 2018, 10:49

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

Еще можно вопрос, функция GetFinInfo() в каком разделе должна использоваться: OnUpdate() или Initialize?

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

Re: Закрытие позиции при достижении ПУ на фьючерсе

Непрочитанное сообщение evge » 24 сен 2018, 17:05

Balalayka писал(а):функция GetFinInfo() в каком разделе должна использоваться: OnUpdate() или Initialize?


в OnUpdate()
никогда такого не было и вот опять

vdm
Сообщения: 24
Зарегистрирован: 25 ноя 2016, 14:01
Благодарил (а): 10 раз
Поблагодарили: 2 раза

Re: Закрытие позиции при достижении ПУ на фьючерсе

Непрочитанное сообщение vdm » 25 сен 2018, 10:11

Balalayka писал(а):Спасибо!
Все получилось, как обычно ошибка была в мелочах.
Я так понимаю, что тестирование стратегий на долларовых парах работает не корректно? У меня в ПУ по итогам тестирования отображаются убытки в виде комиссий, у всех так?
Initialize?

Нужно комисию указывать не в рублях , а в пунктах цены. Например для BRV8 - шаг цены 0,01 , стоимость шага 6.58551 в $ . Комисссия в пунктах = 0,01 / (66(курс $)*6.58551) *Комиссию (руб)

Balalayka
Сообщения: 38
Зарегистрирован: 21 сен 2018, 10:57
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Re: Закрытие позиции при достижении ПУ на фьючерсе

Непрочитанное сообщение Balalayka » 28 сен 2018, 15:45

Спасибо всем!
Если кто-то из новичков наткнется на тему, то формула расчета комиссии также есть на оф.сайте Moex
Также удобно смотреть шаг цены, стоимость шага и соответственно комиссию в рублях в профиле инструмента там же на Moex


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

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

Сейчас этот форум просматривают: Google [Bot] и 5 гостей