• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Позиция по стратегии и реальная позиция на рынке

Admiral

New Member
NinjaTrader
Подскажите, как программно получить, какая реальная позиция открыта на рынке, чтобы самостоятельно ее корректировать в зависимости от рыночной ситуации?
 
Из внешнего приложения можно задействовать ATI интерфейс (в хелпе - DLL Interface).

Внутри скрипта только через недокументированные возможности.
 
if (Position.MarketPosition != MarketPosition.Flat) //если есть открытые позиции
{
if (Position.MarketPosition == MarketPosition.Long) //и эти позиции лонги
{........}
if (Position.MarketPosition == MarketPosition.Short)// если открытые позиции ШОРТЫ
{...}

}
int OpenPozition = Position.Quantity;// кол-во открытых позиций в лотах
 
baypas сказал(а):
if (Position.MarketPosition != MarketPosition.Flat) //если есть открытые позиции
{
if (Position.MarketPosition == MarketPosition.Long) //и эти позиции лонги
{........}
if (Position.MarketPosition == MarketPosition.Short)// если открытые позиции ШОРТЫ
{...}

}
int OpenPozition = Position.Quantity;// кол-во открытых позиций в лотах  
Это по стратегии. Речь шла о позиции глобально на эккаунте.
 
Это по стратегии. Речь шла о позиции глобально на эккаунте.[/quote]

да, действительно, вопрос был именно как определить позицию по аккаунту.
Есть ли какие-то методы. В хелпе ничего не нашел. С библиотеками пока еще не разобрался. ?
 
Как я и говорил, хелп здесь не помощник. Рефлектор в руки - и вперед.

Владимир а у тебя есть уже наработки по этому? Помоги если не сложно.
Вот что у меня получилось сделать на данный момент. В стратегии все нормально работает, а в индикаторе не получается определить что за позиция сейчас открыта. Нужна работа именно из индикатора.
вот кусок кода из индикатора:
Код:
protected override void OnBarUpdate()
{
  try
  {
     if (Strategy.Position.MarketPosition == MarketPosition.Flat)  Print("MarketPosition.Flat" );
     if (Strategy.Position.MarketPosition == MarketPosition.Long)  Print("MarketPosition.Long");
     if (Strategy.Position.MarketPosition == MarketPosition.Short) Print("MarketPosition.Short");
  }
  catch (Exception en)
  {
     Print("Ошибка в OnBarUpdate: " + en);
  }
}
выдает ошибку: System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.
Что сделать чтобы побороть ошибку и определить что за позиция сейчас открыта?
 
Назад
Верх Низ