[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 519

 
De nuevo, la pregunta no está clara. ¿Destruir del gráfico o no contar en EA? Desconectar por condición o ? ¿Desconectar de dónde y con qué?
Una pregunta específica tendrá una respuesta específica y rápidamente.
 
zhuki >>:
Опять вопрос непонятный. Уничтожить с графика или не считать в эксперте? Отключить по условию или ?. Отключить откуда и чем?
На конкретный вопрос будет конкретный ответ и быстро.

Una vez que las órdenes pendientes se han colocado, el indicador debe ser desactivado. No cuentan en el Asesor Experto.

 
¿Quieres decir que no cuentan en el experto So?
Hacer un faro . Una vez que los pedidos han sido realizados, no hay que referirse al indicador.
 
¿Cómo no voy a hacerlo? El indicador envía constantemente datos a un archivo externo, el Asesor Experto lee estos datos, luego coloca órdenes y vuelve a leer los datos, no debería.
 
vlandex >>:
А как не обращаться? Данные индикатор выкидывает в внешний файл постоянно, эксперт считывает эти данные, потом выставляет ордера и опять считывает данные, а не должен.

utilice

Total de pedidos( )
 
Leer más...
 
Ahora ya sabes qué hacer.
Utilizar una variable global. Si hay uno, el indicador no cuenta ni escribe. Y viceversa.
 
vlandex >>:
Подробнее...

Lea su indicador cuando se cumpla la condición

if(OrdersTotal()==0){lee su indicador}

 
pero tenga en cuenta que
int PedidosTotal( )
Devuelve el número total de órdenes abiertas y pendientes.
 

Buenas noches a todos...

Traté de cambiar el indicador OsMA para obtener líneas con el número de Sift de la media de la barra (Suma de todos los valores positivos y negativos del indicador paraSift barra dividida por Sift)

Pero por alguna razón las lecturas de las líneas no quieren depend erdel valor deSift...

//+------------------------------------------------------------------+
//|                                                         OsMA.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property  copyright "Copyright © 2004, MetaQuotes Software Corp."
#property  link      "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Silver
#property  indicator_color2  Red
#property  indicator_color3  ForestGreen
//---- indicator parameters
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
extern int Sift=20;
extern int Sift1=100;
//---- indicator buffers
double     ind_buffer1[];
double     ind_buffer2[];
double     ind_buffer3[];
double     ind_buffer4[];
double     ind_buffer5[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- 2 additional buffers are used for counting.
   IndicatorBuffers(3);
//---- drawing settings
   SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,3);
   SetIndexDrawBegin(0,SignalSMA);
   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
//---- 3 indicator buffers mapping
   if(!SetIndexBuffer(0,ind_buffer1) &&
      !SetIndexBuffer(1,ind_buffer2) &&
      !SetIndexBuffer(2,ind_buffer3))
      Print("cannot set indicator buffers!");
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("OsMA("+FastEMA+","+SlowEMA+","+SignalSMA+")");
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| Moving Average of Oscillator                                     |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- check for possible errors
   if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//---- macd counted in the 1-st additional buffer
   for(int i=0; i<limit; i++)
      ind_buffer2[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//---- signal line counted in the 2-nd additional buffer
   for(i=0; i<limit; i++)
      ind_buffer3[i]=iMAOnArray(ind_buffer2,Bars,SignalSMA,0,MODE_SMA,i);
//---- main loop
   for(i=0; i<limit; i++)
      ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- done
   for(i=0; i<limit; i++)
      ind_buffer4[i]=(ind_buffer2[i]+ind_buffer3[i])/Sift;
//---------      
   for(i=0; i<limit; i++)
      ind_buffer5[i]=(ind_buffer2[i]+ind_buffer3[i])/Sift1;
//---------      
   return(0);
  }
//+------------------------------------------------------------------+