![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
2.) Según el punto 1.) el caso real es... ¿cómo crear una divergencia alcista/bajista?
Cuando las condiciones: Hay un Precio más alto y un RSI más alto del marco de tiempo definido. Y entonces después de que el tiempo corre... nos encontramos con un nuevo Precio más alto, pero no seguido por un nuevo máximo del RSI (el RSI no logra hacer un nuevo máximo).
//this gives you highest/lowest prices on last 10 bars starting with current(last on the graph - zero bar)
double highestPrice = High;
double lowestPrice = Low;
/*
this gives you lowest/highest rsi on last 10 bars starting with current - 0 bar
*/
double lowestRSI=9999, highestRSI=-9999;
int currentBar = 0;
int endBar = 10;
for(currentBar=0; currentBar<endBar; currentBar++) lowestRSI = MathMin(lowestRSI, iRSI(Symbol(),0,14,PRICE_CLOSE,currentBar));
for(currentBar=0; currentBar<endBar; currentBar++) highestRSI = MathMax(lowestRSI, iRSI(Symbol(),0,14,PRICE_CLOSE,currentBar));
//starting at bar #10 you go back 10 bars on the chart looking for lowest price
//thus you'll get lowest price from bar #10 to bar #20
double lowestPrice10_20 = Low;
to get divergence, you'll need to compare rsi & price over periods
if(lowestPrice10_20 lowestRSI){
//on bars 10-20 lowest rsi is higher than on bars 0-10
//on bars 10-20 lowest price is lower than on bars 0-10
//i hope thats correct
}
usted necesita comenzar a buscar en mql4.com para la documentación y este foro, la mayoría de la información está cubierta
¿Cómo puedo escribir este EA?
¿Cómo puedo escribir este EA :
1 - Abrir 1 StopBuy 0.01 al Precio + 20 y 1 StopSell 0.01 al Precio -20, TP 20.
2 - Si una orden se ejecuta, cancelar la otra.
3 - Si la orden ejecutada es una orden de compra, invierta la venta de 1 StopSell doble (0.02) al precio de entrada -20 o al contrario si es una orden de venta.
4 - y cada vez que se ejecute una orden de stop invertir el doble 20 puntos, hasta que se ejecute el TP.entonces cerrar todas las ordenes abiertas para este par.
Gracias por la ayuda.
Pruebe esto que puse una alerta en él es grande
alguien puede ayudarme con el código
alguien puede ayudarme a codificar el indicador con caducidad para que el indicador se pueda ejecutar...y como codificar el indicador para que solo se pueda ejecutar con 1 id de cuenta solamente.
thx
Pruebe esto le puse una alerta es genial
muchas gracias aumento funciona como magia, ¿es posible hacer un EA que coloque la orden en la dirección opuesta cuando hay una ruptura y el objetivo sólo 5 pips ?
alerta sonora para cada indicador
¿se puede cambiar la alerta sonora para cada indicador, si es así cómo?
EA no funciona en las pruebas de avance
Estimado Codersguru,
¿Podría usted por favor ayudar a mirar en mi EA a continuación. Su trabajo perfectamente bien en backtesting pero no en la cuenta de comercio de demostración en vivo. No hay acción de compra o venta en absoluto después de los cruces. Muchas gracias.
//+------------------------------------------------------------------+
//| 5/13-v2-SOS.mq4 ||||||||||||||||
//+------------------------------------------------------------------+
extern int Número_de_referencia_único=513;
extern int TakeProfit = 5;
extern int StopLoss=5;
extern double Lotes = 1;
extern int Max_Contracts = 1;
extern int emaShortPeriod=5;
extern int emaLongPeriod=13;
extern bool MoneyManagement=true;
extern int Risk=2;
int init() { return(0); }
int deinit() { return(0); }
int Cruzado()
{
double emaLong_1=iMA(NULL,0,emaLongPeriod,0,1,PRICE_CLOSE,2);
double emaLong=iMA(NULL,0,emaLongPeriod,0,1,PRICE_CLOSE,1);
double emaShort_1=iMA(NULL,0,emaShortPeriod,0,1,PRICE_CLOSE,2);
double emaShort=iMA(NULL,0,emaShortPeriod,0,1,PRICE_CLOSE,1);
if (emaShort_1emaLong ) return (1); //tendencia alcista
if (emaShort_1>emaLong_1 && emaShort<emaLong ) return (2); //tendencia a la baja
return (0); //sin acción
}
int inicio()
{
double BuyStopLoss, SellStopLoss, Lotsize ;
int cnt, ticket
static datetime ordertime;
int total=Total de pedidos();
if(MoneyManagement==true)
{Tamaño del lote=NormalizeDouble((AccountFreeMargin()*Risk/10000),1);}
si no
{ Lotsize=Lotes; }
BuyStopLoss=MathMin(MathMin(Low[1],Low[2]),Low[3]),Ask-StopLoss*Point);
SellStopLoss=MathMax(MathMax(High[1],High[2]),High[3]),Bid+StopLoss*Point);
if(Tiempo[0]>tiempo de orden && total<Max_Contratos)
{
// comprueba la posibilidad de una posición larga (BUY)
if(Crossed()==1 )
{
OrderSend(Symbol(),OP_BUY,Lotsize,Ask,1,BuyStopLoss,Ask+TakeProfit*Point, "5-13-Long",Unique_Ref_Number,0,Green);
ordertime=Tiempo[0];
return(0);
}
// comprobar la posibilidad de una posición corta (SELL)
if(Crossed()==2 )
{
OrderSend(Symbol(),OP_SELL,Lotsize,Bid,1,SellStopLoss,Bid-TakeProfit*Point, "5-13-Short",Unique_Ref_Number,0,Red);
ordertime=Tiempo[0];
return(0);
}
}
return(0);
}
Codersguru,
Necesito tu ayuda para un EA de MT4.
El día comienza a las 0000 GMT.
1) Dibujar 5 líneas horizontales (diferentes colores). Ayer OHLC y ayer (H+L)/2 línea mediana.
2) Sonido y alertas emergentes cuando el precio toca cualquiera de las 5 líneas.
Sería muy bueno si u podría ayudar. Gracias...
el indicador es para dibujar la línea de tendencia
Todo lo que quiero es poder cambiar el grosor de la línea de tendencia
Ayuda por favor
AlanAquí está. Espero que esto sea lo que querías.
Aquí está. Espero que sea lo que querías.
Muchas gracias Maji, exactamente lo que estaba buscando