Пользовательские индикаторы > RangeOfDays - экстремумы предыдущих дней
Re: RangeOfDays - экстремумы предыдущих дней
Здравствуйте!
Спасибо за индикатор и доработку.
Евгений, нужно ли исправить строку
AddParameter("MinScan", 162, 2); // подзагрузка истории количество 5-минутных баров
в связи с изменением количества 5-минутных баров в торговой сессии?
Спасибо за индикатор и доработку.
Евгений, нужно ли исправить строку
AddParameter("MinScan", 162, 2); // подзагрузка истории количество 5-минутных баров
в связи с изменением количества 5-минутных баров в торговой сессии?
Последний раз редактировалось Pavelkor 06 мар 2021, 11:53, всего редактировалось 1 раз.
- evge
- Администратор
- Сообщения: 1812
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: RangeOfDays - экстремумы предыдущих дней
Можно, но не обязательно.
никогда такого не было и вот опять
Re: RangeOfDays - экстремумы предыдущих дней
evge писал(а):Можно, но не обязательно.
Спасибо!
В таком случае, на что влияет этот параметр? Точнее, на сколько важен этот параметр?
- evge
- Администратор
- Сообщения: 1812
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: RangeOfDays - экстремумы предыдущих дней
на принудительную загрузку истории (если не хватает) в барах 163 * 2
Важность будет если вам надо большую историю захватить при меньшем ТФ, например на 5 минутном графике ранее считалось грубо 163 бара на фьючерсах (сейчас на 3 часа больше, грубо 3*12 = 36, т.е. 163 + 36 = 199).
Если надо принудительно взять историю более чем за 2 дня, второй параметр надо будет поставить больше (например 20)
Тогда скрипт заставит АД считывать историю 163*20 = 3260 баров или по новому 199*20 = 3980 баров. Но нужно учитывать, что есть предел загрузки истории на график.
Попробуйте определить его самостоятельно через MaxIndex, создав простой индикатор.
Установкой параметра считывания истории, например, 10000 баров (параметр с значением в 1000, 10 или просто 10000, 1) и выводом на график или в отдельную область значения MaxIndex.
Так определите каков предел загрузки истории на график в АД4.
Важность будет если вам надо большую историю захватить при меньшем ТФ, например на 5 минутном графике ранее считалось грубо 163 бара на фьючерсах (сейчас на 3 часа больше, грубо 3*12 = 36, т.е. 163 + 36 = 199).
Если надо принудительно взять историю более чем за 2 дня, второй параметр надо будет поставить больше (например 20)
Тогда скрипт заставит АД считывать историю 163*20 = 3260 баров или по новому 199*20 = 3980 баров. Но нужно учитывать, что есть предел загрузки истории на график.
Попробуйте определить его самостоятельно через MaxIndex, создав простой индикатор.
Установкой параметра считывания истории, например, 10000 баров (параметр с значением в 1000, 10 или просто 10000, 1) и выводом на график или в отдельную область значения MaxIndex.
Так определите каков предел загрузки истории на график в АД4.
никогда такого не было и вот опять
Re: RangeOfDays - экстремумы предыдущих дней
evge писал(а):на принудительную загрузку истории (если не хватает) в барах 163 * 2
Важность будет если вам надо большую историю захватить при меньшем ТФ, например на 5 минутном графике ранее считалось грубо 163 бара на фьючерсах (сейчас на 3 часа больше, грубо 3*12 = 36, т.е. 163 + 36 = 199).
Если надо принудительно взять историю более чем за 2 дня, второй параметр надо будет поставить больше (например 20)
Тогда скрипт заставит АД считывать историю 163*20 = 3260 баров или по новому 199*20 = 3980 баров. Но нужно учитывать, что есть предел загрузки истории на график.
Попробуйте определить его самостоятельно через MaxIndex, создав простой индикатор.
Установкой параметра считывания истории, например, 10000 баров (параметр с значением в 1000, 10 или просто 10000, 1) и выводом на график или в отдельную область значения MaxIndex.
Так определите каков предел загрузки истории на график в АД4.
Большое спасибо!
Все понятно. К сожалению, индикаторы не умею писать, но из Вашего объяснения понял, что для данного случая мне не требуется.
P.S.
Евгений, где и какие материалы можно посмотреть (изучить) чтобы освоить написание хотя бы простых индикаторов.
Понимаю, что то, чего хотелось бы иметь, не сложно, но, как реализовать, к сожалению, не понимаю.
- evge
- Администратор
- Сообщения: 1812
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: RangeOfDays - экстремумы предыдущих дней
Pavelkor писал(а):где и какие материалы можно посмотреть (изучить) чтобы освоить написание хотя бы простых индикаторов
В шапке форума есть ссылка на Материалы для обучения
Там ищем "Торговые роботы в Альфа-Директ"
Там можно изучать по роботам всё что имеется: видео и документация "Список инструкций и документаций для скачивания".
Когда общее понимание уже сформировалось, то в дальнейшем будет самым востребованным документом из списка:
Документация по скриптам для индикаторов и роботов в терминале Альфа-Директ 4.0
никогда такого не было и вот опять
Re: RangeOfDays - экстремумы предыдущих дней
evge писал(а):Pavelkor писал(а):где и какие материалы можно посмотреть (изучить) чтобы освоить написание хотя бы простых индикаторов
В шапке форума есть ссылка на Материалы для обучения
Там ищем "Торговые роботы в Альфа-Директ"
Там можно изучать по роботам всё что имеется: видео и документация "Список инструкций и документаций для скачивания".
Когда общее понимание уже сформировалось, то в дальнейшем будет самым востребованным документом из списка:
Документация по скриптам для индикаторов и роботов в терминале Альфа-Директ 4.0
Огромное спасибо!
-
- Сообщения: 30
- Зарегистрирован: 03 окт 2020, 22:38
- Благодарил (а): 12 раз
- Поблагодарили: 7 раз
Re: RangeOfDays - экстремумы предыдущих дней
Здравствуйте. Наверно взял на себя лишнего, но при тестировании теперь надо постоянно менять то 10 утра то 7 утра. Если внести такие изменения то работает тестирование до и после 1 марта. Надеюсь будет полезно.
Код: Выделить всё
function Initialize()
{
IndicatorName = "RangeOfDays";
AddInput("Input", Inputs.Candle);
PriceStudy = true;
AddSeries("Hi", DrawAs.Custom, Color.Green); // максимум предыдущего дня
AddSeries("Lo", DrawAs.Custom, Color.Red); // минимум предыдущего дня
AddSeries("Mid", DrawAs.Custom, Color.Silver); // средняя цена
AddParameter("MinScan", 211, 2); // подзагрузка истории количество 5-минутных баров
AddParameter("CDType", 0); // Current Day Type - тип текущего дня, 0 - продолжать отображение экстремумов предыдущего дня, 1 - экстремумы текущего дня (будут меняться динамически в течение дня)
AddGlobalVariable("High", Types.Double, 0);
AddGlobalVariable("Low", Types.Double, 0);
AddGlobalVariable("LastHigh", Types.Double, 0);
AddGlobalVariable("LastLow", Types.Double, 0);
AddGlobalVariable("SI", Types.Int, 0);
AddGlobalVariable("SIO", Types.Int, 0);
AddGlobalVariable("VTime", Types.DateTime, DateTime.Today);
}
function Evaluate()
{
VTime = AsDate(2021, 3, 1);
// evge 28.05.2016 http://alfadirect4.ru
// RangeOfDays - Индикатор рисует экстремумы предыдущих дней и текущего дня, в зависимости от параметров, продолжая экстремумы предыдущего дня или расчитывая в текущем дне динамически.
//первая свечка ТФ
//сохранаем текущий индекс и последние найденные High, Low
if ( ((BarTime() <= AsTime(07, 0, 0) && BarDate() >= VTime) || (BarTime() <= AsTime(10, 0, 0) && BarDate() < VTime)) && BarTime() >= AsTime(0, 0, 0) )
{
SIO = SI;
SI = CurrentIndex;
LastHigh = High;
LastLow = Low;
//перерисовываем
if (SIO != 0)
for (var x=0; x <= CurrentIndex - SIO; x++)
{
Hi[x] = High;
Lo[x] = Low;
Mid[x] = (Low + High) * 0.5;
}
}
// т.к. таймфреймы H3 выдают начало сессии в 9:00, H4 - в 8:00 и т.д.
if (((BarDate() != DateTime.Today) || CDType != 0) && ((BarTime() <= AsTime(07, 0, 0) && BarDate() >= VTime) || (BarTime() <= AsTime(10, 0, 0) && BarDate() < VTime)) && BarTime() >= AsTime(0, 0, 0))
{
High = Input.High[0];
Low = Input.Low[0];
}
else if (((BarDate() != DateTime.Today) || CDType != 0) && BarTime() > AsTime(0, 0, 0))
{
if ( Input.High[0] > High) High = Input.High[0];
if ( Input.Low[0] < Low) Low = Input.Low[0];
}
if (CDType == 0)
{
if (LastHigh !=0 && LastLow !=0)
{
Hi[0] = LastHigh;
Lo[0] = LastLow;
Mid[0] = (LastLow + LastHigh) * 0.5;
Hi.DrawDash();
Lo.DrawDash();
Mid.DrawDash();
}
} else
{
if (SI != 0)
for (var x=0; x <= CurrentIndex - SI; x++)
{
Hi[x] = High;
Lo[x] = Low;
Mid[x] = (Low + High) * 0.5;
}
Hi.DrawDash();
Lo.DrawDash();
Mid.DrawDash();
}
}
Re: RangeOfDays - экстремумы предыдущих дней
Здравствуйте. Можно ли в индикаторе добавить настройку времени. Чтобы он показывал ,например, для фортса начало дня - 19ч, конец дня - 18:45 следующего дня.
Re: RangeOfDays - экстремумы предыдущих дней
Здравствуйте!
Евгений, можно ли в индикаторе (индикаторах) сделать так, чтобы индикатор(ы) можно было убирать/визуализировать по горячей клавише.
Евгений, можно ли в индикаторе (индикаторах) сделать так, чтобы индикатор(ы) можно было убирать/визуализировать по горячей клавише.
Вернуться в «Пользовательские индикаторы»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей