EA Problema con la identificación del martillo

 

Publi

Página 1 de 402 12 ÚltimoÚltimo
Resultados 1 al 10 de 13

Tema: EA Problema con la identificación del martillo

  1. #1
    Espero que alguien pueda ayudar con este problema. Soy un codificador muy nuevo y estoy intentando crear la lógica que reconocerá un martillo o un martillo invertido. Una vez que los vaya descubriendo seguiré creando el EA para pedidos y estos.

    El código está diseñado para indicar todas las velas en las que el cercano = cerrar o alto Mínimo. Marca unos pocos pero no otros. Cualquier ayuda sería muy apreciada.

    ¿Puede la computadora ver más especímenes en el precio que nosotros? Por ejemplo, vemos 1.44551 en el cercano y el grande; ¿La computadora tal vez vea 1.445519?


    Cita Iniciado por ;
    #propiedad copyright VMesquita
    #property indicador_chart_window/se extrae un indicador de la ventana principal del gráfico
    #propiedad indicador_buffers 1
    límite int;
    int inicial ()

    //--
    retorno(0);

    definición int()

    retorno(0);

    comienzo int ()

    doble O,C,H,L,O1,C1,H1,L1,O2,C2,H2,L2;
    cadena de texto;
    int counted_bars=IndiorCounted();
    limit=Bars-counted_bars;
    //-- comprobamos posibles errores
    if(barras_contadas;0)
    Alerta(Sin barras. .) ;
    retorno(-1);

    //-- se volverá a contar la última barra contada
    for(int I=1; ilt;límite; I )
    TO=Abierto(NULO,0,I);
    C=iCerrar(NULO,0,I);
    H=iAlto(NULO,0,I);
    L=iBajo(NULO,0,I);

    O1=iAbierto(NULO,0,i-1);
    C1=iCerrar(NULO,0,i-1);
    H1=iAlto(NULO,0,i-1);
    L1=iBajo(NULO,0,i-1);
    O2=iAbierto(NULO,0,I 1);
    C2=iCerrar(NULO,0,I 1);
    H2=iAlta(NULO,0,I 1);
    L2=iBajo(NULO,0,I 1);


    texto=;
    if(((H-L)gt;4*(O-C))((C-L)/(0.001 H-L)gt;=0.75)((O-L)/(0.001 H-L)gt;=0.75)) text=Hang;
    if(H==C)texto=COMPRAR;
    if(C==L)texto=VENDER;

    //Si encontramos una vela en particular, escriba en el Gráfico
    si(texto! =-RRB-

    ObjectCreate(DoubleToStr(I,0) label, OBJ_TEXT, 0, Time[Id ], H);
    ObjectSetText(DoubleToStr(I,0) etiqueta, texto, 15, Arial, Azul);
    ReproducirSonido(esperar.wav);


    Cobro original a VMesquita por código... Lo cambié muy poco.

  2. #2
    Codemeister, Sí, proporcionó el código y le agradezco mucho su energía y tiempo. El problema recae en mí junto con mi incapacidad para juntar las piezas para formar un código que sea coherente. Por supuesto, estoy seguro de que escuchará todo el tiempo lo fácil que debería ser codificar eso. Volveré a la mesa de dibujo en un esfuerzo por comprender la forma en que las piezas deberán fluir. ¿Conoces algún libro, etc., que te proporcione las piezas que deseas y te haga empezar poco a poco? Todo lo que he visto hace bastantes suposiciones que el alumno podría no conocer. ¿Es C el lenguaje de programación más cercano a MQL?

  3. #3

    Cita Iniciado por ;
    ¡Felicitaciones a aquellos que se han educado para planificar! No puedo pensar lo difícil que es esto. Ese es mi último intento, pero no sé qué es exactamente lo que estoy escribiendo.
    Hola máximo... No dejes que sea tu último intento... Y ten en cuenta que algunos en este foro han gastado años o una gran cantidad de dólares en dinero escolar para averiguar qué estás tratando de averiguar. en un par de meses en su.../-- si su objetivo es reconocer un patrón de velas japonesas y realizar transacciones en consecuencia, puede ser mejor simplemente codificar los requisitos en el ea.... Es más simple y limpio. ... No está claro cuál es exactamente su definición de martillo y martillo invertido. El siguiente ejemplo representa un patrón envolvente alcista... h Código insertado bool bull() if((Close#91;two 93;lt;Open# 91;dos 93;-RRB- (Abrir#91;1#93;lt;Cerrar#91;dos #93;-RRB- (Cerrar#91;1#93;gt;Abrir#91;dos #93;- RR return(true); else return(false);/--/-- también puede usar dígitos para llenar diferentes símbolos.... Inserted Code NormalizeDouble(Close#91;1#93;,Digits) ;

  4. #4
    En primer lugar, como le dije antes, lo espera y no puede operar el código duro. Por ejemplo, en la llamada NormalizeDouble() tienes 5 que no funcionan con pares de yenes. Utilice la variable predefinida Dígitos. Ya proporcioné este código y no se usó correctamente. Bool hammer = MathAbs(High[1] - Close[1]) lt; nps*Etapa; El resto del código es incomprensible para mí. Configúrelo al publicar y tendrá que sangrar correctamente el código.

  5. #5
    ¡Felicitaciones a aquellos que se han educado a sí mismos! No puedo creer lo difícil que es esto. Este es mi último intento pero no sé qué es exactamente lo que estoy escribiendo. El siguiente me sigue dando errores. Mi objetivo es el siguiente: establecer una flecha y publicar en el archivo de registro cada período en el que el cierre esté dentro de .00002 (.002 en JPY) del máximo o mínimo. Si está dentro del rango grande, me gustaría que señale si está por encima del 21 ema y viceversa al no. Int inicio () { int contador = 1; for(int I=1; ilt;=Bars; I ) NormalizeDouble(Close[1],5); NormalizarDoble (Alto[1],5); NormalizarDoble (Bajo[1],5); double nps=dos bool High[1]-Close[1]lt;= nps*Stage; retorno(0);

  6. #6
    Debe mirar su código configurando una instrucción Print() cada vez que se genera una señal. Podría estar en MT4. He tenido problemas con Objetos cuando MT4 está activo o mi PC está bajo carga. No he visto objetos, siempre nunca se crearon/eliminaron/actualizaron. Suponga que el problema es la codificación.

  7. #7
    ¡Gracias Hannover y CodeMeister! Ahora tengo un problema porque la señal no se coloca en el gráfico en el lanzamiento de la barra siguiente. En un caso no se reveló hasta 4 o 3 compases después. ¿Alguna sugerencia?

  8. #8

    Cita Iniciado por ;
    ¿Qué significa exactamente el nps significa?
    Es la tolerancia (de la que hablabas en tu post anterior) en puntos. Un punto es una décima parte de un pip, para un corredor. Usando un br0ker de 5 dígitos, Point = .00001 para pares que no son JPY y .001 para pares JPY. Por lo tanto, si pone nps en una tolerancia de 2, entonces nps*Stage será 2 puntos a pesar del par, lo que le permitirá a su indy para que funcione correctamente en todos los pares.

  9. #9

  10. #10
    Debe evitar cualquier cosa que esté codificada en su programa. A diferencia de comparar con .00002, compare con nps*Point, donde nps se establece en 2 o algún número. Esto hará que el código funcione en pares de yenes además de otros y hará que los ajustes sean más fáciles de crear. Bool hammer = MathAbs(High[1] - Close[1]) lt; nps*Punto;

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Cookies
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información y política de cookies aquí.