• Уважаемые форумчане, друзья и посетители!
    Форум останавливает свою работу с 1 июня на неопределенное время.
    Сохраните все что для вас важное с форума.
    Всем удачи и всего наилучшего в этой жизни.

Profit Target и Stop Loss по времени.

  • Автор темы ktoyaest
  • Дата начала

ktoyaest

New Member
NinjaTrader
  • #1
Добрый день, всем!

Подскажите, как реализовать закрытие позиции в стратегии по времнеи в NT8?
Т.е. стратегия при определенных условиях открыла позицию и по истечению 5 минут сработал TP либо SL не зависимо будет прыбыль или убыток.

Заранее благодарю за помощь!
 
  • Like
Реакции: Muratik
  • #2
Тут всё просто.
Запоминаем время входа.
Затем сравниваем текущее время и время входа.
Если прошло более 5 минут выходим из сделки.
 
  • Like
Реакции: Muratik и ktoyaest
  • #3
NT8 сказал(а):
Тут всё просто.
Запоминаем время входа.
Затем сравниваем текущее время и время входа.
Если прошло более 5 минут выходим из сделки.

Спасибо за совет, но я никак не силен в напсание этого хоть и простого алгоритма.
Буквально с неделю занимаюсь постоением стратегий в Построителе стратегий NT8. Но как там это реализовать, непонимаю. Буду благодарен даже денюжкой (в разумных пределах) если кто поможет с написанием выше описанного алгорима и чтоб его можно было вставить в стратегию. Уж очень это мне важно.
 
  • Like
Реакции: Muratik
  • #4
В построителе стратегий этого не сделать, скорее всего.
 
  • Like
Реакции: Muratik
  • #5
ktoyaest сказал(а):
Буквально с неделю занимаюсь постоением стратегий в Построителе стратегий NT8. Но как там это реализовать, непонимаю.
NT8 сказал(а):
В построителе стратегий этого не сделать, скорее всего.

Светлана, в одном из последних вебинаров по Strategy Builder в NT8, показала как создать условие, по времени, и привязать к нему действие (название вебинара не помню). Причём настоятельно рекомендовала сделать его первым, что бы робот первым делом смотрел на время.
ktoyaest, скорее всего эта поможет найти нужное Вам решение.
 
  • #6
Муратик как всегда))
Там можно создать условие по времени, а не по промежутку времени.
 
  • Like
Реакции: Muratik
  • #7
NT8 сказал(а):
Там можно создать условие по времени, а не по промежутку времени.
Просто подумалось, что к выставляемому стратегией ордеру (вход) можно привязать противоположный (выход) по времени/через нужное время (5 мин).
Не может быть что бы в Построителе не было такой возможности - если он может создать условие для входа по индикатору, или там ещё чему нибудь, то, скорее всего, сможет создать и условие выйти по /через какое то время.
Надо просто поискать в нём как установить промежуток времени.
 
Последнее редактирование:
  • #8
NT8 сказал(а):
Там можно создать условие по времени, а не по промежутку времени.
NT8, если обратили Ваше драгоценнейшее внимание на этот момент, то может пропишите такую возможность где нибудь здесь?:


Или в каком то другом модуле Strategy Builder.
Хорошо что, благодаря ktoyaest обнаружился этот недостаток.
 
  • #9
Это к разработчикам ниндзи.
 
  • Like
Реакции: Muratik
  • #11
На обращение пришёл ответ от Chelsea B:

К сожалению, это потребует манипулирования объектами DateTime и не будет тем, на что способен построитель стратегий.

Сценарий должен быть разблокирован и изменен вручную.

Вы можете сравнить время баров.

Например:

private int SavedBar;

if (/ * условие для сохранения времени бара * /)
saveBar = CurrentBar;

if (Time [CurrentBar - saveBar] .AddMinutes (5)> = Time [0])
{
// время сохраненного бара не менее 5 минут
}

Ниже приведена ссылка на справочное руководство по Time [0] и CurrentBar.

NinjaScript > Language Reference > Common > ISeries > TimeSeries > Time

NinjaScript > Language Reference > Common > OnBarUpdate() > CurrentBar
OFFTOP

Оригинал на английском:
Unfortunately, this would require manipulating DateTime objects and would not be something that the Strategy Builder is capable of.

The script would need to be unlocked and modified by hand.

You can compare the time of bars.

For example:

private int savedBar;

if (/* condition for saving bar time */)
savedBar = CurrentBar;

if (Time[CurrentBar — savedBar].AddMinutes(5) >= Time[0])
{
// it is at least 5 minutes since the time of the saved bar
}

Below is a link to the help guide on Time[0] and CurrentBar.

https://ninjatrader.com/support/help...eries_time.htm

https://ninjatrader.com/support/help...currentbar.htm

Please let me know if this does not resolve your inquiry.

 
Последнее редактирование:
  • Like
Реакции: Iman
  • #12
Можно и так.

Создать переменную DateTime StartTime

if(Условие для открытия позиции)
{
StartTime = Time[0];
}

Условие для закрытия позиции

if(Time[0] >= StartTime.AddMinutes (5))
{
Закрываем позицию.
}
 
  • Like
Реакции: Iman и Muratik
  • #13
ktoyaest сказал(а):
стратегия при определенных условиях открыла позицию и по истечению 5 минут сработал TP либо SL не зависимо будет прыбыль или убыток.
ktoyaest, заинтриговали - закрытие позиции по истечении 5 минут после открытия...
Пришла на ум такая ситуация - робот поймал/увидел полностью сформировавшийся Дожи, торганул и ч/з 5 минут закрылся.
 
  • #14
Из ответа Chelsea B:
"I've received tracking ID# SFT-4169 for this request for the ability to add minutes to a datetime object in Strategy Builder.

Please note it is up to the NinjaTrader Development to decide if or when any request will be implemented."
Гуглперевод:
"Я получил идентификатор отслеживания # SFT-4169 для этого запроса на возможность добавления минут к объекту даты и времени в построителе стратегий.
Пожалуйста, обратите внимание, что разработка NinjaTrader должна решить, будет ли любой запрос реализован или нет."
Подождём-с)))
 
  • Like
Реакции: Alexander
  • #15
Muratik сказал(а):
ktoyaest, заинтриговали - закрытие позиции по истечении 5 минут после открытия...
Пришла на ум такая ситуация - робот поймал/увидел полностью сформировавшийся Дожи, торганул и ч/з 5 минут закрылся.
На каком ТФ будешь ловить доджи?
 
  • Like
Реакции: Muratik
  • #16
Iman сказал(а):
На каком ТФ будешь ловить доджи?
Просто это первое, что на ум пришло, после слов - "закрытие позиции по истечении 5 минут от открытия".
А лучший (оптимальный) ТФ для такого робота, быстрее всего, выдаст Strategy Builder.
 
  • Like
Реакции: Iman
  • #18
Muratik сказал(а):
Просто это первое, что на ум пришло, после слов - "закрытие позиции по истечении 5 минут от открытия".
А лучший (оптимальный) ТФ для такого робота, быстрее всего, выдаст Strategy Builder.

Цель открытой позиции должен быть профит, а эта идея очень "специфическая". Что-то из бинарных оптионов. Анализатор стратегий показывает историю, и не даёт никаких гарантий на будущее.
 
  • Like
Реакции: Muratik и Nikolaevich
  • #19
"а эта идея очень "специфическая"".
Просто пришёл образ для робота - есть Дожи, ждём одну свечу/бар и, с тиком начала следующего бара, входим. На 5-ти минутках - выходим ч/з 5 минут.
 
  • #20
Muratik сказал(а):
На 5-ти минутках - выходим ч/з 5 минут.
уверен что ты это и визарде запрограмми.. на открытии бара(бар=5m), я сам без нт сейчас, а-то бы ..
Используй
if (Position.MarketPosition == MarketPosition.Flat)....для входа

if (Position.MarketPosition == MarketPosition.Long) {ExitLong

if (Position.MarketPosition == MarketPosition.Short) {ExitShort
 
Назад
Верх Низ