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

 
Un apagón puede mitigarse con fuentes de alimentación ininterrumpida.
El servidor de mi broker se cayó ayer durante unas horas. No hay nada que puedas hacer al respecto.
 
Un apagón puede mitigarse con fuentes de alimentación ininterrumpida. <br / translate="no"> El servidor de mi broker se cayó ayer durante unas horas. No hay nada que puedas hacer al respecto.


Sí - no hubo luz durante medio día y el ISP está cerca en la oficina - sin luz o sin red :).

Buena suerte y buena suerte con las tendencias.
 
Vladislav,
El procedimiento del canal de regresión lineal es algo bastante sencillo. Incluso implementado en múltiples t/f + toda la otra lógica (la que me imagino) no tomará mucho tiempo.
Al mismo tiempo, escribiste una vez que el ciclo de cálculo de tu programa es de unos 30-40 segundos.
Por lo que entiendo la parte básica de este tiempo está ocupada por el proceso de optimización de la búsqueda de una trayectoria verdadera, es decir, el mínimo de funcional del precio. ¿Es así? Si no es así, ¿qué es lo que consume una cantidad tan grande de tiempo?
 
Vladislav, <br / translate="no"> El procedimiento del canal de regresión lineal es algo bastante sencillo. Incluso implementado en varios t/fs + toda la otra lógica (la que me imagino) no tomará mucho tiempo.
Al mismo tiempo, escribiste una vez que el ciclo de cálculo de tu programa es de unos 30-40 segundos.
Por lo que entiendo la parte básica de este tiempo está ocupada por el proceso de optimización de la búsqueda de una trayectoria verdadera, es decir, el mínimo de funcional del precio. ¿Es así? Si no es así, ¿por qué se tarda tanto?


Eso es exactamente lo que absorbe la optimización. Hay más de un canal. Además, hay pases iterativos y refinamientos. Proyecciones. Sólo que ya es un poco más rápido: he añadido algunos criterios para cortar las muestras.

Buena suerte y buenas tendencias.
 
Vladislav

Llevo mucho tiempo pensando en hacer una identificación de niveles, pero no consigo hacerlo. Yo informaría de mis tres kopecks (siguiendo el principio: cuanto más fácil, mejor). He utilizado el indicador MarketProfil, las líneas verdes son responsables de los niveles de ayer, rojizo - para el día de hoy (líneas dibujadas manualmente). El algoritmo aún no está escrito, pero la idea está clara en la imagen (no sé cuándo lo escribiré).

https://c.mql5.com/mql4/forum/2006/05/levels.gif
 
Hola a todos.

