¡Pide! - página 71

 

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

SaxMan:
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.

SaxMan

Aquí 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:

double range[2000];

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);///

Dave <<<<
 

Hola,

int start()

{

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.

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.

He pasado semanas tratando de entender este código. No estoy bromeando. Así que, ¿alguien que haga codificación en mql4 me ayudará?

---Julia---

 
iscuba11:
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);///

Dave <<<<

Hola Iscuba11,

ver el código para arreglar y explicar

extern bool Direction_Up=true; //-- bool with a lower case "b"

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:

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+30*Point,3,0,0,NULL,1,0); OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-25*Point,3,0,0,NULL,1,0);

¡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.

¡Que tengas un fin de semana bendecido!

Sinceramente,

Dave

<<<
 

¿Cómo se puede utilizar ObjectCreate en un indicador-ventana separada frente a la ventana gráfica???? ¡Esto sería muy útil!

Dave <<<<
Razón de la queja: