Resultados 1 al 3 de 3

Tema: Necesita una línea modificada, el objeto no se eliminará

  1. #1
    ¿Alguien puede repasar este código y decirme cómo hacer que el texto del objeto MA (desplácese hasta la parte inferior del código) se elimine cuando se elimine el indicador? Hice mucho comprobando y probando códigos de los foros de mql pero no soy un programador, así que me falta algo.

    // ----------------------------------------------- -------------------
    //| EMA-alert-Symbol-Period.mq4 |
    //| Copyright © 2007, MetaQuotes Software Corp. |
    //|
    http://www.metaquotes.net|
    // ----------------------------------------------- -------------------
    #property copyright © 2007, MetaQuotes Software Corp.
    #property link http://www.metaquotes.net
    #property indior_chart_window
    #property indior_buffers 1
    //MODE_SMA 0 Promedio móvil simple,
    //MODE_EMA 1 Media móvil exponencial,
    //MODE_SMMA 2 Promedio móvil suavizado,
    //MODE_LWMA 3 Promedio móvil ponderado lineal.
    //PRICE_CLOSE 0 Cerrar precio.
    //PRICE_OPEN 1 Precio abierto.
    //PRICE_HIGH 2 Precio alto.
    //PRICE_LOW 3 Precio bajo.
    //PRICE_MEDIAN 4 Precio medio, (alto bajo)2.
    //PRICE_TYPICAL 5 Precio típico, (alto bajo cerrar)3.
    //PRICE_WEIGHTED 6 Precio de cierre ponderado, (alto bajo cerrar cerrar)4.

    //---- parámetros de entrada
    extern int ma_period = 12;
    extern int ma_mode = 1;
    extern int ma_price = 0;
    extern int ma_shift = 0;
    //---- buffers
    doble ExtMapBuffer1 [];
    extern bool Box_Alert = false;
    extern bool Sound_Alert = true;
    cadena externa Sound_File = alert3;
    extern bool Email_Alert = falso;
    extern int pip_distance = 1;
    datime lastimealert;
    //----
    doble ema_value;

    // ----------------------------------------------- -------------------
    //| Función de inicialización interior personalizado |
    // ----------------------------------------------- -------------------
    int init ()
    {
    //---- adentro

    SetIndexBuffer (0, ExtMapBuffer1);
    //---- nombre de DataWindow y la etiqueta de la ventana secundaria interior

    //----

    retorno (0);
    }
    // ----------------------------------------------- -------------------
    //| Función de desinicialización interior personalizada |
    // ----------------------------------------------- -------------------
    int deinit ()
    {
    //----
    retorno (0);
    }
    // ----------------------------------------------- -------------------
    //| Función de iteración interior personalizada |
    // ----------------------------------------------- -------------------
    int start ()
    {
    límite de int
    int counted_bars = IndiorCounted ();
    //---- comprueba posibles errores
    if (counted_bars lt; 0)
    return (-1);
    //---- se contará la última barra contada
    if (counted_bars gt; 0)
    counted_bars--;
    limit = Bars - counted_bars;
    //----

    cadena MA;


    para (int i = 0; i lt; límite; i )
    {
    ema_value = iMA (NULL, 0, ma_period, ma_shift, ma_mode, ma_price, i);

    if (ma_mode == 0) {MA = SMA;}
    if (ma_mode == 1) {MA = EMA;}
    if (ma_mode == 2) {MA = SMMA;}
    if (ma_mode == 3) {MA = LWMA;}
    //----
    ExtMapBuffer1 [i] = ema_value-Ask;
    if (MathAbs (ema_value-Bid) lt; = pip_distance * Point lastimealert! = Time [0])
    {

    alerta de si (Alerta de cuadro) (Símbolo (), M, Período (), El precio está dentro, distancia de pip, pips de, período de ma, Período MA );
    if (Sound_Alert) PlaySound (Sound_File);
    if (Email_Alert) SendMail (Alerta de precio en Símbolo () M Period (), Símbolo () M Period () El precio está dentro de pip_distance pips de ma_period Period MA );
    lastimealert = Tiempo [0];
    }
    ObjectCreate (ObjName, OBJ_LABEL, 0, 0, 0);
    ObjectSetText (ObjName, MA, 14, Tahoma, Amarillo);
    ObjectSet (ObjName, OBJPROP_CORNER, 0);
    ObjectSet (ObjName, OBJPROP_XDISTANCE, 20);
    ObjectSet (ObjName, OBJPROP_YDISTANCE, 30);

    }
    //----
    retorno (0);
    }
    // ----------------------------------------------- -------------------

  2.                         
    Publicidad
  3. #2
    Coloque lo siguiente en la función deinit (): Inserted Code ObjectDelete (ObjName);

  4. #3
    1 Adjunto (s)
    Cita Iniciado por ;
    Coloque lo siguiente en la función deinit (): ObjectDelete (ObjName);
    impresionante gracias, me preguntaba si hay una manera de que cuando se carga el indicador, la alerta wav no suene. cada vez que cargue el indicador o cambie el período de tiempo que jugará, lo que puede ser difícil ya que usaré un archivo de alerta de 20-30 segundos. Aquí está el código actualizado. Usé las persianas de fuente que he incluido:/ -------------------------------------------------- ---------------- /| MA alert.mq4 |/| Copyright © 2007, MetaQuotes Software Corp. |/|
    http://www.metaquotes.net|/ ----------------------------------------------- ------------------- #property copyright © 2007, MetaQuotes Software Corp. #property link http://www.metaquotes.net #property indior_chart_window #property indior_buffers 1/MODE_SMA 0 Promedio móvil simple,/MODE_EMA 1 Promedio móvil exponencial,/MODE_SMMA 2 Promedio móvil suavizado,/MODE_LWMA 3 Promedio móvil ponderado lineal./PRICE_CLOSE 0 Cerrar precio./PRICE_OPEN 1 Precio abierto./PRICE_HIGH 2 Precio alto./PRICE_LOW 3 Precio bajo./PRICE_MEDIAN 4 Precio medio, (alto bajo)2./PRICE_TYPICAL 5 Precio típico, (alto bajo cerrar)3./PRICE_WEIGHTED 6 Precio de cierre ponderado, (alto bajo cerrar cerrar)4./---- parámetros de entrada extern int ma_period = 12; extern int ma_mode = 1; extern int ma_price = 0; extern int ma_shift = 0;/---- buffers double ExtMapBuffer1 []; extern bool Box_Alert = false; extern bool Sound_Alert = true; cadena externa Sound_File = alert3; extern bool Email_Alert = falso; extern int pip_distance = 1; datime lastimealert;/---- doble ema_valor;/ ----------------------------------------------- ------------------- /| Función de inicialización personalizada indior |/ ----------------------------------------------- ------------------- int init () {//---- indiors SetIndexBuffer (0, ExtMapBuffer1);/---- nombre de DataWindow y etiqueta de subventana inferior/---- return (0); }/ ---------------------------------------------- -------------------- /| Función de desinicialización indior Custor |/ ----------------------------------------------- ------------------- int deinit () {ObjectDelete (Label);/---- retorno (0); }/ ---------------------------------------------- -------------------- /| Función de iteración indior personalizada |/ ----------------------------------------------- ------------------- int start () {int limit; int counted_bars = IndiorCounted ();/---- compruebe posibles errores si (counted_bars lt; 0) return (-1);/---- la última barra contada será contada si (counted_bars gt; 0) counted_bars--; limit = Bars - counted_bars;/---- cadena MA; para (int i = 0; i lt; límite; i ) {ema_value = iMA (NULL, 0, ma_period, ma_shift, ma_mode, ma_price, i); if (ma_mode == 0) {MA = SMA;} if (ma_mode == 1) {MA = EMA;} if (ma_mode == 2) {MA = SMMA;} if (ma_mode == 3) {MA = LWMA ;}/---- ExtMapBuffer1 [i] = ema_value-Ask; if (MathAbs (ema_value-Bid) lt; = pip_distance * Point lastimealert! = Time [0]) {if (Box_Alert) Alert (Symbol (), M, Period (), Price is within, pip_distance, pips of, ma_period, Periodo MA ); if (Sound_Alert) PlaySound (Sound_File); if (Email_Alert) SendMail (Alerta de precio en Símbolo () M Period (), Símbolo () M Period () El precio está dentro de pip_distance pips de ma_period Period MA ); lastimealert = Tiempo [0]; } ObjectCreate (Etiqueta,OBJ_LABEL, 0, 0, 0); ObjectSetText (Label, MA, 24, Sun Blinds, LightSteelBlue); ObjectSet (Label, OBJPROP_CORNER, 0); ObjectSet (Label, OBJPROP_XDISTANCE, 6); ObjectSet (Label, OBJPROP_YDISTANCE, 30); }/---- retorno (0); }/ ---------------------------------------------- --------------------
    https://www.forosforex.com/attachmen...3953227878.rar

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Uso de cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

Aviso legal: Ni forosforex.com ni ninguna persona involucrada en forosforex.com aceptarán ninguna responsabilidad por cualquier pérdida o daño en el trading como resultado de la confianza en la información contenida en este sitio web, incluidos datos, cotizaciones, gráficos y señales de compra/venta. Por favor, infórmese plenamente de los riesgos y costes asociados a las operaciones en los mercados financieros, una de las formas de inversión que más riesgos entrañan.
forosforex.com le quiere recordar que los datos contenidos en este sitio web no son necesariamente en tiempo real ni exactos. forosforex.com no asume responsabilidad alguna por las pérdidas en que usted podría incurrir como resultado de la utilización de estos datos. Este acuerdo se rige por su versión en inglés, que prevalecerá siempre que haya alguna discrepancia entre la versión en inglés y la versión en español. Los CFD son un producto difícil de entender, varios organismos reguladores consideran que no es adecuado para inversores minoristas debido a su complejidad y riesgo.
Advertencia de riesgo: Los CFDs son un producto difícil de entender, y puede no ser adecuado para inversores minoristas debido a su complejidad y riesgo. Existe la posibilidad de sufrir una pérdida igual o superior a la inversión. Por lo tanto, no debe invertir o arriesgar dinero que no pueda permitirse perder. Debe asegurarse de que comprende todos los riesgos. Antes de abrir una cuenta en un broker por favor sea consciente e infórmese de los riesgos asociados con el trading. El contenido de este sitio web no debe interpretarse como asesoramiento personal. ForosForex recomienda que busque el consejo de un asesor financiero independiente.