¿Alguien me ayuda a programar un EA?

Espacio para compartir y debatir sobre Asesores Expertos de MetaTrader

Re: ¿Alguien me ayuda a programar un EA?

Notapor danova » 25 Nov 2008, 16:21

ninpojutsu,

He probado la estretgia de QQE 1M y funciona bien. Pero me he dado cuenta que uno pierde cuando hay entradas como en correcciones de tendencias mas grandes. Seria bueno filtrar estas entradas. Lo estoy probando manual para pulirla y despues programarla. A mi se me han presentado como 4 veces y generalmente es una despues de la otra. Voy a probar con medias moviles y les cuento. Es buena esta estrategia, por favor trabajemola entre todos. A, soy programador aunque en otros lenguajes, asi que me dedicare a aprender el de metatrader para poder dejar un EA bien pulido. Gracias.
danova
 
Mensajes: 7
Registrado: 09 Abr 2008, 03:08
Karma: 0

Re: ¿Alguien me ayuda a programar un EA?

Notapor danova » 27 Nov 2008, 06:23

buenas noches a todos,

queria hacer una pregunta que ojalan me puedan ayudar a responder. el que funciona bien pero quisiera probarlo desde el 2007 como minimo. pero en el metatrader no se dibuja bien cuando lo pongo en el tester. alquien tiene alguna idea de porque sucede u otra opcion para probarlo?

gracias de antemano.
danova
 
Mensajes: 7
Registrado: 09 Abr 2008, 03:08
Karma: 0

Re: ¿Alguien me ayuda a programar un EA?

Notapor danova » 27 Nov 2008, 06:24

perdon, el indicador QQE es a lo que me refiero en el mensaje anterior. gracias.
danova
 
Mensajes: 7
Registrado: 09 Abr 2008, 03:08
Karma: 0

Re: ¿Alguien me ayuda a programar un EA?

Notapor jecar » 28 Nov 2008, 01:47

Hola he estado siguiendo y probando los EAs pero sin resultados positivos, supongo que no esta bien configurado, seria interesante que alguien hiciera alguna guia de que indicadores van con que EA que configuración lleva cada indicador etc etc.

Si alguien es tan amable y me puede decir donde puedo conseguir el indicador EMA, el metatrader no lo lleva y no lo encuentro por ningún lado.

Gracias
jecar
 
Mensajes: 1
Registrado: 28 Nov 2008, 01:34
Karma: 0

Re: ¿Alguien me ayuda a programar un EA?

Notapor anchuni » 08 Dic 2008, 23:12

Hola,queria hacerle una modificacion al robot,pero no se como hacerla,si alguien me puede ayudar se lo agradeceria.
Vereis lo que quiero hacer es que el robot no me cierre las operaciones en el momento que se gire el mercado,osea que cuando compre y despues señal de venta que no me cierre la operacion de compra,que yo tenga que cerrarla a mano.Dejo aqui el codigo(pienso que son las lineas de abajo,pero no estoy seguro):


#property copyright "bonten"
#property link "bd0ppens@gmail.com"

#include <stdlib.mqh>

extern double Lot = 0.1;
extern double MinimumMargin = 100.0;
extern int Magic = 56757;
extern double TakeProfit = 0.0;
extern int Smoothing = 60;
extern int Timeframe = 5;

int g_ticket_number = -1;
datetime g_current_time;

int ENTRY_BUY = 0;
int ENTRY_SELL = 1;
int ENTRY_NONE = 2;

int init()
{
set_bar_time();
return (0);
}

int deinit()
{
return (0);
}

double get_qqe(int mode, int idx)
{
return (iCustom(
NULL,
0,
"QQE_Alert_MTF_v5",
//indicator input params - start
Smoothing,
Timeframe,
"",
false,
false,
false,
false,
false,
false,
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
false,
false,
false,
false,
false,
false,
"",
CLR_NONE,
CLR_NONE,
CLR_NONE,
CLR_NONE,
CLR_NONE,
CLR_NONE,
"",
30,
//indicator input params - end
mode,
idx));
}

int get_entry()
{
if ((get_qqe(0, 1) > get_qqe(2, 1) && get_qqe(0, 2) < get_qqe(2, 2)) ||
(get_qqe(0, 1) > get_qqe(2, 1) && get_qqe(0, 2) == get_qqe(2, 2) && get_qqe(0, 3) < get_qqe(2, 3)))
{
Print("get_qqe(0, 1): ", get_qqe(0, 1), " - get_qqe(2, 1): ", get_qqe(2, 1), " - get_qqe(0, 2): ", get_qqe(0, 2),
" - get_qqe(2, 2): ", get_qqe(2, 2), " - get_qqe(0, 3): ", get_qqe(0, 3), " - get_qqe(2, 3): ", get_qqe(2, 3));
return (ENTRY_BUY);
}

if ((get_qqe(0, 1) < get_qqe(2, 1) && get_qqe(0, 2) > get_qqe(2, 2)) ||
(get_qqe(0, 1) < get_qqe(2, 1) && get_qqe(0, 2) == get_qqe(2, 2) && get_qqe(0, 3) > get_qqe(2, 3)))
{
Print("get_qqe(0, 1): ", get_qqe(0, 1), " - get_qqe(2, 1): ", get_qqe(2, 1), " - get_qqe(0, 2): ", get_qqe(0, 2),
" - get_qqe(2, 2): ", get_qqe(2, 2), " - get_qqe(0, 3): ", get_qqe(0, 3), " - get_qqe(2, 3): ", get_qqe(2, 3));
return (ENTRY_SELL);
}
return (ENTRY_NONE);
}

