Страница 2 из 2
Re: VWMA (Volume-Weighted Moving Average) – взвешенная по объему скользящая средняя
Добавлено: 19 авг 2016, 15:03
evge
Nurse писал(а):Не, все же что-то не то.... увеличение периода не то решение =( будем думать
Если сможете описать алгоритм словами, сделаю
Re: VWMA (Volume-Weighted Moving Average) – взвешенная по объему скользящая средняя
Добавлено: 19 авг 2016, 15:08
Nurse
УРА!!!Все четко и верно было, это меня сомнения одолевали.
Сравнил с Xtick все сходится тютелька в тютельку. =)
Вопрос. А пересчет индикатора идет ведь каждый раз при изменении цены? Чет жестко это, у меня альфадирект съел 40% мощности процессора с включением индикатора... Добавьте пожалуйста включаемую возможность, пересчитывать 1 раз на каждом баре после его закрытия..
Или откуда такие суровые тормоза могли вылезти?
Re: VWMA (Volume-Weighted Moving Average) – взвешенная по объему скользящая средняя
Добавлено: 19 авг 2016, 15:12
evge
Nurse писал(а):Или откуда такие суровые тормоза могли вылезти?
Вы случаем History параметр не ввели большое значение?
Т.к. это может повлиять на скорость
Re: VWMA (Volume-Weighted Moving Average) – взвешенная по объему скользящая средняя
Добавлено: 19 авг 2016, 16:09
Nurse
Ну я торгую на 1 минутном тайм фрейме, в торговом дне 812 минутных свечек....
В индикаторе я поставил 500 уже сильно лагает терминал, т.е. перекрестие замирает когда мышкой вожу вправо влево.
Это точно надо как-то оптимизировать. А то получается индикатор показывает то что надо, но пользоваться им нереально, потому что лагает =( Придумайте что-нибудь пожалуйста.
Re: VWMA (Volume-Weighted Moving Average) – взвешенная по объему скользящая средняя
Добавлено: 19 авг 2016, 17:15
evge
Nurse писал(а):Придумайте что-нибудь пожалуйста.
Скорее всего не в индикаторе дело. У меня не тормозит.
Но может разок большую цифры написали? Просто лучше перезагрузить терминал
Ну или попробовать по умолчанию изменить в скрипте 500 на другую цифру и проверить.
Re: VWMA (Volume-Weighted Moving Average) – взвешенная по объему скользящая средняя
Добавлено: 19 авг 2016, 17:34
Nurse
Перезапустил терминал.
100% связь с индикатором.
Вот смотрю на диспетчер задач и на потребляемую производительность ЦП приложением Альфа директ.
Без индикатора на минутном фрейме SiU - 6-10% процессора и курсор перекрестием ездит плавно и быстро.
С индикатором на минутном фрейме и 500 в истории - 30-35% процессора и курсор перекрестием периодически залипает на месте на долю секунды.
Проявляется это когда активно окно и вожу мышкой вправо влево.
Re: VWMA (Volume-Weighted Moving Average) – взвешенная по объему скользящая средняя
Добавлено: 19 авг 2016, 18:57
evge
попробуйте вот такой вариант:
Код: Выделить всё
function Initialize()
{
IndicatorName = "VWMA";
PriceStudy = true;
AddInput("Input", Inputs.Candle);
AddSeries("VWMA", DrawAs.Line, Color.Red);
AddParameter("Period", 20);
AddParameter("History", 500, 1); //минимальная загружаемая история для анализа (в барах)
AddGlobalVariable("Fi", Types.Int, 0);
}
function Evaluate()
{
// AlfaDirect. 2015. OX
// VWMA (VWMA – Volume-WEIGHTED MOVING AVERAGE) - ВЗВЕШЕННАЯ по объему СКОЛЬЗЯЩАЯ СРЕДНЯЯ
//mod 19.08.2016 evge
var cWMA = 0.0;
var cZn = 0.0;
if (CurrentIndex > 0)
if (BarDate() != BarDate(1)) Fi = CurrentIndex;
var P = Period;
if (Period == 0) P = CurrentIndex - Fi;
if (CurrentIndex > P) {
for ( var i=0; i<P; i++ )
{ cWMA = cWMA + Input.Close[-i]*Input.Volume[-i];
cZn = cZn + Input.Volume[-i];
}
VWMA = cWMA/cZn;
} else {
VWMA = Input.Close[0];
}
}