Стратегии и роботы > Робот не закрывает позицию по времени.

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

Робот не закрывает позицию по времени.

Непрочитанное сообщение evge » 05 мар 2016, 13:13

Gena 05.03.2016 12:51:36

робот не закрывает позицию по времени.

На основе робота Alfa_EE создаю новый, добавляю третье правило на закрытие позиции, если текущее время больше 23:28 (для графика SIH6 период М30). Терминал сгенерировал код:

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

/// ПРАВИЛО 3
   if ( (BarTime() > AsTime(23, 28, 0)) )
   {
   ClosePosition();
   }

При тестировании робот после 23:25 не закрывает позицию. То же и для Alfa_ES, Alfa_MACD.
Создал робота (для графика SIH6 период М30) для входа в Шорт при пересечении ЕМА50 быстрой ЕМА10 сверху вниз и выходе при закрытии бара выше EMA10 или по времени (третье правило)- при тестировании правило работает!!!! Закрывает сделку после 23:28.
При использовании иных индикаторов третье правило не работает. Получился всего 1 робот с работающим 3-м правилом. Не пойму в чем причина. Ведь весь код генерировала машина.
никогда такого не было и вот опять

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

Re: Робот не закрывает позицию по времени.

Непрочитанное сообщение evge » 05 мар 2016, 13:14

Это не текущее время, а время бара.

и если у вас в правилах открытия EMA > EMA и EMA < EMA замените на пересекает вверх и пересекает вниз и всё заработает.

а ещё важно какой таймфрейм, если у вас H1 или выше на роботе, то
BarTime() на 23 часах выдаст 23:00:00, а это меньше вашего условия и правило не сработает, а на следующем баре будет уже 00:00:00 и правило так же не сработает, т.к. условие не выполняется.

Alfa_EE-01.png
Alfa_EE-01.png (26.1 КБ) 9632 просмотра

Alfa_EE-02.png
Alfa_EE-02.png (28.45 КБ) 9626 просмотров


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

/**
Стратегия на пересечении 2х ЕМА.
Developed by Alfadirect;
Algorithm = ТРЕНД;
Hash code CF943F470615A836BD6B1073B46C0714
**/
function Initialize()
{
   StrategyName = "Alfa_EE";
   AddParameter("P1", 1, "", 1);
   AddParameter("P2", 100, "", 0);
   AddInput("Input1", Inputs.Candle, 60, true, "GAZP=МБ ЦК");
   LongLimit = 0;
   ShortLimit = 0;
}

function OnUpdate()
{
   /// ПРАВИЛО 1
   if ( (CrossAbove(EMA(Input1.Close, P1), EMA(Input1.Close, P2)) == true) )
   {
      EnterLong();
   }

   /// ПРАВИЛО 2
   if ( (CrossBelow(EMA(Input1.Close, P1), EMA(Input1.Close, P2)) == true) )
   {
      EnterShort();
   }

   /// ПРАВИЛО 5
   if ( (BarTime() > AsTime(23, 28, 0)) )
   {
      ClosePosition();
   }

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

Геннадий
Сообщения: 29
Зарегистрирован: 06 мар 2016, 02:11
Поблагодарили: 2 раза

Re: Робот не закрывает позицию по времени.

Непрочитанное сообщение Геннадий » 06 мар 2016, 03:02

У меня возникло несколько вопросов.
1. Если я создам робота, он будет работать после закрытия мною терминала? Или же робот работает, пока терминал включен?
2. Я заметил, что если задаешь в условии получить реакцию относительно скажем, максимума бара, при тестировании робот всё равно учитывает закрытие бара. При реальной работе робот будет реагировать на максимум бара, как прописано в условии, или нет?
3. При создании робота учитываются только открытие, закрытие, максимум и минимум бара, или можно задать роботу реагировать на текущее значение бара? Если можно, то какой параметр задавать на отслеживание текущего значения бара.
Заранее спасибо за ответы.

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

Re: Робот не закрывает позицию по времени.

Непрочитанное сообщение evge » 06 мар 2016, 07:46

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


Только при включенном терминале.

Геннадий писал(а):2. Я заметил, что если задаешь в условии получить реакцию относительно скажем, максимума бара, при тестировании робот всё равно учитывает закрытие бара. При реальной работе робот будет реагировать на максимум бара, как прописано в условии, или нет?


High, Low, Open, Close, Vol всё это доступно для правил, т.е. для принятия решений, но сигнал робот исполняет на закрытии, т.е. только на close свечи.

Геннадий писал(а):3. При создании робота учитываются только открытие, закрытие, максимум и минимум бара, или можно задать роботу реагировать на текущее значение бара? Если можно, то какой параметр задавать на отслеживание текущего значения бара.


Ответ в ответе на вопрос 2. Текущее значение робот не видит.

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

Вообще если хотите официальных ответов от разработчиков записывайтесь на вебинар по роботам и там можно многое узнать про работу роботов. Периодически они (вебинары) появляются в учебном центре в закладке "Терминал". Вот следующий на 15 марта назначен, записывайтесь т.к. места ограничены.
никогда такого не было и вот опять

Геннадий
Сообщения: 29
Зарегистрирован: 06 мар 2016, 02:11
Поблагодарили: 2 раза

Re: Робот не закрывает позицию по времени.

Непрочитанное сообщение Геннадий » 06 мар 2016, 14:20

Спасибо за информацию. Слежу за семинарами, но во Владивостоке навряд ли буду проводить семинары по роботам. Поэтому приходится всё собирать по крупицам.

Геннадий
Сообщения: 29
Зарегистрирован: 06 мар 2016, 02:11
Поблагодарили: 2 раза

Re: Робот не закрывает позицию по времени.

Непрочитанное сообщение Геннадий » 06 мар 2016, 14:31

Вот собрал простенького робота. Используется для открытия шорта на нисходящем тренде.
Оптимизирован для SIH6 M30.
Открытие: Правило 1 - шорт открывается при пересечении ЕМА50 быстрой ЕМА10 сверху вниз.
Закрытие: Правило 2 – бар закрывается выше EMA10; Правило 3 – позиция закрывается сразу после 23:28 (до закрытия вечерней сессии); Правило 4 – минимум бара закрывается выше учетной цены открытой роботом позиции.
Выражение && AverPrice() > 0 не позволяет срабатывать правилам на закрытие шорта при отсутствии открытой позиции [когда AverPrice()=0].
На тесте за 43 дня с 22.01.16 по 4.03.16 прибыль составила 62,46% (просадка -3,64%). Из 12 сделок 8 прибыльных.

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

/**Si  ЕМА10хЕМА50 (Шорт на М30). Стоп
Developed by GenGal;
Algorithm = ТРЕНД;**/

function Initialize()
{
   StrategyName = "GenGal_EE_test2";
   AddParameter("P1", 10, "", 1);
   AddParameter("P2", 50, "", 0);
   AddInput("Input1", Inputs.Candle, 30, true, "SiH6=ФОРТС");
   LongLimit = 0;
   ShortLimit = 0;
}

function OnUpdate()
{
   /// ПРАВИЛО 1
   if ( (CrossBelow(EMA(Input1.Close, P1), EMA(Input1.Close, P2)) == true) )
   {
      EnterShort();
   }

   /// ПРАВИЛО 2
   if ( ((Input1.Close > EMA(Input1.Close, P1)) && AverPrice() > 0))
   {
      CloseShort();
   }

   /// ПРАВИЛО 3
   if ( ((BarTime() > AsTime(23, 28, 0)) && AverPrice() > 0))
   {
      CloseShort();
   }

   /// ПРАВИЛО 4
   if ( ((Input1.Low > AverPrice()) && AverPrice() > 0))
   {
      CloseShort();
   }

}



Пример
Вложения
Робот ЕМА10хЕМА50.png
Робот ЕМА10хЕМА50.png (22.06 КБ) 9551 просмотр
Последний раз редактировалось Геннадий 07 мар 2016, 12:08, всего редактировалось 9 раз.

Геннадий
Сообщения: 29
Зарегистрирован: 06 мар 2016, 02:11
Поблагодарили: 2 раза

Re: Робот не закрывает позицию по времени.

Непрочитанное сообщение Геннадий » 06 мар 2016, 15:41

Откорректировал сообщение выше. Первый раз тут. Еще не все тонкости оформления освоил, извините.
Подскажите еще как вставлять изображение. Вызываю теги img/img между ними нужно вставить ссылку на изображение. А откуда брать ссылку?
Последний раз редактировалось Геннадий 07 мар 2016, 12:09, всего редактировалось 3 раза.

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

Re: Робот не закрывает позицию по времени.

Непрочитанное сообщение evge » 06 мар 2016, 15:45

Геннадий писал(а):Правило 4 нужно записать так


Вы всегда можете отредактировать свое сообщение нажав карандаш у своего сообщения.

как оформлять код я подсказывал вот тут и тогда он будет выглядеть близко к цветовому оформлению редактора АД4. Ваше первое сообщение я первый раз поправил, теперь попробуйте сами исправить его и заменить правило 4.
никогда такого не было и вот опять

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

Re: Робот не закрывает позицию по времени.

Непрочитанное сообщение evge » 06 мар 2016, 19:00

Геннадий писал(а):Подскажите еще как вставлять изображение


Внизу вашего сообщения есть Настройки \ Вложения
во вложениях загрузите (Добавить файлы) вашу картинку \ картинки и там же будет кнопка вставить в текст вашего поста (заранее поставьте в тексте в нужное место курсор)

А тэг IMG, который в меню редактирования это для вставки внешних картинок (с других сайтов)
никогда такого не было и вот опять

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

Re: Робот не закрывает позицию по времени.

Непрочитанное сообщение evge » 06 мар 2016, 20:43

Геннадий писал(а):Слежу за семинарами, но во Владивостоке навряд ли буду проводить семинары по роботам


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


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

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

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