![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
Preguntas y respuestas
Hola a todos,
Pensé que tenía mis respuestas con el siguiente código:
double range[5];
for(int i=1;i<5;i++)
{
range={High-Low};
int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);
double MaxRange=(High[Max]-Low[Max])/Point;
}
Print("Max Range: ",MaxRange," found at index: ",Max);
Pero sigue devolviendo sólo el último índice no el mayor índice del rango.
Cualquier otra ayuda se agradecería.
SaxMan
Error corregido
Hola a todos,
Pensé que tenía mis respuestas con el siguiente código:
double range[5];
for(int i=1;i<5;i++)
{
range={High-Low};
int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);
double MaxRange=(High[Max]-Low[Max])/Point;
}
Print("Max Range: ",MaxRange," found at index: ",Max);
[/code]
But it still just returns the last index not the largest range index.
Any further help would be appreciated.
SaxManAquí está la solución:
[código]
doble rango[5];
for(int i=1;i<5;i++)
{
range={Alto-Bajo};
int Max=ArrayMáximo(rango);
double MaxRange=(Alto[Max]-Bajo[Max])/Punto;
}
Print("Rango Máximo: ",RangoMáximo," encontrado en el índice: ",Máximo);Esto podría utilizarse para obtener el más alto/más bajo (usando ArrayMinimum(range)) del array para comparar cualquier variable.
Espero que esto ayude,
SaxMan
El mismo código con adiciones
Añadido:
* Rango mínimo
* Líneas verticales para resaltar las barras de rango Máximo y Mínimo:
for(int i=1;i<2000;i++)
{
range={High-Low};
int Max=ArrayMaximum(range,WHOLE_ARRAY,1);
int Min=ArrayMinimum(range,WHOLE_ARRAY,1);
double MaxRange=(High[Max]-Low[Max])/Point;
double MinRange=(High[Min]-Low[Min])/Point;
}
Print("Max Range: ",MaxRange," pips found at index: ",Max);
Print("Min Range: ",MinRange," pips found at index: ",Min);
int time1=Time[Max];
int time2=Time[Min];
ObjectCreate("stats1",OBJ_VLINE,0,0,0);
ObjectSet("stats1", OBJPROP_TIME1, time1);
ObjectSet("stats1", OBJPROP_COLOR, Red);
ObjectSet("stats1", OBJPROP_WIDTH, 1);
ObjectCreate("stats2",OBJ_VLINE,0,0,0);
ObjectSet("stats2", OBJPROP_TIME1, time2);
ObjectSet("stats2", OBJPROP_COLOR, Blue);
ObjectSet("stats2", OBJPROP_WIDTH, 1);El código cumple, pero no muestra el valor
extern Bool Dirección_Arriba=true;
if(Direction_Up==true) Dir="UP"; ///////////Esta conversión es incorrecta - ¿Cómo la convierto a la sintaxis adecuada????
ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Dir", 10, "Arial", White);///////////Esto es incorrecto - ¿Cómo hago para que aparezca UP en la pantalla????
ObjectSet("Dir", OBJPROP_CORNER, 1);
ObjectSet("Dir", OBJPROP_XDISTANCE, 36);
ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///
Hola,
{
int i;
if ((Year() >= X) && (Month() >= Y))
{
Comment("===========",expired,"===========");
return(0);
}
GetPosition = StrToTime(StrGetPosition);
StartOrderTime = StrToTime(StrStartOrderTime);
EndOrderTime = StrToTime(StrEndOrderTime);
return(0);
Mi pregunta es :
¿se ejecutará GetPosition, StartOrderTime, EndOrderTime?
Saludos
Preguntas
Hola,
Un amigo mío me habló de este sitio. Me dijo que tienen los mejores programadores de mql.
Aquí hay una:
Si pongo un código, por ejemplo....para comprar a las 15:30(la mayor parte de la hora de las noticias), he comprobado el calendario económico.![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
if (Hour()==15)
{
if (Minute()>=30)
{
if (Seconds()>=00)
[/PHP]
After this, something like this goes:
[PHP]
OrderSend(Symbol().......................
Cada uno lo escribe diferente, jeje.
¿Por qué no puede ser igual?
Bien, el asunto es el siguiente. Para el código anterior, quiero que el OrderSend........ y la parte que continúa creen un BuyStop 30 pips por encima del precio a las 15:30:00, y un SellStop 25 pips por debajo del precio a las 15:30:00.
Le pregunté a mi mejor amiga y me dijo que les preguntara a ustedes. Así que, realmente espero que ustedes sean de gran ayuda.![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
He pasado semanas tratando de entender este código. No estoy bromeando. Así que, ¿alguien que haga codificación en mql4 me ayudará?
---Julia---
extern Bool Direction_Up=true;
if(Direction_Up==true) Dir="UP"; ///////////Esta conversión es incorrecta - ¿Cómo la convierto a la sintaxis adecuada????
ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Dir", 10, "Arial", White);///////////Esto es incorrecto - ¿Cómo hago para que aparezca UP en la pantalla????
ObjectSet("Dir", OBJPROP_CORNER, 1);
ObjectSet("Dir", OBJPROP_XDISTANCE, 36);
ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///
Hola Iscuba11,
ver el código para arreglar y explicar
string Dir; //-- Dir has to be declared as a string
if(Direction_Up==true) Dir="UP";
ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Dir",Dir, 10, "Arial", White); // -- you left out the text to print - you named the object only.
ObjectSet("Dir", OBJPROP_CORNER, 1);
ObjectSet("Dir", OBJPROP_XDISTANCE, 36);
ObjectSet("Dir", OBJPROP_YDISTANCE, 120);Espero que esto ayude,
SaxMan
¿Semanas?
MQL4: comercio automatizado de divisas, probador de estrategias e indicadores personalizados con MetaTrader
buscar OrderSend() - docs
Cotización
OrderSend - Documentación MQL4
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
symbol - Símbolo de la operación.
cmd - Tipo de operación. Puede ser cualquiera de la enumeración de operaciones de comercio.
volumen - Número de lotes.
precio - Precio preferido de la operación.
slippage - Desplazamiento máximo del precio para las órdenes de compra o venta.
stoploss - Nivel de stop loss.
takeprofit - Nivel de take profit.
comment - Texto del comentario de la orden. La última parte del comentario puede ser modificada por el servidor.
magic - Número mágico de la orden. Puede ser utilizado como identificador definido por el usuario.
expiration - Tiempo de expiración de la orden (sólo para órdenes pendientes).
arrow_color - Color de la flecha de apertura en el gráfico. Si el parámetro falta o tiene el valor CLR_NONE la flecha de apertura no se dibuja en el gráfico.
Así que en nuestro caso tenemos esto:
¡Eso es todo!
No hay stoploss, ni takeprofit.
Por favor, tenga en cuenta: su broker (muy probablemente) no aceptará nuevas órdenes a las 15:30, ni siquiera sueñe con ello. Sí, funcionará en la demo pero no en la cuenta real - no en cualquier momento antes de 5 minutos antes de las noticias y no menos de 3 minutos después de las noticias.
Utilice los motores de búsqueda
Google
¡Yahoo!
y otros.
PS:
si quieres que escriba un EA para ti, PM mí.
Me has alegrado el día y el fin de semana con la corrección del código. Muchas gracias.
Sinceramente,
Dave
<<<¿Cómo se puede utilizar ObjectCreate en un indicador-ventana separada frente a la ventana gráfica???? ¡Esto sería muy útil!