![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
@codersguru:
gracias por el gran esfuerzo ...![](https://c.mql5.com/forextsd/smiles/wink.png)
Después de adjuntar su EA(https://www.mql5.com/en/forum/173468/page7) en 4pair eur / usd, gbp / usd, usd / chf, gbp / jpy.... tres pares de inmediato comenzó el comercio abierto (gbp / usd, usd / chf, gbp / jpy) y todos ellos tienen buen resultado....
Yo no sé nada acerca de la programación ... pero sobre la base de este aconsejó:
Para que las flechas se inviertan, sólo hay que intercambiar los 2 números de flecha en el código, entonces el problema está resuelto. Compilar después para que tenga efecto en todos los gráficos que el indicador se aplica a Graham
Hago un pequeño cambio en el EA:
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
Para
if(línea1>línea2)dirección_actual = 2; //arriba
if(line1<line2)current_direction = 1; //down
Ayer, adjunté este EA a la cuenta demo de neuimex TF30 en cuatro pares.... y todos ellos tienen buen resultado a....![](https://c.mql5.com/forextsd/smiles/biggrin.png)
Voy a seguir adelante las pruebas de los EA para otros 2/3 semanas....
En la próxima modificación podría poner otro interruptor para que si los usuarios quieren hacer operaciones inversas en la cruz que pueden (como en si la EMA rápida va por encima de la lenta, usted hace una venta). En mi backtesting visual, parece menos rentable que ir con la cruz de inmediato y luego como las operaciones se hace más viejo en busca de un comercio inverso.
Otra idea que tenía era esperar una barra para tomar la operación después de la cruz (esto podría evitar los tiempos que la moneda se asoma a través de entonces va la otra manera)
Encontré otro programa de cruce de EMA en este sitio web que tenía algunas buenas ideas.
https://www.mql5.com/en/forum/173445
Codersguru,
Con respecto a la parte de MM del comercio.
Empezando con una cuenta de 10.000$:
(capital de la cuenta * % de riesgo)/ mayor pérdida = lotes para operar
(10.000* 10%)/ 50= 2 lotes
Esto es asumiendo que el SL es de 50pips.
Así que la cuenta tiene que ser ajustado cada comercio con esta fórmula.
Espero que esto ayude.
Pero antes de incorporar esta fórmula, por favor dígame qué tipo de
relación ganancia/pérdida y relación riesgo/recompensa esperas para este sistema.
Podemos entonces construir una vez que sabemos que.
En consecuencia, podemos ajustar el porcentaje de riesgo a 10 o 15%.
También su mayor pérdida típica será igual a su SL, ya que será el máximo que puede perder en cualquier comercio. El porcentaje de riesgo también tiene que tener en cuenta el máximo drawdown o las mayores pérdidas consecutivas para que podamos superar el drawdown.
Espero que esto ayude. Si alguien no está de acuerdo con este MM, por favor, señálelo para que podamos mejorar.
Los resultados que obtenemos en un backtest suelen tomar una operación estándar de 1 lote para cada operación. Así que si incorporamos MM, el crecimiento de la equidad se multiplica por varias veces. Esa es la magia de la gestión de la movilidad.
La mayoría de la gente se concentra en encontrar los mejores sistemas, pero el verdadero santo grial es la gestión de la movilidad. Puedes convertir un sistema medio en un súper sistema mediante la propia gestión de la movilidad.
Como había señalado en mi anterior post, el siguiente ejemplo lo hará evidente.
ganar - 74%
Sin la gestión del dinero
Equidad inicial - 20.000 $
Equidad final - 251.813 $.
Con MM
capital inicial - 30.000 $
Patrimonio final - 582.930.624 $$$$$$$$$$$$$$$
Así es, son 5,82 millones de dólares.
Los valores son teóricos, pero el mensaje es bastante claro.
@codersguru:
gracias por el gran esfuerzo ...![](https://c.mql5.com/forextsd/smiles/wink.png)
Después de adjuntar su EA(https://www.mql5.com/en/forum/173468/page7) en 4pair eur / usd, gbp / usd, usd / chf, gbp / jpy.... tres pares de inmediato comenzó el comercio abierto (gbp / usd, usd / chf, gbp / jpy) y todos ellos tienen buen resultado....
Yo no sé nada acerca de la programación ... pero sobre la base de este aconsejó:
Hago un pequeño cambio en el EA:
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
Para
if(línea1>línea2)dirección_actual = 2; //arriba
if(line1<line2)current_direction = 1; //down
Ayer, adjunté este EA a la cuenta demo de neuimex TF30 en cuatro pares.... y todos ellos tienen buen resultado a....![](https://c.mql5.com/forextsd/smiles/biggrin.png)
Voy a seguir adelante con las pruebas de los EA durante otras 2/3 semanas....Has invertido la dirección del cruce, EMA CROSS funcionará en ambas direcciones pero originalmente se basa en tomar la dirección inversa del mercado.
Nueva versión
En primer lugar, quiero daros las gracias a todos por vuestras participaciones y útiles comentarios
En segundo lugar, he actualizado el asesor experto EMA CROSS a la versión 2.![](https://c.mql5.com/forextsd/smiles/face.png)
¡Espero que os sea útil!Trato de hacer la parte de atrás de 1 y 2 codersguru ea, la prueba en eur / usd, D1 se abre .5 lote. No se que es lo que he hecho, he perdido el resultado de la prueba en la cuenta de demostración durante 1 semana y ha subido 1025$.
Una pregunta
Hola codersguru y todos los miembros
Tengo una pregunta y soy novato en forex.
¿Podemos utilizar un EA en línea? o debemos estar en línea para el uso de un EA?
Gurú de los codificadores
He mirado rápidamente la codificación de su nueva versión y tengo algunas preguntas sobre el código.
La primera tiene que ver con este bloque de código de abajo;
static int TimeFrame;
...
...
...
int init()
{
TimeFrame=Period();
return(0);
}
...
...
...
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
if(TimeFrame!=Period())
{
TimeFrame=Period();
return (0);
}
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
...
...
...
[/CODE]
What is the purpose of the TimeFrame Parameter in this content?
The second code block that is giving me some questions is the purpose of the function isNewSymbol?
[CODE]
bool isNewSumbol(string current_symbol)
{
//loop through all the opened order and compare the symbols
int total = OrdersTotal();
for(int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
string selected_symbol = OrderSymbol();
if (current_symbol == selected_symbol)
return (False);
}
return (True);
}
...
...
...
total = OrdersTotal();
if(total < 1 || isNewSumbol(Symbol()))
{
if(isCrossed == 1)
...
...
...
Sé que estáis muy ocupados, pero ¿podríais explicar el propósito de estos y por qué son necesarios?
Gracias por su tiempo,
The CockeyedCowboy
¡Bloques de código!
Coders Guru
He mirado rápidamente la codificación de su nueva versión y tengo algunas preguntas sobre el código.
La primera tiene que ver con este bloque de código de abajo;
static int TimeFrame;
...
...
...
int init()
{
TimeFrame=Period();
return(0);
}
...
...
...
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
if(TimeFrame!=Period())
{
TimeFrame=Period();
return (0);
}
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
...
...
...
[/code]
What is the purpose of the TimeFrame Parameter in this content?
The second code block that is giving me some questions is the purpose of the function isNewSymbol?
[code]
bool isNewSumbol(string current_symbol)
{
//loop through all the opened order and compare the symbols
int total = OrdersTotal();
for(int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
string selected_symbol = OrderSymbol();
if (current_symbol == selected_symbol)
return (False);
}
return (True);
}
...
...
...
total = OrdersTotal();
if(total < 1 || isNewSumbol(Symbol()))
{
if(isCrossed == 1)
...
...
...
Sé que estáis muy ocupados, pero ¿podríais explicar el propósito de estos bloques y por qué son necesarios?
Gracias por su tiempo,
The CockeyedCowboyCockeyedCowboy,
Utilicé el primer bloque de código para estar seguro de que el cambio del período del gráfico no afectará al programa.
Por ejemplo: si usted adjuntó el asesor experto al gráfico M30 y la línea de la EMA corta estaba por encima de la línea de la EMA larga en el gráfico M30, entonces usted hizo clic en el botón D1 y cambió el marco de tiempo al marco de tiempo diario y el usted no tuvo suerte y la línea de la EMA corta en el gráfico D1 estaba por debajo de la EMA larga en este gráfico. El asesor experto lo considerará un cruce y abrirá una operación. Pero con el código anterior le doy la oportunidad de recordar el último marco de tiempo y esperar otro tick.
Utilicé el segundo bloque de código para comprobar las operaciones abiertas actualmente y evitar que el asesor experto opere en el mismo par dos veces.
Gracias.
Trato de hacer la parte de atrás de 1 y 2 codersguru ea, la prueba en eur / usd, D1 se abre .5 lote. No se que es lo que he hecho, he perdido el resultado de la prueba en la cuenta demo durante 1 semana y ha subido 1025$.
Audio,
Muchas gracias
, espero verte haciendo 1025 x Millón en una cuenta real también pronto.