![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
esta pobre alma necesita tu ayuda
Ok. He vuelto a añadir la parte de las condiciones de cierre(adjunta). Los errores que aparecen al compilar el original son los mismos que los que he ajustado. Ahora volviendo a las preguntas originales: ¿he logrado escribir el código de tal manera que fullfil las condiciones que puse cuando por primera vez publicado cuando empecé mi solicitud en este. Que es comprar en RSI 6 Stoch 16.3.3 EMA 5 por encima del nivel ema50 por encima de 70 y vender cuando
rsi 6 stoch16.3.3 ema5below ema50 nivel por debajo de 30. también podría interpretar las condiciones de cierre para mí. lo que hice para corregir el archivo fue abrir los archivos en el editor de meta y luego hizo que la pantalla muestra un lado un archivo y otro archivo, en forma de baldosas, al lado de él y sólo fue línea por línea para ver qué líneas faltaban o diferentes. No puedo codificar pero puedo intentar descifrar lo que alguien ha hecho y por sentido común cambiar una o dos cosas. eres una estrella mladen
Ok. He vuelto a añadir la parte de las condiciones de cierre(adjunta). Los errores que aparecen al compilar el original son los mismos que los que he ajustado. Ahora volviendo a las preguntas originales: ¿he conseguido escribir el código de tal manera que se cumplan las condiciones que establecí la primera vez que publiqué cuando empecé mi petición sobre esto? Que es comprar en RSI 6 Stoch 16.3.3 EMA 5 por encima del nivel de ema50 por encima de 70 y vender cuando rsi 6 stoch16.3.3 ema5below nivel de ema50 por debajo de 30. también podría interpretar las condiciones de cierre para mí. lo que hice para corregir el archivo fue abrir los archivos en meta editor y luego hizo que la pantalla muestra un lado un archivo y otro archivo, en forma de baldosas, al lado de él y sólo fue línea por línea para ver qué líneas faltaban o diferente. No puedo codificar pero puedo intentar descifrar lo que alguien ha hecho y por sentido común cambiar una o dos cosas. eres una estrella mladen
candyman752
Prueba el EA. Esas son advertencias del compilador, no errores. Independientemente de esas advertencias el EA debería funcionar
candyman752 Pruebe el EA. Esas son advertencias del compilador, no errores. Independientemente de esas advertencias el EA debería funcionar
Supongo que su silencio en la confirmación es la confirmación de que he logrado el código para hacer lo siguiente: RSI 6 stoch 16-3-3 / 5EMA 50EMA.over compró el nivel 70 oversold nivel 30. Debería comprar cuando la 5ema se mueva por encima de la 50 ema y el rsi y stoch estén por encima de 70 y debería vender cuando la 5 ema esté por debajo de la 50ema y el rsi y stoch estén por debajo de 30.
Hola madlen, déjame poner mi solicitud de otra manera
en el EA original las condiciones de compra o venta eran
if(EMA5aEMA10&&RSI1>RSILevel&&STOS<STOM&&STOS<Overbought&&STOM<Overbought)SBUY="true";
if(EMA5a>EMA10a&&EMA5<EMA10&&RSI1STOM&&STOS>Sobreventa&&STOM>Sobreventa)SSEL="true";
Luego cambié el código de la siguiente manera
if(EMA5aEMA50&&RSI1>RSILevelb&&STOSOverbought&&STOM>Overbought)SBUY="true";
if(EMA5a>EMA50a&&EMA5<EMA50&&RSI1STOM&&STOS<Sobrecomprado&&STOM<Sobrecomprado)SSEL="true";
RSI levelb=70 RSI levels=30 sobrecompra=70 sobreventa=30.
El cambio que hice en el código coincide con las condiciones que dije antes. comprar cuando 5ema está por encima de 5ema rsi por encima de 70 estocástico por encima de 70 y viceversa
Entiendo que su silencio en la confirmación es la confirmación de que he logrado el código para hacer lo siguiente: RSI 6 stoch 16-3-3 / 5EMA 50EMA.over compró el nivel 70 nivel de sobreventa 30. Debe comprar cuando 5ema se mueve por encima de 50 ema y rsi y stoch están por encima de 70 y debe vender cuando 5 ema está por debajo de 50ema y rsi y stoch están por debajo de 30.
candyman752
Lo que he dicho es que la lista que muestra el compilador después de la compilación sólo contiene advertencias que no afectan a la ejecución del EA (cualquier EA). No he comprobado la lógica ni he probado el EA. Por eso he dicho que hay que probarlo.
En cuanto al código, funcionará. Depende de tu trabajo afinarlo y ajustarlo donde sea necesario
feliz codificación![](https://c.mql5.com/forextsd/smiles/smile.png)
Codificadores,
Estoy experimentando algunos problemas con el siguiente código.
Durante mucho tiempo estoy usando 2 indicadores como filtro. Ellos muestran la tendencia en un histograma en la segunda ventana.
Traté de crear un tercer indicador que combina ambos indicadores en un histograma.
Desafortunadamente no funciona, he llamado a ambos indicadores con la función iCustom y uso el buffer correcto. Pero el histograma se queda en blanco.
Para encontrar el problema he sustituido las funciones iCustom por una función iMA. En ese momento el código funcionó y el histograma mostró los colores correctos
. Así que tiene algo que ver con las funciones iCustom o las sentencias if.
Espero que alguien pueda ayudarme.
Gracias de antemano
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red
#property indicator_width1 3
#property indicator_width2 3
#property indicator_minimum 0
#property indicator_maximum 1
double Groen[];
double Rood[];
double zibo1g[],zibo1r[],zibo2g[],zibo2r[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0,Groen);
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexLabel(0,"Groen");
SetIndexBuffer(1,Rood);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexLabel(1,"Rood");
IndicatorShortName("Zibo Combo");
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
double dResult = 1;
for(int i=0; i<limit; i++){
zibo1g=iCustom(NULL,0,"zibo1",0,i); //green histogram
zibo1r=iCustom(NULL,0,"zibo1",1,i); //red histogram
zibo2g=iCustom(NULL,0,"zibo2",0,i); //green histogram
zibo2r=iCustom(NULL,0,"zibo2",1,i); //red histogram
if(zibo1g != EMPTY_VALUE && zibo2g != EMPTY_VALUE)
Groen = dResult;
else if(zibo1r != EMPTY_VALUE && zibo2r != EMPTY_VALUE)
Rood = dResult;
}
return(rates_total);
}m1-red.mq4
Hola a todos. Necesito ayuda para arreglar este indicador .. en la práctica necesidad de añadir un (20-periodo MA) con la misma función que el existente, y eliminar eliminar las cajas de color, no se utiliza
Siempre pido perdón por mi mal inglés![](https://c.mql5.com/forextsd/smiles/sad_smile.png)
Codificadores,
Estoy experimentando algunos problemas con el siguiente código.
Durante mucho tiempo estoy usando 2 indicadores como filtro. Ellos muestran la tendencia en un histograma en la segunda ventana.
Traté de crear un tercer indicador que combina ambos indicadores en un histograma.
Desafortunadamente no funciona, he llamado a ambos indicadores con la función iCustom y uso el buffer correcto. Pero el histograma se queda en blanco.
Para encontrar el problema he sustituido las funciones iCustom por una función iMA. En ese momento el código funcionó y el histograma mostró los colores correctos
. Así que tiene algo que ver con las funciones iCustom o las sentencias if.
Espero que alguien pueda ayudarme.
Gracias de antemano
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red
#property indicator_width1 3
#property indicator_width2 3
#property indicator_minimum 0
#property indicator_maximum 1
double Groen[];
double Rood[];
double zibo1g[],zibo1r[],zibo2g[],zibo2r[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0,Groen);
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexLabel(0,"Groen");
SetIndexBuffer(1,Rood);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexLabel(1,"Rood");
IndicatorShortName("Zibo Combo");
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
double dResult = 1;
for(int i=0; i<limit; i++){
zibo1g=iCustom(NULL,0,"zibo1",0,i); //green histogram
zibo1r=iCustom(NULL,0,"zibo1",1,i); //red histogram
zibo2g=iCustom(NULL,0,"zibo2",0,i); //green histogram
zibo2r=iCustom(NULL,0,"zibo2",1,i); //red histogram
if(zibo1g != EMPTY_VALUE && zibo2g != EMPTY_VALUE)
Groen = dResult;
else if(zibo1r != EMPTY_VALUE && zibo2r != EMPTY_VALUE)
Rood = dResult;
}
return(rates_total);
}Tus matrices zibo1g[],zibo1r[],zibo2g[] y zibo2r[] son siempre matrices de tamaño cero (nunca se inicializan - se redimensionan a elementos de barra)
Lo mejor es que los declares como buffers adicionales si no estás familiarizado con cómo trabajar con arrays en mql
m1-red.mq4
Hola a todos. Necesito ayuda para arreglar este indicador .. en la práctica necesidad de añadir un (20-periodo MA) con la misma función que el existente, y eliminar eliminar las cajas de color, no se utiliza
Siempre pido perdón por mi mal inglésEn el que has adjuntado no hay cajas de color. De todas formas prueba esto : m1-red_1.m q4
Gracias Mladen por estar siempre disponible.
en el post anterior me preguntaba si era posible añadir otra MA de 20 periodos con la misma fórmula