Обсуждение - энергия японской свечи - страница 3

 
ForexTools писал (а) >>

Линейная регрессия (весчь объективная) + ширина ее канала (весчь субъективная :( ).
Чем более узкая ширина - тем это более "надежное доказательство" наличия тренда.

Ну можно еще разбить весь период на несколько подпериодов. Если на каждом из них угол не сильно отличается от основного периода - значит таки это тренд!

Согласен, так тред тоже можно выразить. Вот только, механизмов исследование и оперирования с такими данными не много.

А в случае с коллебаниями - предостаточно. Не хочется изобретать велосипед ...

 
Vita писал (а) >>

В любом случае проще, чем с Лагранжем. Полагаю, что даже Математ ;) не сходу ответит какое действие необходимо экстремизировать - ликвидность рынка или прибыль консорциума. Так что берем Volume от любого ДЦ и полагаем его пропорциональным реальному.

Возможно-возможно. Посмотрите картинку Красный график - энергия по моей формуле, синий по ваше ... только я ее подтянул коэффициентом 100.


ExtMapBuffer1[i]= MathAbs(High[i] - Low[i]);
ExtMapBuffer2[i]= 100*((Close[i] - Open[i])/Period())*((Close[i] - Open[i])/Period())*Volume[i]/2;


Вот что-то типа этого ...



Енергия

 
rip писал (а) >>

Вот только, механизмов исследование и оперирования с такими данными не много.

А в случае с коллебаниями - предостаточно. Не хочется изобретать велосипед ...

Да вы чего?!?!?! :D

Для исследования линейной регрессии есть всего один инструмент - метод наименьших квадратов. И значения выдает понятные человеку - угол наклона прямой. И угол этот на выходе всего один - значит его легко использовать в качестве сигнала. И зависит он только от одного параметра - длинны периода поиска этой самой регрессии. Это даже не велосипед - это самокат! Уж чего проще ;)

 
rip писал (а) >>

Возможно-возможно. Посмотрите картинку Красный график - энергия по моей формуле, синий по ваше ... только я ее подтянул коэффициентом 100.

ExtMapBuffer1[i]= MathAbs(High[i] - Low[i]);
ExtMapBuffer2[i]= 100*((Close[i] - Open[i])/Period())*((Close[i] - Open[i])/Period())*Volume[i]/2;

Вот что-то типа этого ...


Енергия

Одно и тоже получилось, что неудивительно. Энергия, она и в Африке энергия.

 
Vita писал (а) >>

Одно и тоже получилось, что неудивительно. Энергия, она и в Африке энергия.

Т.е. и так и так мы ее с вами правильно отображали. Если два относительно разных подхода дали одну картину ...

 
ForexTools писал (а) >>

Да вы чего?!?!?! :D

Для исследования линейной регрессии есть всего один инструмент - метод наименьших квадратов. И значения выдает понятные человеку - угол наклона прямой. И угол этот на выходе всего один - значит его легко использовать в качестве сигнала. И зависит он только от одного параметра - длинны периода поиска этой самой регрессии. Это даже не велосипед - это самокат! Уж чего проще ;)

Логично, сенкс ...

 
rip писал (а) >>

Т.е. и так и так мы ее с вами правиль отображаем. Если два относительно разных подхода дали одну картину ...

К сожалению, подход один и тот же - в среднем разность High[i] - Low[i] пропорциональна Close[i] - Open[i], т.е. качественно картины должны быть похожи, что и видим.

 
Vita писал (а) >>

К сожалению, подход один и тот же - разность High[i] - Low[i] пропорциональна Close[i] - Open[i], т.е. качественно картины должны быть похожи, что и видим.

Это потому, что за классическое определение массы - была взята разность цен. А как можно еще выразить массу свечи?

 
rip писал (а) >>

Это потому, что за классическое определение массы - была взята разность цен. А как можно еще выразить массу свечи?

В соседней ветке появились вопросы по энтропии ;) Забавно ...

Может от сюда что-то взять?! (http://www.foretrade.com/entropy.htm)


__declspec(dllexport) void Entropy (double *price, double *entropy, long int size, long int numbars)
{
double *in, *out, P, G;
long int i,j;
double sumx = 0.0;
double sumx2 = 0.0;
double avgx = 0.0;
double rmsx = 0.0;

in=price;
out=entropy;

for (i=0; i<size; i++)
{
if (i < numbars+1) *out = 3.4e38;
else
{
sumx = sumx2 = avgx = rmsx = 0.0;
for (j=0;j<numbars+1;j++)
{
sumx += log(*(in-j) / *(in-j-1)) ;
sumx2 += log(*(in-j) / *(in-j-1)) * log(*(in-j) / *(in-j-1));
}
if (numbars==0)
{
avgx = *in;
rmsx = 0.0;
}
else
{
avgx = sumx / numbars;
rmsx = sqrt(sumx2/numbars);
}

P = ((avgx/rmsx)+1)/2.0;
G = P * log(1+rmsx) + (1-P) * log(1-rmsx);
*out=G;
}
in++; out++;
}
}

 
rip писал (а) >>

В соседней ветке появились вопросы по энтропии ;) Забавно ...

Может от сюда что-то взять?! (http://www.foretrade.com/entropy.htm)

__declspec(dllexport) void Entropy (double *price, double *entropy, long int size, long int numbars)
{
double *in, *out, P, G;
long int i,j;
double sumx = 0.0;
double sumx2 = 0.0;
double avgx = 0.0;
double rmsx = 0.0;

in=price;
out=entropy;

for (i=0; i<size; i++)
{
if (i < numbars+1) *out = 3.4e38;
else
{
sumx = sumx2 = avgx = rmsx = 0.0;
for (j=0;j<numbars+1;j++)
{
sumx += log(*(in-j) / *(in-j-1)) ;
sumx2 += log(*(in-j) / *(in-j-1)) * log(*(in-j) / *(in-j-1));
}
if (numbars==0)
{
avgx = *in;
rmsx = 0.0;
}
else
{
avgx = sumx / numbars;
rmsx = sqrt(sumx2/numbars);
}

P = ((avgx/rmsx)+1)/2.0;
G = P * log(1+rmsx) + (1-P) * log(1-rmsx);
*out=G;
}
in++; out++;
}
}

может что-то и отсюда, мне нравится Ваша идея физической интерпретации рынка.

Причина обращения: