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
Altura de la barra anterior
Hola,
Por favor, puede dar el código de la barra anterior.
Esto se puede utilizar en el EA para limitar la colocación de las órdenes cuando la barra anterior es más de cierta altura.
Saludos,
SIDDESH
Por favor, corregir mi código (EMA básica, STOC etc.)
Hola... soy nuevo aquí y nuevo en la codificación de mql4... he construido algunos códigos basados en condiciones específicas... espero que ustedes puedan ayudarme a corregir si hay algún error...
ok... empecemos
1) EMA CRUZADA
COMPRAR si:
- EMA 5 > EMA 18
- ambas líneas son ascendentes
- diferencia entre el precio actual y el anterior para EMA5 >= 10pips
actualmente estoy usando esto:
double EMA5 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 0);
double EMA5_prev = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 1);
double EMA18 = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 0);
double EMA18_prev = iMA(NULL, 0, 18, 0, MODE_EMA, PRICE_CLOSE, 1);
if (EMA5 > EMA18) {
if ( EMA5 - EMA5_prev >= 10 && EMA18 > EMA_prev) {
Order = BUY;
}
}
[/CODE]
2) RSI
double RSI = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 0);
double RSI_prev = iRSI(NULL, 0, 18, PRICE_CLOSE, Current + 1);
if (RSI > 50 && RSI > RSI_prev) {
Order = BUY;
}
[/CODE]
3) STOCH
Buy when the Oscillator (either %K or %D) falls below a specific level (e.g., 20) and then rises above that level. Sell when the Oscillator rises above a specific level (e.g., 80) and then falls below that level
[code]
double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
if (STOCH_K < 20 || STOCH_D < 20) {
Order = BUY;
}
* i think i've skipped the red one.. dont know how to do that part..
Buy when the %K line rises above the %D line and sell when the %K line falls below the %D line
[code]
double STOCH_K = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double STOCH_D = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
if (STOCH_K > STOCH_D) {
Order BUY;
} else
if {STOCH_K < STOCH_D) {
Order SELL;
}
4) En la codificación de Stoc, MODE_MAIN indica para qué? MODE_SIGNAL indica para qué?
5) ¿Cómo poner auto cierre y auto en el temporizador de EA?
por ejemplo: poner abrir a las 8am y cerrar a las 5pm
6) ¿Cómo poner deshabilitar EA en otro gráfico cuando se abre un puesto?
como usar un EA en 2 pares (GU y EJ) cuando un puesto en GU se abre entonces deshabilitar EA en EJ..
Lo siento si esta pregunta es muy básica... espero que ustedes puedan enseñarme... thx
Un Stoploss difícil - ¿puede ayudar con esto?
He montado un EA de tendencia. Cuando el beneficio alcanza un determinado nivel, quiero mover el stoploss para PARTE de los lotes abiertos, a ese nivel de beneficio. Dejaría el resto de los lotes (o movería el stoploss para el resto hasta el punto de equilibrio).
No estoy usando un Take Profit.
¿Cómo puedo codificar esto?
Gracias,
Big Be
... Cuando el beneficio alcanza un determinado nivel, quiero mover el stoploss para PARTE de los lotes abiertos, a ese nivel de beneficio. ..
¿Cómo puedo codificar esto?
Gracias,
Big BeNo puedes hacer eso a menos que tengas múltiples posiciones : puede haber sólo un SP/TP por posición. Pero puedes cerrar una parte de una posición: sólo tienes que poner el número de lotes que quieres cerrar en la función OrderClose(..).
Lo que también puedes hacer (depende de tu broker) es colocar un stop pendiente (hedge) para la parte que quieras : luego tienes que hacer un comando o función "CloseBy".
#Pregunta sobre la importación
Hola a todos
necesito calificar esta función de la API en MT4
int GetMouseMovePoints(
UINT cbSize // tamaño de la estructura MOUSEMOVEPOINT
LPMOUSEMOVEPOINT lppt, // puntero al punto de movimiento actual del ratón
LPMOUSEMOVEPOINT lpptBuf, // buffer para almacenar los puntos
int nBufPoints, // cuántos puntos puede almacenar el buffer
DWORD resolution // resolución de los puntos
);
por favor dime la clausula #import
gracias
hola a todos
es necesario calificar esta función de la API en MT4
int GetMouseMovePoints(
UINT cbSize // tamaño de la estructura MOUSEMOVEPOINT
LPMOUSEMOVEPOINT lppt, // puntero al punto de movimiento actual del ratón
LPMOUSEMOVEPOINT lpptBuf, // buffer para almacenar los puntos
int nBufPoints, // cuántos puntos puede almacenar el buffer
DWORD resolution // resolución de los puntos
);
por favor dime la clausula #import
graciasHe movido tu pregunta a este hilo.
¿Una operación por barra?
Sé que esto ha sido cubierto antes, pero ¿puede alguien mostrarme algún código para permitir sólo 1 comercio por barra?
Gracias.
Michel,
Gracias.
Me lo temía.
Ahora tengo que aprender a "divertirme con los números mágicos".
Big Be
¡¡¡Pregunta!!!
¿Cómo puedo codificar esto?
¡¡¡Si las 6 operaciones anteriores fueron una pérdida, he intentado esto, y no funciona!!!
int MTL;
extern MaxTradeLoss=6;
int start()
{
for(int b=0;b<MaxTradeLoss;b++)
{
if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol() && OrderProfit()<0)
{
MTL++;
}
}
}
MTL=0;
return(0);
}
¿Cómo puedo codificar esto?
¡¡¡Si las 6 operaciones anteriores fueron una pérdida, he probado esto, y no funciona!!!
int MTL;
extern MaxTradeLoss=6;
int start()
{
for(int b=0;b<MaxTradeLoss;b++)
{
if(OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderSymbol()==Symbol() && OrderProfit()<0)
{
MTL++;
}
}
}
MTL=0;
return(0);
}
su declaración MTL=0; más o menos establece MTL a cero sin importar lo que contó en el bucle "for". Esa línea debería estar antes del bucle "for" y no después.