[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 536

 
Si elimina todos los archivos con extensiones *.ex4 en la carpeta Indicadores
- ¿Puedo entonces compilar todos los archivos *.mq4 disponibles de una sola vez?
(Es decir, no cada uno por separado, sino todos juntos)
Gracias.
 
chief2000:
Si elimina todos los archivos con extensiones *.ex4 en la carpeta Indicadores
- ¿Puedo entonces compilar todos los archivos *.mq4 disponibles de una sola vez?
(Es decir, no cada uno por separado, sino todos juntos)
Gracias.

Cierra el terminal, luego ábrelo y todos se compilarán solos.
 
fore-x:
Cierra el terminal, luego ábrelo y se compilará solo.

Esto es lo que contaba, pero sólo unos pocos indicadores recopilados y nada más.

 

Buenas tardes cómo escribir un asesor estándar para otro plazo. Es decir, poner este indicador en el gráfico de 1 hora que mostrará el indicador de 4 horas.

пытался //+------------------------------------------------------------------+
//| a las 4 en punto.mq4 |
//| Copyright © 2012, MetaQuotes Software Corp.
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#enlace de la propiedad "https://www.metaquotes.net/"

#propiedad ventana_del_gráfica_del_indicador
#property indicator_buffers 3
#property indicator_color1 LightSeaGreen
#property indicator_color2 LightSeaGreen
#property indicator_color3 LightSeaGreen
//---- parámetros del indicador
extern int BandsPeriod=20;
BandsShift=0;
extern double BandasDesviaciones=2,0;
//---- buffers
doble MovingBuffer[];
double UpperBuffer[];
double LowerBuffer[];
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MovingBuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,UpperBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,LowerBuffer);
//----
SetIndexDrawBegin(0,BandsPeriod+BandsShift);
SetIndexDrawBegin(1,BandsPeriod+BandsShift);
SetIndexDrawBegin(2,BandsPeriod+BandsShift);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Bandas de Bollinger |
//+------------------------------------------------------------------+
int inicio()
{
int,k,counted_bars=IndicatorCounted();
doble desviación;
doble suma,oldval,newres;
int B=iBars( NULL,PERIOD_H4);
double C=iClose(NULL,PERIOD_H4,0);
//----
if(B <=BandsPeriod) return(0);
//---- cero inicial
if(counted_bars<1)
for(i=1;i<=BandsPeriod;i++)
{
MovingBuffer[B-i]=EMPTY_VALUE;
BufferSuperior[B-i]=Valor_Vacío;
LowerBuffer[B-i]=EMPTY_VALUE;
}
//----
int limit=B-barras contadas;
if(counted_bars>0) limit++;
for(i=0; i<limit; i++)
MovingBuffer[i]=iMA(NULL,PERIOD_H4,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
//----
i=B-BandasPeriodo+1;
if(counted_bars>BandsPeriod-1) i=B-counted_bars-1;
while(i>=0)
{
suma=0,0;
k=i+BandasPeriodo-1;
oldval=Buffer móvil[i];
while(k>=i)
{
newres=C[k]-oldval;
sum+=newres*newres;
k--;
}
desviación=BandasDesviaciones*MathSqrt(suma/PeriodoBandas);
BufferSuperior[i]=valor-old+desviación;
BufferInferior[i]=desviación de la media naranja;
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+

no funcionó

este lado newres=C[k]-oldval;- '[' - token inesperado

El indicador de las Bandas de Bollinger.

 
He intentado utilizar el tutorial para realizar una operación en función de la hora, todo parece correcto, pero el Asesor Experto no se activa, por ejemplo, necesito ejecutar la función a las 12.00

extern double Tiempo_Cls=12.00;

int inicio()
{
int Cur_Hour=Hora();
double Cur_Min =Minuto();
double Cur_time=Cur_Hour + Cur_Min100;
if (Cur_time==Time_Cls)
//mi función
volver;
}
 
audiomoroz:

Estoy tratando de hacer una operación basada en el tiempo del tutorial, y todo parece correcto, pero el Asesor Experto no está activo, por ejemplo la función debería iniciarse a las 12.00;


if (Cur_time==Time_Cls)
//mi función
volver;
}
Porque desencadenar la ejecución de un algoritmo por medio de un temporizador o captar la llegada de un tick con una precisión de milisegundos son conceptos diferentes.
 

Compañeros,

¡Mi probador de estrategias en el mismo intervalo de tiempo (01.05.2011 - 27.01.2012), el par de divisas EURUSD, en barras horarias (H1), de una empresa de corretaje (Alpari) y el mismo Asesor Experto, pero en diferentes ordenadores (portátil, de escritorio) muestra resultados opuestos! En el PC - $2000, en el portátil +3000. Y allí, y allí probado por 2-3 veces.

Por favor, aconsejen la causa y qué hacer y/o denme un enlace donde se pueda leer eso sobre el tema.

 
chief2000:

Esto es lo que esperaba, pero sólo recopila algunos indicadores y nada más.

Es necesario eliminar previamente el archivo mqlcache. dat de la carpeta con los indicadores.
 
Zhunko:
Tienes que borrar previamente el archivo mqlcache.dat de la carpeta con los indicadores.

Tu solución ha funcionado.

¡Muchas gracias!

 

Tengo una pregunta -
¿Es posible saber desde el código del indicador personalizado si la ventana en la que se está ejecutando está activa o no?
Por ejemplo, el mismo indicador se ejecuta en dos ventanas: necesita que funcione sólo en la ventana cuyo gráfico está activo y que esté inactivo en la segunda ventana.

Gracias.

Razón de la queja: