Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 533

 
abeiks:

¿Cómo puede determinar que un objeto gráfico con un nombre específico ya está en el gráfico?


ObjectFind(0, "¡¡¡Experto detenido!!!");
 
evillive:

ObjectFind(0, "¡¡¡Experto detenido!!!");

ObjectFind es justo lo que necesito, ¡gracias!
 
¿Podríais decirme cómo recuperar el antiguo navegador en el metaeditor? En el antiguo en la parte inferior había pestañas archivos-vocabulario-búsqueda, siempre me quedaba con la búsqueda y así buscaba lo que necesitaba (por ejemplo me olvidaba de cómo usar una función, la escribía ahí o parte de ella y me salía todo con esa función), en el nuevo no hay esas pestañas, y me manda constantemente a mql4|mql5.ru, lo que me resulta extremadamente incómodo.
 
Skydiver:
¿Puedes decirme cómo recuperar el antiguo navegador en el metaeditor? En el antiguo en la parte inferior había pestañas archivos-vocabulario-búsqueda, siempre me quedaba con la búsqueda y así buscaba lo que necesitaba (por ejemplo olvidaba como usar una función, la escribía ahí o parte de ella y todo salía con esta función), en el nuevo no hay esas pestañas, y me manda constantemente a mql4|mql5.ru, y esto es extremadamente incómodo para mí.

¿Cómo que no hay búsqueda?

 
evillive:

Todo esto se hace fácilmente por encargo en el departamento Work. Y si buscas en kodobase, puedes encontrar algo similar y construir tú mismo lo que necesites, pero a menudo necesita una puesta a punto con un archivo.

He encontrado algo parecido, sólo que en indicadores, pero aún no he encontrado ningún trazado de intersecciones de TP y SL.
 
AlexeyVik:

¿Cómo que no hay búsqueda?



¿Cómo no se podía hacer antes directamente en el meta-editor? (lo siento, no puedo poner una imagen) Había una búsqueda en el navegador, y luego seleccionar la función deseada o algo así, y la barra de herramientas se abriría en la parte inferior (o donde más de la configuración), con una ficha de ayuda en el mismo.
 
Skydiver:

¿Y cómo antes era imposible directamente en el meta-editor? (lo siento, no puedo insertar una imagen, el Internet es malo) Hubo una búsqueda en el navegador, y después de seleccionar la función deseada o algo más, y se abrió por debajo (o donde más de la configuración) barra de herramientas, en ella la pestaña-ayuda.

Menos mal que Internet es malo. ¿Por qué necesito esta foto? Tengo buena memoria y hay un compilador antiguo en mi ordenador, puedo buscarlo. Pensé que habías dicho que no había una pestaña de "búsqueda".

Sólo tienes que hacer lo mismo que antes, pisar el nombre de la función u otra palabra reservada y pulsar la tecla mágica F1.

 

¿Cómo puedo hacer que el ciclo se ejecute una vez cuando se abre una nueva posición?

   if(OpenOrders>1 )
   for(cnt=0;cnt<OpenOrders;cnt++)   // scan all orders and positions. ..
   {
     OrderSelect(cnt, SELECT_BY_POS);
          if ( (OrderType() == OP_BUY || OrderType() == OP_SELL))
          {     
          if(cnt == OpenOrders-1 )                      
                  FirstOpenTime = OrderOpenTime() ;
                  
                          if(cnt == OpenOrders-2)                       
                  SecondOpenTime = OrderOpenTime() ;
          }

   }
 

Me he propuesto hacer un indicador. La esencia es la siguiente: si un muving crece frente al valor anterior, obtenemos la diferencia entre estos valores y la sumamos al crecimiento posterior y así sucesivamente. Con un cierto intervalo (cinco días en este caso). Supongamos que tenemos tres días con un crecimiento de uno, tres y cuatro puntos, significa que el valor actual del indicador es de 8 puntos. Pero la mierda es que todo es acumulativo.

¿Cómo puedo restablecer los valores antiguos sin tenerlos en cuenta?

#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Lime
//--- input parameters
extern int       Period_MA_1=21;
//--- buffers
double ExtMapBuffer1[];
extern int p=5;
double val[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,ExtMapBuffer1);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),                      
    limit;
    double
    MA_1_t;
   if(counted_bars>0)
      counted_bars--;
   limit=Bars-counted_bars;
   ArrayInitialize(val,0);
   ArrayResize(val,p);
   for(int i=0;i<limit;i++)
   {
      for(int k=p;k>=0;k--)
        {
        double indicator_minus,indicator_plus;
        val[k]=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,i+k) - iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,i+(k+1));
        if (val[k] > 0){indicator_plus=indicator_plus+val[k];}
        }
        ExtMapBuffer1[i]=indicator_plus;
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
Forexman77:

Me he propuesto hacer un indicador. La esencia es la siguiente: si un muving crece frente al valor anterior, obtenemos la diferencia entre estos valores y la sumamos al crecimiento posterior y así sucesivamente. Con un intervalo determinado (en este caso, cinco días). Supongamos que tenemos tres días con un crecimiento de uno, tres y cuatro puntos, significa que el valor actual del indicador es de 8 puntos. Pero la mierda es que todo es acumulativo.

¿Cómo puedo restablecer los valores antiguos sin tenerlos en cuenta?


Tal vez esto ayude.