una estrategia de negociación basada en la teoría de las ondas de Elliott - página 30

 
Vladislav,

Bylo by interesno mne uvidet' kod eksperta, stalo interesno kak "risk level" pods4itajesh i kak trendvyje bary ... :)
 
Muy interesante. Gracias Vacheslav.
Los intervalos de confianza están marcados desde el 60% hasta el 99%.

Cuáles son los porcentajes de los que se derivan los intervalos de confianza.
La línea de puntos pequeña, según tengo entendido, es RMS=1, pero ¿qué se marca con la línea de puntos larga, aparte de la línea amarilla central?

Gracias de antemano por su respuesta - Alexander.
 
Muy interesante. Gracias Vacheslav. <br/ translate="no">
Los intervalos de confianza están marcados desde el 60% hasta el 99%.

Y cuáles son los porcentajes de los que se derivan los intervalos de confianza.
La línea discontinua pequeña, por lo que entiendo es RMS=1, y lo que está marcado con una línea discontinua larga, excepto la línea amarilla del medio?

Gracias de antemano - Alexander.



Esta es la forma estándar de construir intervalos de confianza. El intervalo de confianza del 60% significa que con una probabilidad del 60% el precio (o lo que se aproxime) estará dentro de este rango y, en consecuencia, todas las trayectorias que se aproximen al movimiento del precio y entren en este rango deben considerarse iguales para esta probabilidad. El tamaño del intervalo se considera en desviaciones estándar. Está claro que la propia gama se amplía a medida que aumenta la probabilidad. Ya he mencionado que se puede tomar cualquier trayectoria del rango para dibujar el historial - las señales coincidirán en la mayoría de los casos. Este no es el caso si necesitas construir una extrapolación. Es decir, para proyectar los precios en el futuro. Tomé el algoritmo lineal por varias razones - una de ellas es la completa unicidad de las proyecciones que permite ver las construcciones en la historia y evaluar la eficacia y el significado del algoritmo para encontrar muestras. Por supuesto, todavía hay que aplicar muchos criterios de selección para los canales de regresión, que son muchos. Y en la fase de ejecución directa no se puede decir cuáles serán mejores y cuáles peores, para ello hay que construirlas y sólo entonces estimarlas. Lo que se ve en la imagen no siempre funciona: hay un canal y a veces más. Sin embargo, a efectos prácticos, es mejor limitar el número, es decir, seleccionar el número mínimo de los más extremos.

Buena suerte y buena suerte con esas tendencias.

Si no sabe lo que está pasando, sólo tiene que hacer clic en el enlace correspondiente y se dará cuenta.
 
Querido Vladislav.

¿Podría darme la contraseña de inversor de la cuenta en la que opera el Asesor Experto y cuyos estados de cuenta se publican en ampir?

Gracias de antemano.
 
¡Estimado Vladislav!

¿Podría darme la contraseña de inversor de la cuenta en la que opera el Asesor Experto y cuyos estados de cuenta se publican en ampir?

Gracias de antemano.


Sí, es posible.

Nombre : AutoTest_F
Correo electrónico : 4vg@mail.ru
Inicio de sesión : 1000024869
Inversor : 8hfiamr (contraseña de sólo lectura)

Sólo el Asesor Experto sigue en modo de prueba. En cuanto todo esté bien. Voy a cambiar la contraseña, no lo sientas, de lo contrario todo esto podría ser utilizado como un sistema de señalización ;). Lo he probado en una cuenta real, los riesgos son ligeramente diferentes. Los he copiado con mi robot de trading pero mis operaciones reales y demo se correspondían entre sí, por eso los he dejado sólo para la cuenta demo y los he probado con riesgos máximos aceptables.

También he estado trabajando en el mercado de divisas durante mucho tiempo.
 
¡Querido Rosh!

En la imagen hay una fórmula con una raíz, por lo que di la RMS del muving. Y mi pregunta es sobre lo que hay debajo de la raíz. Gracias.

Vladislav, gracias de nuevo.
 
<br / translate="no"> En la imagen hay una fórmula con una raíz, por lo que di la RMS del muving. Y mi pregunta se refiere a lo que hay debajo de la raíz. Gracias.