Un conocido mío me ha estado dando la lata con esto: mira a Her-sta. Y me envió el guión y un enlace a esta página.
Me resultaba muy difícil verlo tal y como estaba, así que me apresuré a dibujar mi versión.
El texto está abajo. El gráfico se coloca arrastrando y soltando con el ratón y se puede mover como se desee.
Creo que es más conveniente verlo así. Sin embargo, puede ser más fácil crear un indicador.
Gracias a solandr por el trabajo preliminar. En un momento dado, yo mismo quise profundizar en
Siempre he querido hacer un análisis de errores de diferentes funciones referidas a la probabilidad de cambio de tendencia, pero nunca he llegado a hacerlo.
Aunque yo mismo soy un gran partidario de las extrapolaciones basadas en la transformada de Fourier o los métodos "rápidos" de amplitud-tiempo.
métodos de amplitud-tiempo. Una línea es una línea, pero una onda es otra cosa.
¿Y qué hizo VG? Interesante. ¿Recuerdas que hace tiempo te envié variantes de la regresión polinómica?
Pero parece que tengo un apodo diferente entonces...
//------------------------
//#property show_inputs
//-----------------------
//extern int ip=800;
//extern int i0=570;
//-----------------------
double lr0,lrp;
int t0,tp;
double A[10],R[10],DDR[10];
double SA,is,aa,bb,sum2,SAo,disp_o;
double S,pMin,pMax,RM,Hrst; 
int T,i0,ip,f;
//**************************************************************
int init()
{
   t0=TimeOnDropped();
   i0=iBarShift(Symbol(),Period(),t0); 
   ip=i0+100;
   tp=Time[ip];
   T=ip-i0+1;
  
   ArrayResize(A, T);
   ArrayResize(R, T);
   ArrayResize(DDR, T);
  
   ObjectCreate("lrHerst",2,0,0,0,0,0);
   ObjectSet("lrHerst",OBJPROP_COLOR,Yellow);
} 
//**************************************************************
int start()
{
  while(IsStopped()==false)
  {
    if (f==1)
    {
      tp=ObjectGet("lrHerst",OBJPROP_TIME1);
      ip=iBarShift(Symbol(),Period(),tp);
      t0=ObjectGet("lrHerst",OBJPROP_TIME2);
      if (t0>Time[0]) t0=Time[0];
      i0=iBarShift(Symbol(),Period(),t0);
  
      T=ip-i0+1;
      ArrayResize(A, T);
      ArrayResize(R, T);
      ArrayResize(DDR, T);
    }
    
    for(int i=T-1; i>=0; i--) A[i]=Open[i+i0];

    SA=af_SA(A,T);
  
    //----------------------------LR----------------------------------------
    //----------aa-------------
    is=(T-1)/2.0;   //среднее значение по оси индекса
    aa=0;        
    sum2=0;
    
    for(i=T-1; i>=0; i--)
    {
       aa+=(i-is)*(A[i]-SA);
       sum2+=MathPow((i-is),2);
    }
    aa=aa/sum2;
    //-----------bb------------
    bb=SA-aa*is;
 
    for(i=T-1; i>=0; i--) DDR[i]=aa*i+bb; 

    lr0=DDR[0];
    lrp=DDR[T-1];
  
    //linregres_grafic_c(0,DDR,i0);
//----------------------------------------------------------------------

    //-----Расчёт ошибок линейной регрессии
    for(i=T-1; i>=0; i--) R[i]=A[i]-(aa*i+bb);

    SAo=af_SA(R,T);   //среднее значение ошибок линейной регрессии
    disp_o=af_disp_o(R,SAo,T);  // Дисперсия ошибок
    S=CKO(disp_o);
         
    pMin=Low[Lowest(NULL,0,MODE_LOW,T,i0)];
    pMax=High[Highest(NULL,0,MODE_HIGH,T,i0)];
    RM=pMax-pMin;
  
    Hrst = MathLog(RM/S)/MathLog(T*0.5);
    Comment("Хёрст = ",DoubleToStr(Hrst ,4),"\n","T = ",T);
    
    ObjectMove("lrHerst",0,tp,lrp); 
    ObjectMove("lrHerst",1,t0,lr0);
    f=1;
  
  }//---while
  //--------------------------------------------------
  return(0);
}
//***************************************************************
//функция для расчёта дисперсии ошибок
double af_disp_o(double data[], double centr, int T)
{
   double disp=0;
   for(int k=T-1; k>=0; k--) disp+=MathPow((data[k]-centr),2);
   if(T>1) disp=disp/(T-2);
   return(disp);
}
//***************************************************************
//функция для расчёта СКО
double CKO(double disp)
{
   double sko=MathPow(disp,0.5);
   return(sko);
}
//***************************************************************
//функция для подсчёта среднего арифметического значения по массиву
double af_SA(double data[],int T)
{
   double sum=0;
   for(int k=T-1; k>=0; k--) sum+=data[k];
   sum=sum/T;
   return(sum);
}
//***************************************************************
/*
//функция рисования канала линейной регрессии 
int linregres_grafic_c(int window_number, double data[], int i0b)
{
   int deletedArrows,k,size;
   string line_name;
   //очистка предыдущего рисунка
   deletedArrows=ObjectsDeleteAll(window_number,OBJ_TREND);
   
   //находим размер массива
   size=ArraySize(data);
   
   //рисуем центральную линию линейной регрессии
   for(k=size-1; k>=1; k--)
   {
      line_name="line_lin_reg"+k;
      ObjectCreate(line_name,OBJ_TREND,window_number,Time[k+i0b],data[k],Time[k+i0b-1],data[k-1]);
      ObjectSet(line_name,OBJPROP_COLOR,Yellow);
      ObjectSet(line_name,OBJPROP_STYLE,DRAW_LINE);
      ObjectSet(line_name,OBJPROP_WIDTH,2);
      ObjectSet(line_name,OBJPROP_BACK,true);
      ObjectSet(line_name,OBJPROP_RAY,false);
   }
   
   //рисуем проекцию центральной линии линейной регрессии
   line_name="line_lin_reg_proec";
   ObjectCreate(line_name,OBJ_TREND,window_number,Time[size-1+i0b],data[size-1],Time[i0b],data[0]);
   ObjectSet(line_name,OBJPROP_COLOR,Red);
   ObjectSet(line_name,OBJPROP_STYLE,DRAW_LINE);
   ObjectSet(line_name,OBJPROP_WIDTH,1);
   ObjectSet(line_name,OBJPROP_BACK,false);
   ObjectSet(line_name,OBJPROP_RAY,true);
   
   return(0);
}
*/
//***************************************************************
void deinit()
{
  ObjectDelete("lrHerst");
  Comment(" ");
}
//***************************************************************



Atentamente - Alexander.

 
Vladislav, el análisis que hizo solandr en su momento fue correcto, pero de gran calidad.

Pero el mercado de divisas no puede tener otros análisis y previsiones, en primer lugar debido a su fractalidad.
Es decir, hay una fluctuación constante de los intervalos de confianza y las probabilidades de movimiento en una u otra dirección. Y cada próxima fluctuación puede cambiar el tipo de trayectoria de los precios y creo que es bastante significativo. Al mismo tiempo, el conjunto de todos los accidentes (por ejemplo, las noticias) que influyeron en la fluctuación actual puede conducir al desarrollo de uno u otro escenario de la trayectoria de los precios. Es decir, el precio puede visitar los límites de los intervalos de confianza, pero las trayectorias pueden ser muy diferentes. No podemos predecir la trayectoria; lo máximo que podemos hacer es fijarnos en la situación actual del precio y en lo que puede hacer después. Es decir, algunas previsiones estándar como comprar aquí, y luego vender allí con un stop aquí tienen poco efecto en Forex. El precio no alcanzará/transgredirá los niveles recomendados y vagará entre ellos varias veces mientras el operador debe esperar.
De hecho, según me parece, a juzgar por las primeras operaciones realizadas en el sistema Vladislava, el mercado simplemente rastrea la probabilidad de movimiento en una u otra dirección y toma decisiones sobre las operaciones de los operadores. La única diferencia entre los comerciantes de la decisión del sistema Vladislava es que cada comerciante toma una decisión en su propia intuición, que es todo diferente (todos tienen su propio canal, que en la opinión del comerciante mueve el precio ;o)). Mientras que el sistema de Vladislava se basa en el teorema del límite central de la matemática, que en la aplicación al mercado de divisas puede tener la siguiente interpretación. Si consideramos la negociación de un solo operador, que negocia según su propia intuición, entonces, según el teorema del límite central, la distribución del precio del mercado, formada por la acción conjunta de todos los operadores, que negocian según sus propias estrategias, tenderá a la distribución normal. Para aplicar esto al mercado, sólo tenemos que encontrar, en primer lugar, los canales que ven los comerciantes, estimarlos en términos de qué canales ven la mayoría de los comerciantes, o qué canales son óptimos según la estimación integral tomada sobre toda la muestra de comerciantes;o). Entonces, teniendo esos canales seleccionados, podemos calcular la probabilidad de localización del precio a varias distancias del centro del canal, en base a la cual podemos hacer suposiciones sobre la probabilidad de movimiento del precio hacia uno u otro lado. Por supuesto, los canales cambian constantemente, especialmente en las operaciones intradía y el precio va de un lado a otro. Y lo que era correcto hace 3 horas puede tener poco o nada que ver AHORA, para obtener un beneficio. Así que, en el mejor de los casos, quienes estén interesados pueden consultar el trabajo del Asesor Experto de Vladislava para tener algún tipo de orientación sobre la situación actual. Bueno, y la predicción en la forma estándar por supuesto imposible - en el mejor de los casos, algún tipo de razonamiento cualitativo. Y la verdadera decisión se tomará cuando la situación sea necesaria. Al mismo tiempo, los niveles y los tiempos sólo pueden predecirse con antelación en los rangos más amplios.

P.D.: Por cierto, mira la cuestión de cómo operan los comerciantes. Hay muchas operaciones en un mercado rápido. Por eso hay que tener mucha prisa para coger algo. Por eso incluso este foro está lleno de hilos exigiendo a los desarrolladores de MT4 algo más de comodidad a la hora de pulsar los botones de apertura/cierre de órdenes en un mercado rápido, o la apertura/cierre rápido de órdenes por parte de un EA cuando toda la multitud está haciendo lo mismo, atascando todos los recursos técnicos de trading (sólo que normalmente la multitud hace lo mismo cuando la mitad ya ha pasado y casi no hay posibilidades de que el mercado se mueva en una u otra dirección) :o))) Es decir, el movimiento más fuerte es cuando se pasa la línea central del canal (el centro de la distribución de probabilidad del precio - toda la multitud saltó y entró en el juego) Se podría pensar que la prisa en un mercado rápido puede resolver el problema de no entender la situación actual del mercado.
 
Pero no puede haber otros análisis y previsiones para el mercado de divisas, principalmente por su naturaleza fractal.

solandr,
No quise ofenderte de ninguna manera. Sólo quiero decir que Vladislav, al principio de la discusión de su estrategia, subrayó su diferencia con la mayoría de las demás. Y fue exactamente el hecho de que permite la predicción no aleatoria debido a las estimaciones cuantitativas de las probabilidades de las diferentes direcciones del movimiento de los precios.
 
Vladislav,
Me parece que en esta discusión hay un malentendido del concepto de fractalidad.
Según tengo entendido, la fractalidad es una autosimilaridad de las estructuras aleatorias. No puede impedir por sí mismo que hagamos estimaciones cuantitativas. Y que estas estimaciones tienen carácter probabilístico, por lo que se desprende no de la fractalidad, sino del carácter casual del fenómeno con el que tratamos.
Me gustaría conocer su opinión sobre este asunto. En particular, qué sentido práctico le das a esta afirmación:
Una vez que se construye una muestra básica (niveles de media hora=>diarios) se puede perfeccionar hasta alcanzar el nivel de detalle adecuado (¿ha olvidado que aquí se utiliza un enfoque fractal?).

Y una pregunta más, en relación con su última respuesta:
Eso es exactamente lo que absorbe la optimización. Hay más de un canal allí.

Uno de sus axiomas es la existencia de una trayectoria verdadera (es decir, única), que se determina como resultado del proceso de optimización. ¿Cómo puede una sola trayectoria conducir a múltiples canales?
 
Rosh,
Por lo que tengo entendido, MarketProfil da la respuesta en frecuencia de la gama. Es decir, cuántas veces durante un periodo de tiempo concreto el precio ha tomado un valor determinado. ¿Lo he hecho bien?
Si es así, entiendo la disposición de las líneas rojas. Pero, ¿por qué hay tantos verdes?
Tuve la idea de hacer una identificación de niveles sobre esta base. Aunque, nunca he tratado con el indicador MarketProfil. Es bueno saber que es una bicicleta. :-) Al menos me ha ahorrado mucho tiempo.