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

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

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

Добавлено: evge » 18 фев 2016, 15:16

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

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

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

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

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

Yesterday.zip
(1.06 КБ) 1323 скачивания


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

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

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 КБ) 28244 просмотра