Стратегии и роботы > EnterLongLimit()

Обсуждение, описание стратегий и роботов, идеи для стратегий
Михаил
Сообщения: 2
Зарегистрирован: 12 сен 2017, 10:17
Благодарил (а): 3 раза

EnterLongLimit()

Непрочитанное сообщение Михаил » 12 сен 2017, 13:58

Всем доброго дня!
Прошу помочь в таком вопросе: не могу разобраться как правильно задать команду EnterLongLimit()
Задача следующая:
Нужно чтобы робот выставлял заявку EnterLongLimit по цене равной значению нижней линии индикатора PriceChannel,
Либо можно обойтись и без индикатора, в общем смысл состоит в том, что робот должен выставлять лимитированную заявку ЛОНГ по цене равной минимальной цене из 3 предыдущих свечек.

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

Re: EnterLongLimit()

Непрочитанное сообщение evge » 12 сен 2017, 15:30

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

/**LowLimit
Developed by evge;**/

function Initialize()
{
   StrategyName = "LowLimit";
   AddInput("Input1", Inputs.Candle, 5, true, "BRV7=ФОРТС");
   LongLimit = 1;
   ShortLimit = -1;
}

function OnUpdate()
{

EnterLongLimit(MinValue(Input1.Low, 3, 0));

if (CurrentPL() > 0) CloseLong();

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

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

Re: EnterLongLimit()

Непрочитанное сообщение evge » 12 сен 2017, 15:32

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

if (CurrentPL() > 0) CloseLong();


Эта строка добавлена просто для демонстрации работы входа по минимуму лимитной заявкой

чтобы закрывалась позиция хоть как-то :)

но может уйти в позицию не закрыв её "долгое" время
никогда такого не было и вот опять

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

Re: EnterLongLimit()

Непрочитанное сообщение evge » 12 сен 2017, 15:36

ВСТРОЕННЫЕ ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ
...
MinValue(Series, N=1, D=0) – возвращает минимальное значение из N точек ряд Series со смещением D назад
...

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

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

Михаил
Сообщения: 2
Зарегистрирован: 12 сен 2017, 10:17
Благодарил (а): 3 раза

Re: EnterLongLimit()

Непрочитанное сообщение Михаил » 12 сен 2017, 18:42

Evge, большое спасибо, работает.
А нет ли возможности выставлять лимитированную заявку также и на закрытие позиции? Хотелось бы по такому же принципу закрывать позицию ЛОНГ по цене равной максимальной цене из 3 предыдущих свечек.

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

Re: EnterLongLimit()

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

Как я помню нет, только на закрытии бара закрывать позицию.

вот так например

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

if (MaxValue(Input1.High, 3, 1) <= Input1.Close[0])
CloseLong();
никогда такого не было и вот опять

nordseven
Сообщения: 39
Зарегистрирован: 05 мар 2016, 19:39
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: EnterLongLimit()

Непрочитанное сообщение nordseven » 30 окт 2017, 00:54

Чтобы не городить огород спрошу тут.
Если я выставляю лимитную заявку, но ситуация меняется и мне её уже не нужно исполнять, как мне её отменить? Что-то я кроме CancelStopLoss ничего не нашел...

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

Re: EnterLongLimit()

Непрочитанное сообщение evge » 30 окт 2017, 07:07

CancelActiveOrders(LeaveStop) – снять активные заявки.
LeaveStop – булевая переменная, управляющая снятием стопа к позиции.
true – оставить стоп к позиции.
false – снять все.
никогда такого не было и вот опять

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

Re: EnterLongLimit()

Непрочитанное сообщение evge » 30 окт 2017, 08:03

Михаил писал(а):А нет ли возможности выставлять лимитированную заявку также и на закрытие позиции? Хотелось бы по такому же принципу закрывать позицию ЛОНГ по цене равной максимальной цене из 3 предыдущих свечек.


Ну вот некоторое время прошло и в последних обновлениях АД4 добавили функции закрытия позиции лимитным ордером.

CloseLongLimit(Price)
CloseLongLimit(Price, Q) – закрыть позицию лонг по стратегии по цене Price полностью (или заданное количество Q).
CloseShortLimit(Price)
CloseShortLimit(Price, Q) – закрыть позицию шорт по стратегии по цене Price полностью (или заданное количество Q).
никогда такого не было и вот опять


Вернуться в «Стратегии и роботы»

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

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