void set_params(int dir, int& mode, double& tp, int& col)
{
if (dir == OP_BUY)
{
mode = MODE_ASK;
col = Blue;
if (TakeProfit > 0.0) tp = Ask + TakeProfit * Point;
}
else if (dir == OP_SELL)
{
mode = MODE_BID;
col = Red;
if (TakeProfit > 0.0) tp = Bid - TakeProfit * Point;
}
}

void open_order(int dir, double& lot, int& ticket_number)
{
int bid_ask;
int col;
int slipage = 3;
double tp = 0.0;
int last_err;

set_params(dir, bid_ask, tp, col);
ticket_number = OrderSend(Symbol(), dir, lot, MarketInfo(Symbol(), bid_ask), slipage, 0.0, tp, "NinpostarRevolution_bonten", Magic, 0, col);
last_err = GetLastError();
Print(ticket_number);
Print(last_err);
while (ticket_number == -1 && (last_err == 138 || last_err == 129 || last_err == 146))
{
RefreshRates();
set_params(dir, bid_ask, tp, col);
ticket_number = OrderSend(Symbol(), dir, lot, MarketInfo(Symbol(), bid_ask), slipage, 0.0, tp, "NinpostarRevolution_bonten", Magic, 0, col);
last_err = GetLastError();
}
}

bool is_order_open(int ticket_number)
{
OrderSelect(ticket_number, SELECT_BY_TICKET);
return (ticket_number != -1 && OrderCloseTime() == 0 && OrderMagicNumber() == Magic);
}

void close_order(int ticket_number, int dir)
{
int bid_ask;
int col;
bool res;
int last_err;
int slipage = 3;

if (dir == OP_BUY)
{
bid_ask = MODE_BID;
col = Blue;
}
else if (dir == OP_SELL)
{
bid_ask = MODE_ASK;
col = Red;
}

OrderSelect(ticket_number, SELECT_BY_TICKET);
res = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), bid_ask), slipage, col);
last_err = GetLastError();
Print(res);
Print(last_err);
int count = 0;
while (!res && (last_err == 138 || last_err == 129 || last_err == 146))
{
if (count >= 1000 && (count % 1000 == 0)) Print(last_err);
RefreshRates();
res = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), bid_ask), slipage, col);
last_err = GetLastError();
count++;
}
}

bool is_same_bar_time()
{
return (Time[0] == g_current_time);
}

void set_bar_time()
{
g_current_time = Time[0];
}

int start()
{
if (AccountFreeMargin() > MinimumMargin && !is_same_bar_time())
{
if (get_entry() == ENTRY_BUY)
{
if (is_order_open(g_ticket_number)) close_order(g_ticket_number, OP_SELL);
open_order(OP_BUY, Lot, g_ticket_number);
set_bar_time();
}
else if (get_entry() == ENTRY_SELL)
{
if (is_order_open(g_ticket_number)) close_order(g_ticket_number, OP_BUY);
open_order(OP_SELL, Lot, g_ticket_number);
set_bar_time();
}
}
return (0);
}


Gracias de antemano ;)
anchuni
 
Mensajes: 17
Registrado: 29 Oct 2008, 17:53
Karma: 0

Re: ¿Alguien me ayuda a programar un EA?

Notapor anchuni » 08 Dic 2008, 23:19

En pocas palabras que me realice un hedge(una cobertura)
anchuni
 
Mensajes: 17
Registrado: 29 Oct 2008, 17:53
Karma: 0

Re: ¿Alguien me ayuda a programar un EA?

Notapor FXWizard » 09 Dic 2008, 10:54

Inciso: es posible subir al Foro código en Metatrader adjuntando el archivo correspondiente, lo digo para que no tengaís que andar pegando todo la parrafada de código.

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35

Re: ¿Alguien me ayuda a programar un EA?

Notapor WILL2008 » 25 Feb 2009, 02:13

Si alguien puede hacer un EA, con lo ssiguientes datos:
P = punto pivot (alta+baja+cierre)/3
n = distancia que existe entre el punto pivot y el cierre de la vela
Condiciones para la COMPRA
La vela debe ser bajista
(P-Cierre)> n
Condicion para la VENTA
LA vela debe ser alcista
(Cierre-P)> n
SL= n
TP= n
El EA ademas debe tener Trailing Stop,cantidad de lotes, max. lotes y otros que crean conveniente
Debe funcionar en TF de 5m,15m, ..... 1D
Un ejemplo : El 23/02/2009 00:00 en TF 4H GBP/USD dieron estos datos para una VENTA
Vela Alcista , Alta =1.4549, Baja= 1.4362, Cierre= 1.4538
Entoces el pivot=1.4483
Si colocamos que n=21 , entoces el EA debe abrir una operacion de VENTA, con SL, TP de 21
Gracias por su ayuda
William
WILL2008
 
Mensajes: 2
Registrado: 29 Abr 2008, 17:39
Karma: 0

AnteriorSiguiente

Volver a Expert Advisors

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados