Пользовательские индикаторы > Очень нужен индикатор VWAP

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
m4Dmitry
Сообщения: 67
Зарегистрирован: 21 май 2018, 22:04
Благодарил (а): 55 раз
Поблагодарили: 3 раза

Re: Очень нужен индикатор VWAP

Непрочитанное сообщение m4Dmitry » 16 янв 2021, 09:42

Поддерживаю коллегу, если можно прикрутить динамичное изменение точки 0, то это будет просто огонь ;)

BugsDigger
Сообщения: 371
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 45 раз

Re: Очень нужен индикатор VWAP

Непрочитанное сообщение BugsDigger » 16 янв 2021, 15:05

Вариант с ручным заданием точки начала.

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

function Initialize()
{
 IndicatorName = "VWAP4";
 PriceStudy = true;
 AddInput("Input", Inputs.Candle);   

 AddParameter("Start", DateTime.Now.ToString());

 AddSeries("VWAP4", DrawAs.Line, Color.Orange);
     
 AddGlobalVariable("pq", Types.Double, 0.0);   
 AddGlobalVariable("q", Types.Double, 0.0);   
}

function Evaluate()
{
 string s=Start.stringValue;
 DateTime start=Convert.ToDateTime(s);
// if(CurrentIndex==0)
//  ShowMessage(String.Format("VWAP4 Start: {0}", start));
 
 if(CurrentTime<start)
 {
  return;
  // pq=0.0;
  // q=0.0;
 }
 
 double p0=(Input.High[0]+Input.Low[0]+Input.Close[0])/3.0;
 double q0=Input.Volume[0];
 pq+=p0*q0;
 q+=q0;

 if(q!=0) VWAP4[0]=pq/q;
 else VWAP4[0]=(CurrentIndex>0 ? VWAP4[-1] : 0.0);
}

Будет ли это работать? Неоднозначно. Если точка старта будет очень далеко в прошлом (~ нескольких тысяч баров; точное значение неизвестно, оно плавающее), то индикатор будет инициализировать себя уже после этой далекой точки, т.е. точка старта будет позже. В практическом плане это ограничение существенно на N-секундных таймфреймах (например, на секундах час - это уже 3600 баров, не забывайте).

Также следует учитывать, что до точки старта данных нет, поэтому в скриптах за нее залазить нельзя.

Изменять точку старта можно при счете индикатора из другого скрипта; значение точки старта д.б. строкой в формате даты времени, заданном в настройках Windows (обычно типа "10.12.2020 10:20:00"). Вызывается ли нормально из других скриптов с этим параметром-строкой, не проверял. Вроде препятствий к этому быть не должно, да кто ж знает.

ifinch
Сообщения: 6
Зарегистрирован: 14 янв 2021, 14:47
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Очень нужен индикатор VWAP

Непрочитанное сообщение ifinch » 01 фев 2021, 10:13

а можно лт как-то сделать чтобы была возможность задавать произвольное количество отклонений, т.е. что бы это было не всегда 3 отклонения или 5, а в зависимости от того, сколько надо, ну и задать для каждого отклонения его значение?


Вернуться в «Пользовательские индикаторы»

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

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