Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
gracias mladen .....
pero no funciona ....
//+------------------------------------------------------------------+
//| text.mq4 |
//| Copyright 2013, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
extern int timeframe1 = PERIOD_H1;
extern int timeframe2 = PERIOD_D1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
string name1="";
string name2="";
color color1;
color color2;
double H1 = iClose(NULL,timeframe1,0);
double D1H = iHigh(NULL,timeframe2,1);
double D1L = iLow(NULL,timeframe2,1);
if(H1>D1H)
{
name1 = "up"; color1 = Blue;
}
if(H1<D1L)
{
name2 = "down"; color2 = Red;
}
ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);
ObjectSet("signal",OBJPROP_XDISTANCE,3);
ObjectSet("signal",OBJPROP_YDISTANCE,12);
ObjectSetText("signal",name1,12,"Tahoma",color1);
ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);
ObjectSet("signal2",OBJPROP_XDISTANCE,59);
ObjectSet("signal2",OBJPROP_YDISTANCE,12);
ObjectSetText("signal2",name2,12,"Tahoma",color2);
//----
return(0);
}
//+------------------------------------------------------------------+
gracias mladen .....
pero no funciona ....
Creo que esta paz de código puede interesarte.
En vez de usar objeto gráfico he usado buffers normales.
Este indi compara SIEMPRE H1 y D1
Así, no marcará precios por encima del timeframe H1, pero sí
marcará en timeframes iguales o inferiores a H1. A veces
veces se ve extraño, en los marcos de tiempo más bajos (como marcar las barras
demasiado temprano), pero si usted mira más de cerca el cambio de hora, entonces es
bien.
dhl_e.mq4
Creo que esta paz de código podría interesarte.
En lugar de utilizar el objeto gráfico he utilizado los buffers normales.
Este indi compara SIEMPRE H1 y D1
Así, no marcará los precios por encima del timeframe H1, pero sí
marcará en marcos de tiempo iguales o inferiores a H1. A veces
a veces se ve extraño, en los marcos de tiempo más bajos (como marcar las barras
demasiado temprano), pero si usted mira más de cerca el cambio de hora, entonces es
bien.
dhl_e.mq4gracias kalenzo ... probará este indi
gracias mladen .....
pero no funciona ....
//+------------------------------------------------------------------+
//| text.mq4 |
//| Copyright 2013, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
extern int timeframe1 = PERIOD_H1;
extern int timeframe2 = PERIOD_D1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
string name1="";
string name2="";
color color1;
color color2;
double H1 = iClose(NULL,timeframe1,0);
double D1H = iHigh(NULL,timeframe2,1);
double D1L = iLow(NULL,timeframe2,1);
if(H1>D1H)
{
name1 = "up"; color1 = Blue;
}
if(H1<D1L)
{
name2 = "down"; color2 = Red;
}
ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);
ObjectSet("signal",OBJPROP_XDISTANCE,3);
ObjectSet("signal",OBJPROP_YDISTANCE,12);
ObjectSetText("signal",name1,12,"Tahoma",color1);
ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);
ObjectSet("signal2",OBJPROP_XDISTANCE,59);
ObjectSet("signal2",OBJPROP_YDISTANCE,12);
ObjectSetText("signal2",name2,12,"Tahoma",color2);
//----
return(0);
}
//+------------------------------------------------------------------+
Estás comparando dos marcos de tiempo diferentes
Si la barra actual del marco de tiempo 1 es mayor o menor que la primera barra cerrada del marco de tiempo 2, entonces el mensaje se mostrará. Si la barra actual del marco de tiempo 1 no es mayor o menor que el máximo y el mínimo anteriores del marco de tiempo 2, entonces no se mostrará nada. Por el código que has puesto parece que esa era tu intención (en mis pruebas ha funcionado bien)
___________________
PD: no se mostrará el texto en los datos históricos (datos anteriores). Si quieres que se muestre en los datos históricos entonces todo tiene que ser escrito completamente diferente como un indicador clásico
EA para colocar automáticamente stoploss y Take profit en función de la línea de Fibo
Hola
Quiero crear un EA que pueda colocar stop loss y take profit en cada orden.
El EA debe ver el precio de venta o precio de compra y por ejemplo para el precio de compra:
si el precio de la orden de apertura está entre la línea 38.2 y 50, el EA automáticamente coloca el stop loss en una línea antes del fibo=23.6 y coloca el take profit en una línea después del fibo=61.8
¡con este procedimiento EA hace para la posición de venta, por ejemplo si la posición es Sell stop@ X precio y 38.2 fibo<x<50 fibo! ¡¡EA automáticamente coloca el take profit en 23.6 fibo y el stop loss en 61.8 fibo line!!
¡Cualquiera puede ayudarme con el código de este EA o decirme un código similar de este EA!
****note:
¡¡¡¡la línea de fibo se calcula automáticamente por el mínimo y el máximo del último día!!!!
Tnx
Usted está comparando dos marcos de tiempo diferentes
Si la barra actual del marco de tiempo 1 es mayor o menor que la primera barra cerrada del marco de tiempo 2, entonces se mostrará el mensaje. Si la barra actual del marco de tiempo 1 no es superior o inferior a la anterior alta y baja del marco de tiempo 2, entonces no se mostrará nada. Por el código que has puesto parece que esa era tu intención (en mis pruebas ha funcionado bien)
___________________
PD: no mostrará el texto en los datos históricos (datos anteriores). Si quieres que muestre los datos históricos entonces todo tiene que ser escrito completamente diferente como un indicador clásicogracias por ti mladen ... si tienes tiempo por favor hazlo para mostrar los datos históricos ....
PS : este indi puede ayudarme a mostrar la tendencia hacia arriba o hacia abajo
gracias por ti mladen ... si tienes tiempo por favor hazlo para mostrar los datos históricos .... PS : este indi puede ayudarme a mostrar la tendencia hacia arriba o hacia abajo
rizkyd
Intentaste usar el canal don chiano de múltiples marcos de tiempo para eso (por ejemplo poner el marco de tiempo del canal donchiano a diario y el período a 1 y obtendrías casi exactamente lo mismo que estás buscando)
Un recién llegado quiere consejo/ayuda
Hola a todos,
Soy nuevo en el mercado de divisas, y por el momento interesado en los indicadores y EAs. Tengo algunos conocimientos sobre el código mq4, pero eso no es suficiente todavía para conseguir lo que quiero. Así que me gustaría pedir consejo / ayuda de expertos o personas que sabe lo suficiente sobre la codificación mq4.
Mi tarea actual es agregar un indicador personalizado al EA, y por cierto tengo una buena plantilla de EA (creo) voy a compartirla con ustedes
Ok, mis señales finales de compra/venta del indicador son estas: g_ibuf_BUY[1] y g_ibuf_SELL[1]
aquí parte del código cuando el indicador de reproducción de sonido, pop up, el envío de correo electrónico.
string ls_ms = "MS PRO";
if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {
if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));
PlaySound(ProcessBuySound(Buy_Sound));
gi_flag_alert = Time[0];
if (Send_Email) {
SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),
TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");
}
}
if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {
if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));
PlaySound(ProcessSellSound(Sell_Sound));
gi_flag_alert = Time[0];
if (Send_Email) {
SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),
TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");
}
}
}El siguiente paso sería añadir estas señales a la plantilla de EA? Mhm cómo ... ¿tengo que usar la función iCustom o algo más necesario añadir al indicador antes de que pueda usarlo? Cualquier ayuda será apreciada. Gracias.
Hola,
Soy nuevo en forex, y por el momento interesado en indicadores y EAs. Tengo algunos conocimientos sobre el código mq4, pero eso no es suficiente todavía para conseguir lo que quiero. Así que me gustaría pedir consejo / ayuda de expertos o personas que sabe lo suficiente sobre la codificación mq4.
Mi tarea actual es agregar un indicador personalizado al EA, y por cierto tengo una buena plantilla de EA (creo) voy a compartirla con ustedes Ok, mis señales finales de compra/venta del indicador son estas: g_ibuf_BUY[1] y g_ibuf_SELL[1]
aquí parte del código cuando el indicador de reproducción de sonido, pop up, el envío de correo electrónico.
string ls_ms = "MS PRO";
if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {
if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));
PlaySound(ProcessBuySound(Buy_Sound));
gi_flag_alert = Time[0];
if (Send_Email) {
SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),
TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");
}
}
if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {
if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));
PlaySound(ProcessSellSound(Sell_Sound));
gi_flag_alert = Time[0];
if (Send_Email) {
SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),
TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");
}
}
}No se puede importar alertas en otra paz de código (indicador, EA).
La forma más limpia de hacer lo que quieres es usar iCustom()
Estimado Mladen/MrTools,
Solicitud amable para hacer un indicador basado en la lógica de abajo para el gráfico de 1 minuto ... También debe alertar con flechas de compra / venta en el gráfico ..
logica para la entrada de compra :
un minuto EMA(90) cruzando sobre un minuto EMA(390) (lo que significa que el minuto anterior ema 90 es menos que ema 390) y el ema(90) también debe ser mayor que ema(150)
lógica para la salida de compra:
un minuto EMA(90) > EMA(390) y la ema(90) < ema(150).
lógica para la entrada de venta :
un minuto EMA(90) cortando un minuto EMA(390) ( lo que significa que el minuto anterior ema 90 es mayor que ema 390) y el ema(90) también debe ser menor que ema(150)
logica para la salida de venta :
un minuto EMA(90) ema(150).
*******************************************************
El código del nido para la misma lógica también se comparte a continuación :
expresión de alerta de compra
EMA(CLOSE,90) > EMA(CLOSE,390) y REF(EMA(CLOSE,90),1) EMA(CLOSE,150)
expresión de salida de compra
EMA(CIERRE,90) > EMA(CIERRE,390) y EMA(CIERRE,90) < EMA(CIERRE,150)
expresión de alerta de venta
EMA(CIERRE,90) REF(EMA(CIERRE,390),1) y EMA(CIERRE,90) < EMA(CIERRE,150)
expresión de salida de venta
EMA(CIERRE,90) EMA(CIERRE,150)
Gracias
Muchas gracias