Creando mi primer EA. Cambiar lote segun capital

Espacio para compartir y debatir sobre Asesores Expertos de MetaTrader

Creando mi primer EA. Cambiar lote segun capital

Notapor Eustaquio » 06 Ene 2018, 01:21

Buenas gente.

Soy algo novato en este mundillo (1 año) y recientemente me estoy metiendo de lleno en esto de hacer EAs.

El caso es que ya he elaborado mi EA. Entra y sale del mercado cuando deseo. Lo que me gustaria hacer ahora es que duplicase la cantidad del lotaje cuando se duplique la cantidad del dinero en la cuenta. POr ejemplo:

Empiezo con 500€ y 0.02 de lotaje.......cuando llegue a 1000€ quiero que el lotaje pase a 0.04 y asi sucesivamente.
En el caso de que perdiera y volviera a tener 500€ o menos pues meter el lotaje correspondiente a ese nivel, en este caso 0.02

Y no tengo mucha idea de como hacerlo. No pido que me escribais el codigo ehhh(aunque estaria bien, jajaja). Estoy aprendiendo a programar, tan solo que me digais que tipo de ordenes tengo que usar u alguna otra ayuda

Os dejo el backtesting que le he hecho a la estrategia. Me gustaria leer vuestra opinion (todo lo que sirva para mejorar)

Gracias por vuestro tiempo y Saludos
Adjuntos
prueba tester.pdf
(93.39 KiB) 131 veces
Eustaquio
 
Mensajes: 3
Registrado: 06 Ene 2018, 00:53
Karma: 0

Re: Creando mi primer EA. Cambiar lote segun capital

Notapor Hijodelacondesa » 15 Ene 2018, 10:09

Explica eso un poco. Tienes una EA ya programada que te lanza ordenes y kieres que estos se dupliquen cuando llegues a 1000€? Y se pongan a la mitad cuando llegues otra vez a 500€?
Hijodelacondesa
 
Mensajes: 4
Registrado: 13 Ene 2018, 08:25
Karma: 0

Re: Creando mi primer EA. Cambiar lote segun capital

Notapor Eustaquio » 15 Ene 2018, 23:21

Hola Hijodelacondesa, primero de todo agradecerte el interes. A ver si me puedo explicar con mas claridad...

VAmos a imaginar que parto con un balance de 1000 € y que mi lote inicial en la estrategia es con 0,1.
Según va trabajando el EA y llega a un balance de 2000 €, automaticamente la siguiente inversion la hara a 0,2 lotes
Si sigue bien la cosa y el balance se vuelve a duplicar, es decir, que llegue a 4000 € que el lotaje pase a ser de 0,4.
Si por lo que sea el balance bajase en este caso a 2000 € , que el lote cambie de nuevo a 0,2 y si continua bajando hasta los 1000€ en el balance que pase al lotaje inicial de 0,1

Con el tiempo que he podido investigar. he llegado a leer un articulo https://www.mql5.com/es/articles/3280 y he visto que lo que mas se acerca a mi money management es lo que llaman proporcion fija. Dejo a continuacion unas lineas de codigo:

bool CMoneyFixedRatioBase::UpdateLotSize(const string symbol,const double price,const ENUM_ORDER_TYPE type,const double sl=0)
{
m_symbol=m_symbol_man.Get(symbol);
double last_volume=m_volume;
if(CheckPointer(m_symbol))
{
double balance=m_equity==false?m_account.Balance():m_account.Equity();
m_volume=m_volume_base+((int)(balance/m_balance_inc))*m_volume_inc;
m_balance=balance;
}
return NormalizeDouble(last_volume-m_volume,2)==0;
}

Por cierto, no lo comente antes, pero mi idea era escribirlo en mql4 y este esta en mql5 ( o eso creo). No se si estas lineas de codigo me servirian...

Gracias de nuevo por vuestro tiempo y saludos
Eustaquio
 
