Стратегии и роботы > Подсчет роботом точек Input1.Close
Re: Подсчет роботом точек Input1.Close
Открытием не будет. Вы просто недопонимаете немного.
В том-то и дело, что несмотря на то, что это одно и то же, Close свечей отличаются от формируемой скользящими средними Close.
На формируемой скользящей линии число возникаемых волн не соответствует числу закрытий Close каждой свечи. В этом загвоздка .
Закрыв правую часть я скажу что будет дальше , ведь есть правило - Три верх, три вниз или 4 вверх 4 вниз ( в зависимости от фрейма).
Именно этому я хочу научить робота, но он умеет считать только закрытия свечей, а они не совпадают в числом волн.
В том-то и дело, что несмотря на то, что это одно и то же, Close свечей отличаются от формируемой скользящими средними Close.
На формируемой скользящей линии число возникаемых волн не соответствует числу закрытий Close каждой свечи. В этом загвоздка .
Закрыв правую часть я скажу что будет дальше , ведь есть правило - Три верх, три вниз или 4 вверх 4 вниз ( в зависимости от фрейма).
Именно этому я хочу научить робота, но он умеет считать только закрытия свечей, а они не совпадают в числом волн.
Последний раз редактировалось Den 11 фев 2016, 10:58, всего редактировалось 1 раз.
- evge
- Администратор
- Сообщения: 1807
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 82 раза
- Поблагодарили: 359 раз
- Контактная информация:
Re: Подсчет роботом точек Input1.Close
Den писал(а):Вы просто недопонимаете немного.
Вероятно в этом проблема.
никогда такого не было и вот опять
Re: Подсчет роботом точек Input1.Close
Да, все верно. Только проблема в том, что не все CLose формируют волны.
Есть плоские интервалы, которые НЕ являются волнами ( то есть они не считаются). А робот считает все.
Тут видимо необходимо задать ему условие при котором он не будет считать плоские интервалы. Вот это выход, кстати.
Есть плоские интервалы, которые НЕ являются волнами ( то есть они не считаются). А робот считает все.
Тут видимо необходимо задать ему условие при котором он не будет считать плоские интервалы. Вот это выход, кстати.
Последний раз редактировалось Den 11 фев 2016, 10:58, всего редактировалось 1 раз.
Re: Подсчет роботом точек Input1.Close
Как задать ему условие, чтобы он не считал плоские интервалы Close???
Последний раз редактировалось Den 11 фев 2016, 10:58, всего редактировалось 1 раз.
- evge
- Администратор
- Сообщения: 1807
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 82 раза
- Поблагодарили: 359 раз
- Контактная информация:
Re: Подсчет роботом точек Input1.Close
Den писал(а):плоские интервалы
плоские это понятие растяжимое и относительное

Как я говорил до этого уже не один раз. Пишется свой индикатор, который отвечает на эти вопросы и дает сигналы для стратегии.
Это субъективные вещи. У вас это плоское, у Васи - кривое, у Пети - косое.
Всё таки Вам надо понять как работают роботы в АД4. Ранее не раз уже здесь писал, нужно лишь услышать...
Можно побывать на вебинаре, прослушать и не попробовать и не понять.
никогда такого не было и вот опять
- evge
- Администратор
- Сообщения: 1807
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 82 раза
- Поблагодарили: 359 раз
- Контактная информация:
Re: Подсчет роботом точек Input1.Close
Вот пример
результат:
Код стратегии
Результат тестирования:
Грааля, как видите, не получилось
Конечно это не та идея, что у Вас. Это просто пример Плоское или нет, как вариант по анализу свечей со сдвигом
анализ 3х последних свечей.
вход с запаздыванием на 1 свечу
результат:
Код стратегии
Код: Выделить всё
/**
NePloskoe
Developed by evge;
Hash code 0EDD9B5ED15722A4B2F200B2533F6B75
**/
function Initialize()
{
StrategyName = "NePloskoe";
AddParameter("P1", 0, "", 1);
AddInput("Input1", Inputs.Candle, 60, true, "SBER=МБ ЦК");
LongLimit = 0;
ShortLimit = 0;
}
function OnUpdate()
{
/// ПРАВИЛО 1
if ( (Input1.Close[2] < Input1.Close[1]) && (Input1.Close[1] > Input1.Close) )
{
EnterShort();
}
/// ПРАВИЛО 2
if ( (Input1.Close[2] > Input1.Close[1]) && (Input1.Close[1] < Input1.Close) )
{
EnterLong();
}
}
Результат тестирования:
Грааля, как видите, не получилось

