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

 
Croaker:

¡Saludos a todos los conocedores y lectores experimentados de este hilo! Y a cualquiera que pueda ayudarme=)

¿Cuál es la forma más fácil y "correcta" de conseguir la periodicidad? Es decir, para simplificar, quiero realizar automáticamente alguna acción cada 15 minutos.

En mi caso, es guardar un archivo en el disco con algunas estadísticas. Ahora tengo un script que hace lo que quiero, y son literalmente 20 líneas de código. Entonces, ¿cómo consigo que esas 20 líneas se repitan a intervalos? Según tengo entendido, no hay temporizadores en MQL... ¿Necesito usar un EA que haga algún tipo de comprobación cada tick?

Espero su ayuda y consejos)

Por ejemplo, compruebe si hay una nueva barra en el marco temporal de 15 minutos.

O recuerde la hora de inicio y compruebe la hora actual.

https://docs.mql4.com/ru/dateandtime/TimeCurrent

et=tiempo actual();

if (et-bt>15*60) {bt=timecurrent(); cargar datos}

 
Croaker:

Quiero que una determinada acción se realice automáticamente cada 15 minutos.

datetime save_time;
int tf=15;

start()===============================================

if(save_time!=iTime(0,tf, iBarShift(0,tf,Time[0]))){
        save_time =iTime(0,tf, iBarShift(0,tf,Time[0]));
        Alert("Новая свеча ТФ=" tf);
     }
 
pvm117:

¿No pueden ayudar los estimados gurús?

pvm117 20.10.2011 18:26

¡Buenas tardes!

Como primera experiencia he decidido implementar el siguiente algoritmo: puedo esperar un movimiento brusco del mercado hacia arriba o hacia abajo en algún momento después de que las líneas de Bollinger converjan en un corredor estrecho. En mi Asesor Experto, analizo el estado de las líneas de Bollinger y cuando se están acercando mucho(pips Delta), ponemos una orden de venta pendiente en la dirección inferior (a pasoOpen pips por debajo de la línea inferior), con la esperanza de que el mercado vaya de repente en esa dirección. Si el mercado va en otra dirección, simplemente eliminamos esta orden.

El algoritmo funciona de forma inestable, a veces abre dos órdenes en intervalos cortos, da constantemente errores OrderSend Error 130 y OrderSend Error 138, y la eliminación de órdenes abiertas en caso de que el mercado se mueva en otra dirección no funciona en absoluto.

Por favor, aconséjenos. Gracias.

Para un probador y sin prestar atención al error 130, simplemente no es posible colocar una orden de stop a este precio.

A continuación, depende de ti.

Archivos adjuntos:
temp_2.mq4  21 kb
 

Chicos, soy nuevo en esto, ayúdenme a encontrar un error por favor.

Intenté escribir un indicador para calcular el número de velas ascendentes y descendentes para un determinado período de la historia. He intentado escribir un indicador para esto, pero no aparece cuando lo pongo en la ventana de indicadores. ¿Qué pasa? Aquí está mi código. Gracias de antemano.

#property indicador_separar_ventana
#property indicator_buffers 2
#property indicator_color1 Verde
#property indicator_color2 Rojo

int Wh;
int Bl;
int a[];b[];
extern int Historia=500;
//+------------------------------------------------------------------+
int init(){
SetIndexBuffer(0,a);
SetIndexBuffer(1,b);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
return(0);}
//+------------------------------------------------------------------+
int deinit(){return(0);}
//+------------------------------------------------------------------+
int inicio()
{
int BarrasContadas=IndicadorContado();
int i=Barras-ConteoBarras-1;
si (i>Historia-1) i=Historia-1;
while(i>=0)
{
si (Close[i]>Open[i])Wh++;
si (Close[i]<Open[i])Bl++;
a[i]=Wh;
b[i]=Bl;
i--;
}
return(0);}

 
Ellie:

Chicos, soy nuevo en esto, ayúdenme a encontrar un error por favor.

Intenté escribir un indicador para calcular el número de velas ascendentes y descendentes para un determinado período de la historia. He intentado escribir un indicador para esto, pero no aparece cuando lo pongo en la ventana de indicadores. ¿Qué pasa? Aquí está mi código. Gracias de antemano.



Sustituir por

int a[],b[];

Ir a

double a[],b[];
 
Oh, gracias, está funcionando. No entiendo por qué tiene que ser así. El número de velas es un número entero. ¿Podría explicarlo en pocas palabras, por favor?
 
Ellie:
Oh, gracias, está funcionando. No entiendo por qué tiene que ser así. El número de velas es un número entero. ¿Podría explicarlo en pocas palabras, por favor?


Preste atención a los tipos de parámetros pasados a la función SetIndexBuffer() .

 
Muchas gracias. Ayer leí sobre esta característica ocho veces pero no me llegó((((((((
 
Roll:
Si lo corriges un poco más:
sería mejor...

Sí, gracias, ya me he dado cuenta)))
 
Ellie:
Sí, gracias, ya me he dado cuenta)))
Hay mujeres en los pueblos rusos. Y eso es algo bueno.