Mensajes: 3
Registrado: 06 Ene 2018, 00:53
Karma: 0

Re: Creando mi primer EA. Cambiar lote segun capital

Notapor Nightmare » 16 Ene 2018, 15:55

haz pruebas con alguna de las 2

double miLotaje( double LoteFijo, double CapitalBase, double nRisk )
{
double LotMin = MarketInfo(Symbol(), MODE_MINLOT);
double LotMax = MarketInfo(Symbol(), MODE_MAXLOT);

double capBase = CapitalBase/nRisk;
double nroLotes = MathFloor( AccountFreeMargin()/capBase );
return NormalizeDouble( MathMin( LotMax, MathMax( nroLotes*LotMin, LotMin)), Digits );

}


-------------------------------------------------------------------------------------------

double GetLotSize(double lotFijo, double risk)
{
if (risk > 0.0)
{
double LotMin = MarketInfo(Symbol(), MODE_MINLOT );
double LotMax = MarketInfo(Symbol(), MODE_MAXLOT );
double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
double LotSize = MarketInfo(Symbol(), MODE_LOTSIZE);

double lote = MathFloor( 0.5+ MathMin(100, risk) / 100.0 * AccountFreeMargin() / LotStep / (LotSize / 100) ) * LotStep;
return( MathMax( LotMin, MathMin(LotMax, lote) ) );
}
else return(lotFijo);
}
Nightmare
 
Mensajes: 246
Registrado: 22 Feb 2017, 20:10
Karma: 5

Re: Creando mi primer EA. Cambiar lote segun capital

Notapor Hijodelacondesa » 16 Ene 2018, 16:45

Creo que eso que habéis puesto va más orientado a gestión de capital.
Mira esto...https://docs.mql4.com/account/accountbalance

double balance=AccountBalance();// obtenemos valor de la cuenta
int n=500;//Queremos que el cambio de lote sea cada 500€
int i=balance/n;//Se utiliza una variable int para quitar la mantisa y que quede un número entero
double numero_lote=0.1;//Suponiendo que trabajamos con minilotes
Int OrderSend(Symbol(), OP_BUY, numero_lote*ir,Ask, 3, stoploss, profit);//Se lanza la orden

Una cosa así.
Hijodelacondesa
 
Mensajes: 4
Registrado: 13 Ene 2018, 08:25
Karma: 0

Re: Creando mi primer EA. Cambiar lote segun capital

Notapor Nightmare » 16 Ene 2018, 20:49

entiendo que
por cada 1000-1999 libres en la cuenta tendra que usar 0.1 lotes.
si tienes 2000 -2999 usara 0.2
3000-3999 usa 0.3

en cuyo caso invocaras
tamLote = miLotaje( 0.1, 1000, 1 );

suerte
Nightmare
 
Mensajes: 246
Registrado: 22 Feb 2017, 20:10
Karma: 5

Re: Creando mi primer EA. Cambiar lote segun capital

Notapor Eustaquio » 17 Ene 2018, 01:59

Vale Nightmare y Hijodelacondesa, con esto tengo para entretenerme para este finde :mf_bookread:

Aprovechare para mirarme los distintos codigos que habeis puesto y asi ver las distintas ordenes y la funcion que tienen. Ya os ire comentando mis avances jeje.

Por cierto, que opinais del backtesting que hice?

Saludos gente y gracias :alabanza:
Eustaquio
 
Mensajes: 3
Registrado: 06 Ene 2018, 00:53
Karma: 0

Re: Creando mi primer EA. Cambiar lote segun capital

Notapor Hijodelacondesa » 17 Ene 2018, 09:28

Para que mi script funciones hay que sumarle 1 a i
Hijodelacondesa
 
Mensajes: 4
Registrado: 13 Ene 2018, 08:25
Karma: 0

Siguiente

Volver a Expert Advisors

¿Quién está conectado?

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