por RSA » 15 Abr 2010, 15:44
Buenas a todos necesito crearme una alarma que me avise de lo siguiente, yo soy incapaz de hacer nada con el Metaquote y he bajado algunas alarmas o avisos de cruce de medias y no he conseguido mi propósito. Básicamente lo que quiero es: En gráficos de 1 hora, que me indique cuando una SMA(200)=SMA(10) Muchas gracias a todos y buenos pips
-
RSA
-
- Mensajes: 6
- Registrado: 28 Oct 2009, 10:03
- Karma: 0
por FXWizard » 15 Abr 2010, 16:38
Hola RSA, sube aquí el indicador o pega el código de alguno de esos indicadores para ver qué se nos ocurre Saludos, FXWizard
-
FXWizard
-
- Mensajes: 8493
- Registrado: 12 Feb 2008, 15:17
- Karma: 35
por RSA » 15 Abr 2010, 17:34
hola FXWizard, me descarge de vuestra pagina el archivo EMA-Crossover_Signal.mq4 pero no se que modificar para que se adapte a SMA 200 y SMA 10, además tengo otras dos SMA de 50 y 100, todas ellas en cierre pero no se que modificar para que me avise cuando cruzan la de 200 y la de 10. Además cuando intento meter este fichero en el gráfico no lo coge. Te pongo el código por si acaso - Código: Seleccionar todo
property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 SeaGreen #property indicator_color2 Red
double CrossUp[]; double CrossDown[]; extern int FasterEMA = 4; extern int SlowerEMA = 8; extern bool SoundON=true; double alertTag; double control=2147483647; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0, DRAW_ARROW, EMPTY,3); SetIndexArrow(0, 233); SetIndexBuffer(0, CrossUp); SetIndexStyle(1, DRAW_ARROW, EMPTY,3); SetIndexArrow(1, 234); SetIndexBuffer(1, CrossDown); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //----
//---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit, i, counter; double fasterEMAnow, slowerEMAnow, fasterEMAprevious, slowerEMAprevious, fasterEMAafter, slowerEMAafter; double Range, AvgRange; 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; for(i = 0; i <= limit; i++) { counter=i; Range=0; AvgRange=0; for (counter=i ;counter<=i+9;counter++) { AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]); } Range=AvgRange/10; fasterEMAnow = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i); fasterEMAprevious = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i+1); fasterEMAafter = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);
slowerEMAnow = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, i); slowerEMAprevious = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, i+1); slowerEMAafter = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, i-1); if ((fasterEMAnow > slowerEMAnow) && (fasterEMAprevious < slowerEMAprevious) && (fasterEMAafter > slowerEMAafter)) { CrossUp[i] = Low[i] - Range*0.5; } else if ((fasterEMAnow < slowerEMAnow) && (fasterEMAprevious > slowerEMAprevious) && (fasterEMAafter < slowerEMAafter)) { CrossDown[i] = High[i] + Range*0.5; } if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){ Alert("EMA Cross Trend going Down on ",Symbol()," ",Period()); alertTag = Time[0]; } if (SoundON==true && i==1 && CrossUp[i] < CrossDown[i] && alertTag!=Time[0]){ Alert("EMA Cross Trend going Up on ",Symbol()," ",Period()); alertTag = Time[0]; } } return(0); }
-
RSA
-
- Mensajes: 6
- Registrado: 28 Oct 2009, 10:03
- Karma: 0
por RSA » 15 Abr 2010, 20:17
Creo que he conseguido mi proposito manipulando el archivo, de todas formas gracias por atenderme. Un saludo RSA
-
RSA
-
- Mensajes: 6
- Registrado: 28 Oct 2009, 10:03
- Karma: 0
por FXWizard » 16 Abr 2010, 10:16
OK RSA, si quieres de todas formas pega el código del nuevo indicador y te lo reviso por si veo algo raro.
Saludos, FXWizard
-
FXWizard
-
- Mensajes: 8493
- Registrado: 12 Feb 2008, 15:17
- Karma: 35
por RSA » 16 Abr 2010, 10:25
El código es el mismo salvo que en vez de seleccionar exponencial, selecciona simple. El error era fundamentalmente que lo estaba intentando cargar como expert y realmente tenía que ir como indicador, por eso no me funcionaba. Es lo que tiene no tener ni idea de metatrader. Muchas gracias por tu atención
-
RSA
-
- Mensajes: 6
- Registrado: 28 Oct 2009, 10:03
- Karma: 0
por DarthHunter » 20 Abr 2010, 18:19
Buen dia
RSA, si aun no logras lo que deseas, me cuentas que puedo ayudarte con el tema.
Darth Hunter
-
DarthHunter
-
- Mensajes: 97
- Registrado: 24 Abr 2009, 23:32
- Karma: 0
por RSA » 21 Abr 2010, 00:55
Ya he conseguido mas o menos hacer lo que quería. Muchas gracias a todos por vuestra ayuda
-
RSA
-
- Mensajes: 6
- Registrado: 28 Oct 2009, 10:03
- Karma: 0
|
|