Конечно это не та идея, что у Вас. Это просто пример Плоское или нет, как вариант по анализу свечей со сдвигом
анализ 3х последних свечей.
вход с запаздыванием на 1 свечу
никогда такого не было и вот опять
Re: Подсчет роботом точек Input1.Close
Плоский это не от забора до обеда - плоский это менее 1 рубля на Sih6, менее 1 коп на сбере ( например ) - это же очевидно.
Именно такие интервалы скользящая средняя не рисует вершинами, а рисует примерно горизонтальную линию.
На этой стратегии конечно ничего не получится - она не учитывает волны. Это просто входы-выходы на свечах.
КАК ЗАДАТЬ УСЛОВИЕ РОБОТУ НЕ СЧИТАТЬ ПЛОСКИЕ ИНТЕРВАЛЫ НА СКОЛЬЗЯЩЕЙ СРЕДНЕЙ?
Именно такие интервалы скользящая средняя не рисует вершинами, а рисует примерно горизонтальную линию.
На этой стратегии конечно ничего не получится - она не учитывает волны. Это просто входы-выходы на свечах.
КАК ЗАДАТЬ УСЛОВИЕ РОБОТУ НЕ СЧИТАТЬ ПЛОСКИЕ ИНТЕРВАЛЫ НА СКОЛЬЗЯЩЕЙ СРЕДНЕЙ?
Последний раз редактировалось Den 11 фев 2016, 10:59, всего редактировалось 1 раз.
- evge
- Администратор
- Сообщения: 1807
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 82 раза
- Поблагодарили: 359 раз
- Контактная информация:
Re: Подсчет роботом точек Input1.Close
Den писал(а):Плоский это не от забора до обеда - плоский это менее 1 рубля на Sih6, менее 1 коп на сбере ( например ) - это же очевидно.
Вася и Петя с Вами не согласны. Я соглашусь, но Васю и Петю не проигнорирую.
evge писал(а):КАК ЗАДАТЬ УСЛОВИЕ РОБОТУ НЕ СЧИТАТЬ ПЛОСКИЕ ИНТЕРВАЛЫ НА СКОЛЬЗЯЩЕЙ СРЕДНЕЙ?
Чем Вас не устраивает пример игнорирования, продемонстрированный мною выше? Вместо Input.Close я мог взять SMA(1)

Привожу код:
Код: Выделить всё
/**
NePloskoe
Developed by evge;
Hash code 4C53B824DC314A574DE61BB98BD9FAFB
**/
function Initialize()
{
StrategyName = "NePloskoe";
AddParameter("P1", 0, "", 1);
AddInput("Input1", Inputs.Candle, 60, true, "SBER=МБ ЦК");
LongLimit = 1;
ShortLimit = -1;
}
function OnUpdate()
{
/// ПРАВИЛО 1
if ( (SMA(Input1.Close, 1)[2] < SMA(Input1.Close, 1)[1]) && (SMA(Input1.Close, 1)[1] > SMA(Input1.Close, 1)) )
{
EnterShort();
}
/// ПРАВИЛО 2
if ( (SMA(Input1.Close, 1)[2] > SMA(Input1.Close, 1)[1]) && (SMA(Input1.Close, 1)[1] < SMA(Input1.Close, 1)) )
{
EnterLong();
}
}
Что здесь происходит!
На каждом закрытии свечи проверяется:
ЕСЛИ
Правило 1. SMA (один момент назад) БОЛЬШЕ чем SMA (текущий и 2 момента назад) ТО это вершина волны

Правило 2. SMA (один момент назад) МЕНЬШЕ чем SMA (текущий и 2 момента назад) ТО это дно волны

скриншоты не стал, т.к. результат одинаковый что со свечами

ЭТО КАК ПРОСТЕЙШИЙ ПРИМЕР Вашего желания исключить плоские движения.
Вам не нравится? Придумали сложнее? Заложили в алгоритм! Хотите считать волны? Пожалуйста. Открываете редактор пишите считалку волн по SMA(1) в виде индикатора, добавляете её (его) в правила стратегии. Запускаете. Ждете профит. Идите в кассу за $. Всё элементарно и просто.

никогда такого не было и вот опять
Re: Подсчет роботом точек Input1.Close
Это не игнорирование плоского интервала - это просто заход в позицию на 3-х свечах ,если третья ниже второй, вторая выше первой.
Данная стратегия вообще не учитывает плоские интервалы.
Обычно, на трех волнах SMA примерно от 6 до 12 свечей - то есть часть из них плоские, рисуют линию примерно горизонтально.
Их необходимо роботу проигнорировать.
Вот только в этом случае получится разволновка.
Данная стратегия вообще не учитывает плоские интервалы.
Обычно, на трех волнах SMA примерно от 6 до 12 свечей - то есть часть из них плоские, рисуют линию примерно горизонтально.
Их необходимо роботу проигнорировать.
Вот только в этом случае получится разволновка.
Последний раз редактировалось Den 11 фев 2016, 10:59, всего редактировалось 1 раз.
- evge
- Администратор
- Сообщения: 1807
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 82 раза
- Поблагодарили: 359 раз
- Контактная информация:
Re: Подсчет роботом точек Input1.Close
Ну не думаю что в N раз стоит говорить что надо делать.
Как работает робот и на что реагирует примеры я дал. Далее дело за реализацией Ваших мыслей в код.
Как работает робот и на что реагирует примеры я дал. Далее дело за реализацией Ваших мыслей в код.
никогда такого не было и вот опять
Вернуться в «Стратегии и роботы»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей