Стратегии и роботы > Линии ABC

Обсуждение, описание стратегий и роботов, идеи для стратегий
Avialr
Сообщения: 34
Зарегистрирован: 05 фев 2016, 18:15

Re: Линии ABC

Непрочитанное сообщение Avialr » 13 мар 2016, 15:18

Для стратегии индикатор был переименован в "ХХХ" - результат на базе него

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

Re: Линии ABC

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

По ошибке видно, что не задали входящий ряд! Укажите инструмент при тестировании ну и при создании стратегии желательно по умолчанию какой-то прописать.

NRTRm-04.png
NRTRm-04.png (19.27 КБ) 5686 просмотров

NRTRm-03.png
NRTRm-03.png (32.4 КБ) 5686 просмотров
никогда такого не было и вот опять

Avialr
Сообщения: 34
Зарегистрирован: 05 фев 2016, 18:15

Re: Линии ABC

Непрочитанное сообщение Avialr » 13 мар 2016, 17:28

Инструмент задал - вроде стратегию пропустил
сделал простое условие - см.скрин

Пишет - Последовательность не содержит элементов
Что не так опять делаю? Или индикатор кривой?
Вложения
Безымянный.jpg

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

Re: Линии ABC

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

Avialr писал(а):Пишет - Последовательность не содержит элементов
Что не так опять делаю? Или индикатор кривой?


У Вас определено только 1 правило, нет правила закрытия позиции. Всё что сделает робот это откроет позицию 1 раз и всё.

Пропишите ещё хотя бы 1 правило для закрытия лонга или переворот в шорт. Что бы стратегия "зажила".

Ещё, возможно, вторая ошибка в том что и Long он не откроет вовсе. Возможно у вас в правилах или индикаторе проблема.
никогда такого не было и вот опять

Avialr
Сообщения: 34
Зарегистрирован: 05 фев 2016, 18:15

Re: Линии ABC

Непрочитанное сообщение Avialr » 13 мар 2016, 18:08

Создал правило для входа и выхода - то же самое

Индикатор - отображает что нужно (хочу только в гистограмму переделать) - должен работать? или не получится?

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

function Initialize()
{
 IndicatorName = "XXX";
 PriceStudy = false;
 AddInput("Input", Inputs.Price);
 AddParameter("CurLevel", 70); //
 AddParameter("Delta", 1.50); //
 AddSeries("RoundPrice", DrawAs.Line, Color.Yellow);
}

function Evaluate()
{

 if ( Input[0] > CurLevel + Delta )
 {
 double a = Input[0] - CurLevel;
 a = Math.Truncate(a / Delta);
 CurLevel = CurLevel + a * Delta;
 }
 if ( Input[0] < CurLevel - Delta )
 {
 double a = -Input[0] + CurLevel;
 a = Math.Truncate(a / Delta);
 CurLevel = CurLevel - a * Delta;
 }
RoundPrice = (Input[0] - CurLevel);
}

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

Re: Линии ABC

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

Проверил. Всё работает.

Попробуйте конструктором создать заново стратегию

Про стратегию:

Подозрительно, что у Вас нет серии Input1 и видно что Вы создали сами серию Input2.
Второе, параметров нет. Обычно параметр 1, но есть, если создавалась стратегия в конструкторе.

Создайте стратегию с самого начала в конструкторе. У меня Ваш индикатор и стратегия на его основе по Вашему правилу работает.
никогда такого не было и вот опять

Avialr
Сообщения: 34
Зарегистрирован: 05 фев 2016, 18:15

Re: Линии ABC

Непрочитанное сообщение Avialr » 13 мар 2016, 19:18

Спасибо!
Вроде все получилось - но не с первого раза - ругалась что то программа - хотя делал одно и то же 3 раза.

С Гистограммой не поможешь?

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

Re: Линии ABC

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

Avialr писал(а):С Гистограммой не поможешь?


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

function Initialize()
{
 IndicatorName = "XXX";
 PriceStudy = false;
 AddInput("Input", Inputs.Price);
 AddParameter("CurLevel", 70); //
 AddParameter("Delta", 1.50); //
 AddSeries("RoundPrice", DrawAs.Custom, Color.Black, AxisType.ZeroBased);
}

function Evaluate()
{

 if ( Input[0] > CurLevel + Delta )
 {
 double a = Input[0] - CurLevel;
 a = Math.Truncate(a / Delta);
 CurLevel = CurLevel + a * Delta;
 }
 if ( Input[0] < CurLevel - Delta )
 {
 double a = -Input[0] + CurLevel;
 a = Math.Truncate(a / Delta);
 CurLevel = CurLevel - a * Delta;
 }
RoundPrice = (Input[0] - CurLevel);

if (RoundPrice > 0)
   RoundPrice.DrawHistogram(Color.Green, Color.Green, 90);
   else
   RoundPrice.DrawHistogram(Color.Red, Color.Red, 90);

}


XXX-01.png
XXX-01.png (33.99 КБ) 5664 просмотра
никогда такого не было и вот опять

Avialr
Сообщения: 34
Зарегистрирован: 05 фев 2016, 18:15

Re: Линии ABC

Непрочитанное сообщение Avialr » 14 мар 2016, 21:41

Огромное Спасибо!!!

Avialr
Сообщения: 34
Зарегистрирован: 05 фев 2016, 18:15

Re: Линии ABC

Непрочитанное сообщение Avialr » 15 мар 2016, 10:39

Подскажите как можно прописать следующий момент в конструкторе:
- у нас уже есть покупка (длинная позиция например) - нужно продать ее и тут же сделать еще продажу, т.е. куплено 1 - нужно продать 2 - "перевернуться" как я слышал выражение.


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

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

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