Entendido, me corrijo :).



HH lo dibujé en Paint ;)
 
He añadido algo al guión de Solandr.
//+------------------------------------------------------------------+
//|                                                     Herst-II.mq4 |
//|            solandr (обработал напильником Rosh)(покрасил Bagadul)|
//|                       http://www.metaquotes.ru/forum/6839/page11 |
//+------------------------------------------------------------------+
#property copyright "solandr (обработал напильником Rosh)(покрасил Bagadul)"
#property link      "http://www.metaquotes.ru/forum/6839/page11"
#property show_inputs

extern int start_bar=500;
extern int end_bar=0;

extern string h_1 = "SHOW LABELS";
extern bool show_in_point = true; // показывать в пунктах, иначе в ценовом выражении
extern string font = "Times New Roman";
extern int font_size = 9;
extern int Xd = 3;        // от борта в пикселях
extern int Yd_step = 13;  // между строк в пикселях
extern int corner;        // угол привязки
extern color LC = Purple; 
extern bool SD = true;    // показывать среднеквадратичное отклонение выборки
extern bool R_ = true;    // показывать максимальный размах иследуемого ряда
extern string h_2 = "Коэффициент Хёрста";
extern int digits_Hurst = 2; // точность коэфф. Херста
extern bool HURST = true;    // показывать коэфф. Херста
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start() {
double viborka[];
int size_of_array,i;

size_of_array=start_bar-end_bar+1;
ArrayResize(viborka, size_of_array);
for(i=size_of_array-1;i>=0;i--) viborka[i]=Open[i+end_bar];

//double S_A=iMAOnArray(viborka,0,size_of_array,0,MODE_SMA,0);
//Print("Среднее арифметическое выборки = ",DoubleToStr(S_A,8));

double S=iStdDevOnArray(viborka,0,size_of_array,MODE_SMA,0,0);

double pMax=viborka[ArrayMaximum(viborka)];
double pMin=viborka[ArrayMinimum(viborka)];

double R=pMax-pMin;
//Print("pMin = ",pMin," pMax = ",pMax, " R = ",R);

double Hrst;
if( (R>0)&&(S>0)) Hrst = MathLog(R/S)/MathLog(size_of_array*0.5);

Graphic(size_of_array, S, pMin, pMax, R, Hrst); // наносим лейблы
  
return(0);}

//+------------------------------------------------------------------+
void deinit() {
if (UninitializeReason() == 1) {Object_Delete("Period"); Object_Delete("SD"); Object_Delete("R"); Object_Delete("Hurst");}
return;}
//+------------------------------------------------------------------+

////---------------------------------------------------------------------------------------+
/**/ void Graphic(int size, double sd, double min, double max, double r, double hurst) { //|
////---------------------------------------------------------------------------------------+
int yd_1, yd_2, yd_3; // между строк в пикселах
double pn = Point, dg;
if (!show_in_point) {pn = 1; dg = Digits;}

Label_Create("Period", corner, Xd, 13, StringConcatenate("The period is taken for ",size," bars"), font_size, LC); yd_1 = Yd_step;

if (SD) {Label_Create("SD", corner, Xd, 13 + yd_1, StringConcatenate("SD [ ",DoubleToStr(sd / pn,dg)," ]"), font_size, LC); yd_2 = Yd_step;}
else {Object_Delete("SD");}

if (R_) {Label_Create("R", corner, Xd, 13 + yd_1 + yd_2, StringConcatenate("R   [ ",DoubleToStr(r / pn,dg)," ]"," Min~Max [ ",DoubleToStr(min,Digits),"~",DoubleToStr(max,Digits)," ]"), font_size, LC); yd_3 = Yd_step;}
else {Object_Delete("R");}

if (HURST) {
    double HURst = NormalizeDouble(hurst,digits_Hurst);
    string time_row;
    color LCH;
    if (HURst > 0.5) {LCH = Red; time_row = "Trend";} // Fractal Market Hupothesis
    else if (HURst < 0.5) {LCH = Blue; time_row = "Contratrend";}
         else {LCH = Black; time_row = "EMH";} // Efficient Market Hypothesis 
    Label_Create("Hurst", corner, Xd, 13 + yd_1 + yd_2 + yd_3, StringConcatenate("HURST [ ",DoubleToStr(HURst,digits_Hurst)," ] ",time_row), font_size + 1, LCH);}
else {Object_Delete("Hurst");}
return;}

