![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
Modificación de EA
Hola,
si hay algún programador con experiencia que pueda modificar mi EA,
Estaría muy feliz.
LA CONDICIÓN DE ORDEN ABIERTA ES AHORA:
COMPRA:
T_S -> Azul
%WPR > -20
DeMarker > Fast MA
Fast MA > Slow MA
VENDER:
T_S -> Rojo
%WPR < -80
DeMarker < Fast MA
Fast MA < Slow MA
Como esto está enviando demasiadas señales falsas,
QUIERO CAMBIARLO:
ABRIR ORDEN DE COMPRA CUANDO
1- Fast MA < 0.5 (ajustable, por ejemplo: 0.45, 0.52 etc.)
y la DemarkLine cruza hacia arriba.
2- Confirmación condicional (hacerla elegible):
abrir la orden cuando %WPR > -20,
pero la condición de orden abierta y la confirmación
no pueden estar más allá de una cierta cantidad de barras.
(hacer el número ajustable)
si la condición ocurre más de una vez,
debe haber tantas aperturas de órdenes como
condiciones- hasta que la condición de salida
o condición de venta ocurra.
orden primaria de compra EXIT1:
cuando la línea de demarcación cruza hacia abajo la MA rápida
en la zona de compra >0,65 (número ajustable)
y CONDICIONAL:
Esta opción sólo es posible con
¡¡máximo fijo de %WPR de -10 y mínimo de -90 !!
Salir cuando cruza la línea de demarcación hacia abajo
en el área > 0,7 (ajustable)
por ejemplo: la línea de demarcación es 0,75 y el %WPR es -15
Opción de trailing stop
el stopLoss automático debería ser opcional (desde el IndicadorT_S)
¿Puede alguien programar este sencillo OB/OS indi?
Aquí está la fórmula: (alto-abierto) + (cierre-bajo) / (2 x Rango)
Niveles: 64 y 37
Gracias
Por favor, ayúdeme a modificar este EA
Hola.
Por favor, ayúdame a modificar este simple EA.
Este es un EA de cobertura que abre la compra de GBP/USD y la venta de EUR/USD al mismo tiempo.
Cuando las posiciones tienen ganancias, entonces el EA cierra ambas.
El problema es que cuando las posiciones tienen un gran DD, el EA no abre otras 2 posiciones, y espera demasiado para que las posiciones tengan beneficios.
Necesito que cuando las posiciones tengan un DD de 20 pips, entonces EA abra 2 nuevas posiciones como las primeras 2. Y cuando las nuevas 2 posiciones tengan alguna ganancia, entonces EA cierre sólo las últimas 2 posiciones, y siga esperando por otras posiciones que estén perdidas.
Por ejemplo:
EA abre Comprar GBP/USD y Vender EUR/USD.
Si estas 2 posiciones han perdido 20 pips, entonces el EA abre 2 nuevas posiciones de compra de GBP/USD y de venta de EUR/USD.
Si las segundas 2 posiciones tienen nuevamente 20 pips de DD, entonces EA abre nuevamente 2 nuevas posiciones ........etc......
Si las últimas 2 posiciones abiertas tienen un beneficio de 20 pips, entonces el EA tiene que cerrar estas 2 últimas posiciones.
En dos palabras - EA tiene que abrir múltiples posiciones Comprar GBP/USD y Vender EUR/USD si las últimas 2 posiciones tienen DD 20 pips , y cerrar las últimas 2 posiciones que tienen 20 pips de beneficio.
Gracias por la ayuda.
¡¡¡¡Corredor de cinco dígitos, error 130, ayudappppp!!!!
Hola a todos:
Hace unos días ODL (donde tengo mi cuenta demo) cambió a precios de cinco dígitos, con esto todos mis ordersend comenzaron a enviarme una alerta con el mensaje de error 130 (stops inválidos o no normalizados), antes de este cambio nunca tuve un problema. Buscando, he encontrado un código 'patch' cuando el broker cambia a precio de cinco dígitos:
double dXPoint=1;
if(Digits==3 || Digits==5){
dXPoint=10;
}
[/CODE]
With this little change, my buy function now is (later dXPoint will be global, also i tried leaving it as global, without success)
[CODE]
int openBuy() {
double dXPoint=1;
if(Digits==3 || Digits==5){
dXPoint=10;
}
double price=NormalizeDouble(Ask,Digits);
double sl=price-(stopLoss*dXPoint*Point);
double tp=price+(takeProfit*dXPoint*Point);
//Alert("PRICE: ",DoubleToStr(price,Digits)," sl: ",DoubleToStr(sl,Digits)," tp: ",DoubleToStr(tp,Digits));
orderActual = OrderSend(Symbol(), OP_BUY, LotSize(), price, Slippage*dXPoint,sl, tp, "BUY", g_magic_128, 0, Green);
if (orderActual < 1){
Alert("Order " , OrderTicket() , " Error:" , GetLastError() );
return (0);
}
return (1);
}
¡¡¡Cuando el stopLoss y el takeProfit son '0', las ordenes se abren, pero cuando son mas grandes que cero tengo el error 130, (revise los valores del stoploss y takeprofit para que no estuvieran cerca del precio asi que no es ahi donde esta el error), tambien intente normalizar las variables 'sl' y 'tp' sin exito, cuando veo los precios en la linea de alerta comentada los valores de los precios son correctos, asi que no se que pasa con mi codigo, POR FAVOR AYUDA!!!
¡¡¡MUCHAS GRACIAS CHICOS!!!
NoLag V7.1 ¿Cuáles son los valores de los indicadores para un EA?
No puedo por la vida de mí averiguar cómo el valor de traducir a la EA.
He convertido con éxito en una línea recta utilizando estos ajustes de Igors? post:
iCustom(NULL,0,"nonlagma_3",0,15,0,0,10,0,0.0)
Sin embargo, me gustaría desplazar y desplazar la MA... Quiero mantener las curvas![](https://c.mql5.com/forextsd/smiles/smile.png)
He intentado cambiar los valores iniciales en el código pero no parece funcionar.
Voy a por:
//---- parámetros de entrada
extern int Precio = 3; //Aplicar a Precio(0-Cerrado;1-Abierto;2-Alto;3-Bajo;4-Precio medio;5-Precio típico;6-Cierre ponderado)
extern int Length = 45; //Periodo de NonLagMA
extern int Displace = 0; //DispLace o Shift
extern double PctFilter = 0; //Filtro dinámico en decimal
extern int Color = 1; //Cambio de modo de color (1 color)
extern int ColorBarBack = 1; //Bar back para el modo de color
extern double Deviation = -3; //Desviación arriba/abajo
extern int AlertMode = 0; //Interruptor de alerta sonora (0-off,1-on)
extern int WarningMode = 0; //Sonido de advertencia (0-off,1-on)
Cualquier ayuda será apreciada.
Gracias
En el EA debe utilizar el siguiente código:
- para la tendencia o dirección(up = 1, down=-1)
trend=iCustom(Symbol(),TimeFrame,"NonLagMA_v7.1",Price,Length,Dispalce,PctFilter,Color,ColorBarBack,Deviation,0,0,3,bar);
[/CODE]
- for curve
[CODE]
line=iCustom(Symbol(),TimeFrame,"NonLagMA_v7.1",Price,Length,Dispalce,PctFilter,Color,ColorBarBack,Deviation,0,0,0,bar);
Si desea trazar NonLagMA con alguna desviación, entonces debe utilizar algunos valores pequeños para eso (por ejemplo, 0,5 o -0,5).
No puedo por la vida de mí averiguar cómo el valor de traducir a la EA.
Yo lo he convertido con éxito en una línea recta utilizando estos ajustes del post de Igors:
iCustom(NULL,0,"nonlagma_3",0,15,0,0,10,0,0.0)
Sin embargo, me gustaría desplazar y desplazar la MA... Quiero mantener las curvas![](https://c.mql5.com/forextsd/smiles/smile.png)
He intentado cambiar los valores iniciales en el código pero no parece funcionar.
Voy a por:
//---- parámetros de entrada
extern int Precio = 3; //Aplicar a Precio(0-Cerrado;1-Abierto;2-Alto;3-Bajo;4-Precio medio;5-Precio típico;6-Cierre ponderado)
extern int Length = 45; //Periodo de NonLagMA
extern int Displace = 0; //DispLace o Shift
extern double PctFilter = 0; //Filtro dinámico en decimal
extern int Color = 1; //Cambio de modo de color (1 color)
extern int ColorBarBack = 1; //Bar back para el modo de color
extern double Deviation = -3; //Desviación arriba/abajo
extern int AlertMode = 0; //Interruptor de alerta sonora (0-off,1-on)
extern int WarningMode = 0; //Sonido de advertencia (0-off,1-on)
Se agradece cualquier ayuda.
GraciasGracias
En el EA debe utilizar el siguiente código:
- para la tendencia o la dirección (arriba = 1, abajo = 1)
trend=iCustom(Symbol(),TimeFrame,"NonLagMA_v7.1",Price,Length,Dispalce,PctFilter,Color,ColorBarBack,Deviation,0,0,3,bar);
[/CODE]
- for curve
[CODE]
line=iCustom(Symbol(),TimeFrame,"NonLagMA_v7.1",Price,Length,Dispalce,PctFilter,Color,ColorBarBack,Deviation,0,0,0,bar);
¡¡¡¡Gracias!!!!
¿Qué significa la barra? ¿Es una barra +1 -1?
Ya que estoy en ello...
... ¿sabes por qué mis indicadores se recargan constantemente cada 1-5 minutos en la sim?
Ayuda con el cambio a cinco dígitos
Hola a todos:
Realmente agradecería su ayuda con este tema, el broker donde tengo mi cuenta demo cambió a precios de cinco dígitos, con esto todos mis ordersend empezaron a enviarme una alerta con un mensaje de error de 130 (stops inválidos o no normalizados). Buscando, encontre un codigo 'patch' cuando el broker cambia a precio de cinco digitos. Con este cambio, mi función de compra ahora es:
int openBuy() {
double dXPoint=1;
if(Digits==3 || Digits==5){
dXPoint=10;
}
double price=NormalizeDouble(Ask,Digits);
double sl=price-(stopLoss*dXPoint*Point);
double tp=price+(takeProfit*dXPoint*Point);
//Alert("PRICE: ",DoubleToStr(price,Digits)," sl: ",DoubleToStr(sl,Digits)," tp: ",DoubleToStr(tp,Digits));
orderActual = OrderSend(Symbol(), OP_BUY, LotSize(), price, Slippage*dXPoint,sl, tp, "BUY", g_magic_128, 0, Green);
if (orderActual < 1){
Alert("Order " , OrderTicket() , " Error:" , GetLastError() );
return (0);
}
return (1);
}
¡¡¡Cuando el stopLoss y el takeProfit son '0', las ordenes se abren, pero cuando son mas grandes que cero tengo el error 130, he revisado los valores de stoploss y takeprofit para que no esten cerca del precio asi que no es ahi donde esta el error, tambien he intentado normalizar las variables 'sl' y 'tp' sin exito, cuando veo los precios en la linea de alerta comentada los valores son correctos, asi que no se que pasa con mi codigo, POR FAVOR AYUDA!!!
¡¡¡MUCHAS GRACIAS CHICOS!!!
Ayuda requerida
Espero que alguien pueda ayudarme, he programado los valores del RSI de los 4 pares principales para que aparezcan en la ventana del gráfico principal, cuando el valor del RSI es de 85 o más el valor del RSI se vuelve ROJO, cuando está por debajo de 15 se vuelve VERDE, cuando está en el medio es AZUL.
Lo que sucede es que el programa hace todo lo que se espera cuando la figura es menor de 15 se mantiene AZUL, no estoy seguro de lo que he hecho mal, estoy esperando que alguien podría arrojar algo de luz para mí.
Aquí está el código que tengo 4 los colores
color color_1 = 0, color_2 = 0, color_3 = 0, color_4 = 0;
if(sym_1 < 15) color_1 = Verde;si no color_1= Azul;
si(sym_1 >85) color_1 = Rojo; si no color_1 = Azul;
si(sym_2 < 15)color_2= Verde;si no color_2= Azul;
si(sym_2 >85) color_2 = Rojo; si no, color_2 = Azul;
si(sym_3 < 15)color_3= Verde;si no color_3 = Azul;
si(sym_3 >85) color_3 = Rojo; si no, color_3 = Azul;
si(sym_4 < 15)color_4= Verde;si no color_4 = Azul;
si(sym_4 >85) color_4 = Rojo; si no, color_4 = Azul;