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

имена ордеров

ShamanK

New Member
NinjaTrader
всем привет,
ситуация: есть несколько ордеров ( в рынке) с разными именами.
вопрос: как их прочесть ?

надежды на ответ нет, но все же может кто подскажет?
 
ShamanK сказал(а):
всем привет,
ситуация: есть несколько ордеров ( в рынке) с разными именами.
вопрос: как их прочесть ?

надежды на ответ нет, но все же может кто подскажет?

Добрый день. Уточните свой вопрос. Не очень понятно, что для Вас означает (с разными именами). Есть 3-и вида ордеров. Лимит по которому входят в рынок ниже цены на покупку (область BUY) выше цены на продажу (область SELL). Лимит по которому выходят из рынка если позиция Лонг (длинная), то Лимит стоит в области SELL, если позиция Шорт (короткая), то Лимит стоит в области BUY. Стоп-Лимит принцип такой же, что и у Лимит, только выставляется он выше цены. И просто Стоп (хотя он тоже из разряда лимит ордеров), он ставится при позиции Лонг ниже цены входа в области SELL и при позиции Шорт выше цены входа в области BUY.
 
суть:
вхожу маркетным ордером посредством привода. привод передает в нинзю имя ордера:

EnterLong(1, 1,"ИМЯ");

соответственно когда закрываю позицию то:

ExitLong("ИМЯ");

однако все бы ничего, если бы суммарный размер позиции всегда был равен 1

но увы.

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

в качестве имени передается порядковый номер очередного ордера.
тоесть если в рынке 0 открытых ордеров - то передается 1 и тд..
при исполнении ордера нинзя передает приводу общее количество ордеров

qv1 = Positions[0].Quantity.ToString();

привод считывает количество и при необходимости войти еще одним ордером в рынок передает нинзе имя в виде qv1+1

так же и при закрытии:
привод считывает количество открытых ордеров и посылает в качестве имени эту цифру с приказом закрыть этот ордер.
этот ордер естественно есть - так как был открыт с таким именем, и нинзя его прекрасно закрывает.

тоесть сначала я октрыл 10 раз по одному ордеру, и потом обратным порядком закрыл все эти 10 ордеров по одному ордеру за раз.

проблема заключается в том, что когда я все ордера таким образом закрыл - новый торговый приказ несет в себе имя1 ( так как ноль в рынке ) и нинзя его просто не видит. она недавно ордер с таким именем уже закрыла, и теперь с таким же именем открывать не желает (((

тоесть необходимо как то либо обнулять кучу ордеров при их закрытии
умные люди подсказали создавать массив ордеров ( но я не догнал как это сделать)

либо же ВСЕГДА ордерам давать уникальные имена, а в самой нинзе как то считывать имена ордеров находящихся в рынке.
 
ShamanK сказал(а):
суть:
вхожу маркетным ордером посредством привода. привод передает в нинзю имя ордера:

EnterLong(1, 1,"ИМЯ");

соответственно когда закрываю позицию то:

ExitLong("ИМЯ");

однако все бы ничего, если бы суммарный размер позиции всегда был равен 1

но увы.

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

в качестве имени передается порядковый номер очередного ордера.
тоесть если в рынке 0 открытых ордеров - то передается 1 и тд..
при исполнении ордера нинзя передает приводу общее количество ордеров

qv1 = Positions[0].Quantity.ToString();

привод считывает количество и при необходимости войти еще одним ордером в рынок передает нинзе имя в виде qv1+1

так же и при закрытии:
привод считывает количество открытых ордеров и посылает в качестве имени эту цифру с приказом закрыть этот ордер.
этот ордер естественно есть - так как был открыт с таким именем, и нинзя его прекрасно закрывает.

тоесть сначала я октрыл 10 раз по одному ордеру, и потом обратным порядком закрыл все эти 10 ордеров по одному ордеру за раз.

проблема заключается в том, что когда я все ордера таким образом закрыл - новый торговый приказ несет в себе имя1 ( так как ноль в рынке ) и нинзя его просто не видит. она недавно ордер с таким именем уже закрыла, и теперь с таким же именем открывать не желает (((

тоесть необходимо как то либо обнулять кучу ордеров при их закрытии
умные люди подсказали создавать массив ордеров ( но я не догнал как это сделать)

либо же ВСЕГДА ордерам давать уникальные имена, а в самой нинзе как то считывать имена ордеров находящихся в рынке.
Да через массив лучше всего, который при закрытии всех позиций обнуляется. В этом вопросе ничем помочь не могу. Спросите у Vladko, он здесь разбирается не плохо в программировании, возможно, он Вам поможет с массивом.
 
Vladko и есть тот умный человек ))
это он подсказал - что надо обнулять ордер
и надо создавать массив ордеров.

я просто пока не могу догнать "архитектуру" сего действа.
 
Назад
Верх Низ