////---------------------------------------------------------------------------------------------------------------------+
//// функция создает объект типа - лейбл                                                                               //|
/**/ void Label_Create(string label_name, int corner, int xd, int yd, string text, int font_size, color label_color) { //| 
////---------------------------------------------------------------------------------------------------------------------|
//// corner - номер угла привязки,                                                                                     //|
//// xd, yd - расстояние X,Y-координаты в пикселях относительно угла привязки.                                         //|
////---------------------------------------------------------------------------------------------------------------------+
if (!IsTesting()) {
bool creat = false;
label_name = StringConcatenate(label_name, "_", Symbol());
if (ObjectFind(label_name) == -1) {
    creat = ObjectCreate(label_name, OBJ_LABEL, 0, 0, 0);
    if (creat) {
        ObjectSet(label_name, OBJPROP_CORNER, corner);
        ObjectSet(label_name, OBJPROP_XDISTANCE, xd);
        ObjectSetText(label_name, text, font_size, font, label_color);} }
ObjectSet(label_name, OBJPROP_YDISTANCE, yd);
ObjectSetText(label_name, text, font_size, font, label_color);}
return;}

////--------------------------------------------------------------------------------------+
/**/ void Object_Delete(string object_name) { // функция удаляет объект по наименованию //|
////--------------------------------------------------------------------------------------+
if (!IsTesting()) {
object_name = StringConcatenate(object_name, "_", Symbol());
ObjectDelete(object_name);}
return;}



Fue así

"MQL4: Una imagen para el foro de metacotizaciones"

Funciona como un Asesor Experto, no sé si es necesario, pero es visible.

 
¡Querido Vladislav!
Hay valores de Nivel de Riesgo Up y Dn en la leyenda de su gráfico. Su significado está generalmente claro por sus nombres.
Pero es sólo en general. Y no puedes entender muchas cosas en particular. :-)
Si son estimaciones de la probabilidad de que el mercado suba o baje, entonces su suma debe ser igual a 1.
Si se trata de estimaciones de probabilidad de algunos niveles hacia arriba y hacia abajo, entonces parece diferente. :-)
¿Podría explicar cómo, de hecho, y, si es posible, en qué se basa la cuantificación?

Gracias de antemano.
 
¡Querido Rosh!

Has dado una buena prueba de que iStdDev() es equivalente a STANDOTCLONP().

Pero mi pregunta no se refería a eso ;-)

Tomé el resultado del Ejemplo 4 de su artículo, lo abrí en OpenOffice Calc y añadí las siguientes fórmulas a las celdas G2:K2
=STDEVP(B2:B5) - análogo de STANDOTCLONP() de Excel
=B2-F2 - desviación de Array de la aproximación de muving
=SQRT((H2^2+H3^2+H4^2+H5^2)/4) - desviación estándar de muving (según Vladislav-y Solandr para utilizar aproximaciones mediante varias funciones)
=SQRT( ((B2-F2)^2+(B3-F2)^2+(B4-F2)^2+(B5-F2)^2)/4 ) - desviación estándar (por StdDev.mq4)
=STDEVP(H2:H5) - desviación estándar de los errores de aproximación por muving
Después de eso, los extendí a todas las líneas (para mayor claridad).

No he cuestionado que las columnas D, G y J deban mostrar los mismos números.

Pero las columnas I y K contienen resultados muy diferentes.

IMHO, hay un problema de terminología en el artículo, porque iStdDev obviamente no utiliza la aproximación de muwng, mientras que esta función (iMA) en StdDev.mq4 se utiliza para otros fines ;-)
Es decir, iStdDev NO es una medida de dispersión de los datos en torno a una media móvil de esos datos, es RMS en la terminología estándar de la teoría de la probabilidad.

Gracias.

Z.I.: ¡Buena pintura la que tienes, no muy diferente a la común! ;-)