martes, 19 de mayo de 2009

Cruce de precio con una media

Este post lo escribo para contestar a un email recibido hace unos dias, siento no haber podido responder antes pero estuve de vacaciones.

En el email según entiendo se me pide un expert advisor para que nos avise de cuando el precio cruza una media LWMA.

La solución puesta a continuación es una de las múltiples que podríamos hacer, tampoco se si es exactamente lo que se me pidio en el email.

Para cambiar el período de la media tan solo hay que modificar la linea:

extern int media=15;

y poner el período que deseamos, es decir, si queremos una media de 100 cambiariamos el 15 por un 100.

//+------------------------------------------------------------------+
//| nuevo.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Programar meta."
#property link "http://programarmeta.blogspot.com"

extern int periodo=15;
bool BarraNueva=false;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double media=iMA(NULL, 0, periodo, 0, MODE_LWMA, PRICE_CLOSE,0);
Fun_NuevaBarra();
if(BarraNueva == 1)
{
if(((Open[1] <> media)) ||
((Close[2] <> media) && (Close[1] > media)))
Alert("Cruce hacia arriba");
if(((Open[1] > media) && (Close[1] <> media) && (Open[2] > media) &&
(Close[1] < nuevahora="0;" barranueva="false;" nuevahora="Time[0];" barranueva="true;">

Saludos a todos.