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 por su respuesta.
pero esto no funciona si hubo deslizamiento cuando se cerró la posición, ¿verdad?
Hola a todos,
Tengo un problema con el EA de RSI y MA...
Tengo el indicador funcionando correctamente... Todo lo que quiero es convertirlo en EA...
He probado un par de cosas. IndicatorCounted() no está funcionando en la EA, así que traté de hard-code los valores del bucle for (bar=0; bar<15; bar++), estaba recibiendo RSI correcto, pero SMA no está dando valores correctos...
Adjunto el código de la SMA que cruza el RSI...
El problema es que no se puede hacer un seguimiento de la evolución de la situación.
***************************************************************************************************************************************
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LawnGreen
#property indicador_color2 AzulOscuro
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int init()
{
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1,ExtMapBuffer2);
return(0);
}
int deinit()
{
return(0);
}
int inicio()
{
int barra, límite;
int barras_contadas=IndicadorContado();
if(counted_bars<0) return(-1);
if(barras_contadas>0) barras_contadas--;
limit=Barras-IndicadorContadas();
for(bar=0; bar<limit; bar++)
ExtMapBuffer1 = iRSI(NULL,0,14,PRICE_TYPICAL,bar);
for(bar=0; bar<limit; bar++)
ExtMapBuffer2=iMAOnArray(ExtMapBuffer1,Bars,14,0,MODE_SMA,bar);
return(0);
}
***************************************************************************************************************************************
Gracias y saludos,
GaneshGanesh,
Intenta hacer las barras en orden de tiempo.
En lugar de for(bar=0; bar<limit; bar++)
Utilice for(bar=limit-1; bar>=0; bar--)
Chazzmoney
Hola
Gracias por la rápida respuesta... Lo he probado, pero no hace ninguna diferencia...
También si usamos Bares en el bucle, tiene que calcular los valores enteros (para todas las barras) para cada tick... y podría haber retraso... También el valor de la SMA sería cero.
En el Indicador estaríamos calculando el RSI y la EMA sólo para la nueva barra usando IndicatorCounted(), pero no podemos usarlo en el EA..
El punto exacto del problema es el segundo bucle for y los valores para el iMAOnArray..
El primer bucle for funciona perfectamente incluso cuando lo codificamos...
gracias por su respuesta. pero esto no funciona si hubo deslizamiento cuando se cerró la posición, ¿verdad?
Algunos corredores escriben [sl] y [tp] en el campo de comentarios. Usted puede utilizarlo también.
Gracias, lo intentaré.
¿cómo es posible seleccionar la última orden cerrada con el número mágico correcto?
gracias. lo intentaré. ¿cómo es posible seleccionar la última orden cerrada con el número mágico correcto?
Si se encuentra en la lista del historial, se trata de una orden cerrada, si en la lista total - abierta todavía.
Solicitud de código Ea: Cerrar la orden anterior al abrir una nueva posición
Hola, me gustaría solicitar un código para que cuando se abra una nueva posición, se cierre automáticamente la orden anterior.
Ejemplo:
Cuando la orden de compra se abre, la orden anterior de venta se cierra
Cuando la orden de venta está abierta, la orden anterior de compra se cerrará
Encontré el código OrderCloseBy() pero no sé exactamente donde poner este código
gracias
Hola, me gustaría solicitar un código para que cuando se abra la nueva posición, automáticamente se cierre la orden anterior.
Ejemplo:
Cuando la orden de compra está abierta, la orden de venta anterior se cerrará
Cuando la orden de venta está abierta, la orden anterior de compra se cerrará
Encontré el código OrderCloseBy() pero no sé exactamente dónde poner este código
graciasProblema resuelto
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // cerrar posición
}
poner después de OrderSend SELL
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // cerrar posición
}Otro código que obtuve de ForexFactory gracias a (Fulltime247,magnumfreak)
extern double LOTSize=0.10;
extern string ORDERComment="Texto del comentario de la orden";
//Cuento del TOTAL..
int btotal=0; int stotal=0; int ticket=0; double closelots=0; bool xbool;
for( int cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
xbool=OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderMagicNumber()==MAGICTerminal && OrderSymbol()==Symbol()){btotal++; ticket=OrderTicket(); closelots=OrderLots();}
if(OrderType()==OP_SELL && OrderMagicNumber()==MAGICTerminal && OrderSymbol()==Symbol()){stotal++; ticket=OrderTicket(); closelots=OrderLots();}
}// FINALIZA LA CUENTA TOTAL..
if(CUALQUIERA QUE SEA SU CONDICIÓN DE COMPRA)
{
if(btotal>0){OrderClose(ticket,closelots,Bid,3,CLR_NONE);}
ticket=OrderSend(Symbol(),OP_BUY,LOTSize,Ask,3,0,0,ORDERComment,MAGICTerminal,0,Magenta);
}
if(CUALQUIERA QUE SEA SU CONDICIÓN DE VENTA)
{
if(stotal>0){OrderClose(ticket,closelots,Ask,3,CLR_NONE);}
ticket=OrderSend(Symbol(),OP_SELL,LOTSize,Bid,3,0,0,ORDERComment,MAGICTerminal,0,Lime);
}Soy nuevo en MT4.
Quiero calcular el número de barras después de que shortMA haya cruzado longMA, ¿alguien sabe cómo codificar esta función?
Gracias de antemano.