[¡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 807

 
granit77:
Probablemente tenga un borrador o un código incompleto. El indicador está cableado y ninguna de las variables externas se utiliza en el código.

Lo que he descargado es casi todo. Sólo he recortado las coordenadas.
 
Dersu:
He descargado casi todos ellos. Sólo he recortado las coordenadas.

Algo inacabado, pero funciona así. Muestra la diferencia entre el OBV y su línea suavizada. Se ha emitido el único parámetro que afecta a algo (grado de suavizado), no hay nada más que cambiar.

//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Silver
//---- indicator parameters
extern int SignalSMA=10;
//---- indicator buffers
double ind_buffer1[];
double ind_buffer2[];
double ind_buffer3[];
double ind_buffer4[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers(4);
//---- drawing settings
SetIndexStyle(0,DRAW_LINE);
SetIndexDrawBegin(0,SignalSMA);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
//---- 3 indicator buffers mapping
if(!SetIndexBuffer(0,ind_buffer1) &&
!SetIndexBuffer(1,ind_buffer2) &&
!SetIndexBuffer(3,ind_buffer4) &&
!SetIndexBuffer(2,ind_buffer3))
Print("cannot set indicator buffers!");
//---- name for DataWindow and indicator subwindow label
  IndicatorShortName("OBV_M");
//---- 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]=iOBV(NULL, 0, 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);
//ind_buffer4[i]=iMAOnArray(ind_buffer2,Bars,3,0,MODE_SMA,i);
}
//---- main loop
for(i=0; i<limit; i++)
ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- done
return(0);
}
//+------------------------------------------------------------------+
 

Gracias, granit77.

He borrado el parámetro ("OBV_M") allí, lo siento.

Entiendo la situación en general y la acepto.

Y tu primer comentario lo aclara todo, me ha dado el conocimiento, gracias.

 
Lo he comprobado: todo está bien.
 

¡Buenos días!

En la pestaña de Expertos me aparece este mensaje "Los expertos están desactivados porque la cuenta ha sido modificada".

¿Cuál es la razón, alguien se ha encontrado con esto?


He decidido aclararlo.

He recibido este mensaje en los dos terminales de una misma empresa de corretaje.

Una de ellas es la cuenta demo y la otra es la cuenta real.

 
Al cambiar de cuenta en el terminal, los EA se bloquean por defecto. Desmarque la casilla en Servicio-Configuración-Asesores-Desactivar EAs al cambiar de cuenta.
 
Entendido, pero no he cambiado las cuentas.
 
¿Podría deberse a la instalación de otro terminal de la misma CC?
 
¿Puede decirme por qué a veces cuando trato de hacer una orden pendiente un mensaje de error 130. Aunque la parada está bien. por supuesto, el Asesor de Expertos puede estar tratando de colocar una orden cerca del mercado, pero ¿por qué el error 130 - ¿cómo puedo luchar contra esto?
 
T-G:
¿Puede decirme por qué a veces cuando intento colocar una orden se escribe un error 130, aunque el stop está bien? Por supuesto, tal vez el Asesor Experto está tratando de colocar una orden cerca del mercado, pero ¿por qué hay un error 130 - cómo puedo luchar contra esto?
¿Puede darme el código? Y encontrarán el error... :)