Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1233

Добавлено: evge » 18 фев 2016, 17:50

Тема: Yesterday - экстремумы предыдущего дня

Текст сообщения:

Индикатор Yesterday отображает уровни минимальной и максимальной цены последнего рабочего дня за исключением текущей даты.
Т.е. на текущий день можно видеть экстремумы предыдущего дня. Если последний бар графика это бар предыдущего дня или ранее, будут отображаться экстремумы этой даты.

Примеры работы:

Yesterday-02.png
Yesterday-02.png (33.69 КБ) 28302 просмотра

Yesterday.zip
(1.06 КБ) 1327 скачиваний


Исходный текст индикатора:

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

function Initialize()
{
  IndicatorName = "Yesterday";   
  AddInput("Input", Inputs.Candle);   
  PriceStudy = true;
  AddSeries("Hi", DrawAs.Custom, Color.Green);     
  AddSeries("Lo", DrawAs.Custom, Color.Red);     
  AddLevel(0, Color.Green, LineStyles.DashBig, 1, "Yesterday");
  AddLevel(0, Color.Red, LineStyles.DashBig, 1, "Yesterday");
  AddParameter("MinScan", 163, 2); //количество 5-минутных баров
  AddGlobalVariable("High", Types.Double, 0);
  AddGlobalVariable("Low", Types.Double, 0);
}

function Evaluate()
{
// evge 18.02.2016, http://alfadirect4.ru

// т.к. таймфреймы H3 выдают начало сессии в 9:00, H4 - в 8:00 и т.д.
  if (BarDate() != DateTime.Today && BarTime() <= AsTime(10, 0, 0) && BarTime() >= AsTime(0, 0, 0))
  {
    High = Input.High[0];
    Low = Input.Low[0];   
  }
  else if (BarDate() != DateTime.Today && BarTime() > AsTime(10, 0, 0))
  {
    if ( Input.High[0] > High) High = Input.High[0];
    if ( Input.Low[0] < Low) Low = Input.Low[0];
  }
  if (CurrentIndex == MaxIndex)
  {

   if (High > 0)
   {
    Levels[0].Level = High;
   Hi = High;
   }
   if (Low > 0)
   {
    Levels[1].Level = Low;
   Lo = Low;
   }
  }   

}


Скачать исходный текст:

Yesterday-01.png
Yesterday-01.png (34.64 КБ) 28302 просмотра