ayuda para mi primer ea

Espacio para compartir y debatir sobre Asesores Expertos de MetaTrader

ayuda para mi primer ea

Notapor ulpi10 » 01 Jul 2017, 15:20

Lo que estoy intentando hacer es un ea que haga lo siguiente:
En velas de 1 minuto
Tomar como dato el precio inicial de la vela si supera los x pip lanzar una compra o venta según si suba o baje con tp y st previstos. Quisiera que esto lo realice a cada minuto exacto tomando el minuto justo en el inicio de una vela. Agradecería la ayuda ya que soy muy nuevo en esto
ulpi10
 
Mensajes: 5
Registrado: 01 Jul 2017, 14:59
Karma: 0

Re: ayuda para mi primer ea

Notapor casiTRADER » 01 Jul 2017, 22:15

Hola ulpi10 bienvenido!!! Te ayudo solo con lo único que sé… Para empezar a realizar tu EA tenes que arrancar llamando al Open de la vela actual, si trabajas en time frame de un minuto es lo mismo si pones tu EA una vez realizado en 30M o en 1H etc… pero creo entender que es lo que queres… prefieres trabajar en 1M para entrar cuando te cruzas con un velón y comprar o vender, no? el dato Open te da el precio en que abre la vela, o sea que ya tenes de donde arrancar, tenes que programarlo para trabajar siempre con vela cero y de ahí, si suma X pips comprar o si resta X pips vender. La vela se empieza a dibujar recién cuando hace un tick, no cuando es el minuto exacto… o sea que si no realiza ningún tick por un tiempito todavía estarías viendo la vela vieja. Saludos.
ImagenImagenImagen
Avatar de Usuario
casiTRADER
 
Mensajes: 396
Registrado: 05 Oct 2016, 02:01
Karma: 3

Re: ayuda para mi primer ea

Notapor ulpi10 » 02 Jul 2017, 11:20

Gracias es un buen dato. Lo estoy haciendo de a poco. La idea es esa pero que el tiempo de 1 minuto se tome como regla para reiniciar el contador de pip.
ulpi10
 
Mensajes: 5
Registrado: 01 Jul 2017, 14:59
Karma: 0

Re: ayuda para mi primer ea

Notapor Duracell » 02 Jul 2017, 13:31

Sería algo similar como esto:
If(MathAbs(Open[1]-Close[1])> número pips){
If (Open[1]<Close[1])
Haces compra
else
Haces venta

Algo así.

Un saludo



Enviado desde mi iPhone utilizando Tapatalk
Continous learning... always long @ smoke xd

La Gran Carrera xd
Imagen
Avatar de Usuario
Duracell
 
Mensajes: 524
Registrado: 02 Nov 2013, 13:21
Karma: 10

Re: ayuda para mi primer ea

Notapor ulpi10 » 03 Jul 2017, 12:05

Gracias cuando lo tenga mas o menos lo subo por ahí me corrigen y ayudo a alguien que busque esto.
ulpi10
 
Mensajes: 5
Registrado: 01 Jul 2017, 14:59
Karma: 0

Re: ayuda para mi primer ea

Notapor ulpi10 » 07 Jul 2017, 15:52

extern int MagicNumber=10001;
extern double Lots =0.1;
extern double StopLoss=3;
extern double TakeProfit=6;
extern int TrailingStop=3;
extern int Slippage=3;
int start()
{
double MyPoint=Point;
if(Digits==3 || Digits==5) MyPoint=Point*10;

double TheStopLoss=0;
double TheTakeProfit=0;
if( TotalOrdersCount()==0 )
{
int result=0;
if((MathAbs(Open[1]-Close[1])>5)) // Here is your open buy rule
{
result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"order",MagicNumber,0,Blue);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
OrderSelect(result,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
}
return(0);
}
else
{
result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"order",MagicNumber,0,Red);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
OrderSelect(result,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
}
return(0);
}
}

for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL &&
OrderSymbol()==Symbol() &&
OrderMagicNumber()==MagicNumber
)
{
if(OrderType()==OP_BUY)
{
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
{
if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else
{
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))
{
if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}

int TotalOrdersCount()
{
int result=0;
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);
if (OrderMagicNumber()==MagicNumber) result++;

}
return (result);
}

NO SE SI HACE LO QUE QUIERO. AYUDA
ulpi10
 
Mensajes: 5
Registrado: 01 Jul 2017, 14:59
Karma: 0


Volver a Expert Advisors

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado