¿Cómo codificar? - página 55

 

Necesito que el EA copie para tener múltiples órdenes con las mismas condiciones

Hola.

Estoy buscando un EA que copie una orden pendiente y la haga muptiple con exactamente las mismas condiciones.

Por ejemplo, digamos que tengo una orden pendiente USD/JPY entry-stop vender 1 lote a 115.00, y quiero tener 5 órdenes iguales.

No quiero simplemente aumentar el tamaño de la operación, en lugar de tener múltiples posiciones con las mismas condiciones.

¿Existe un EA que haga tal cosa por mí?

También, probé e-Trailing.mq4 pero no pude colocar el trailing stop para múltiples órdenes.

Necesito colocar un trailing stop a 5 pips del precio actual, para múltiples órdenes abiertas.

¿Algún buen EA para ello?

Saludos

 

¿Quizás "Punto" indica cuál es la granularidad del movimiento del precio, que entonces para su ejemplo del EURJPY sería 0,001, y no lo que es la idea de "pips integrales" (0,01)? Puedes comprobarlo. Si ese es el caso, tal vez tenga que utilizar "(Punto*10)" en lugar de "Punto" en los cálculos.

¿O tal vez puedas aceptar simplemente que los "puntos" de los que hablan son una décima parte de los "puntos" a los que estás acostumbrado? Por ejemplo, ¿qué ocurre con el parámetro "slippage" de OrderSend? ¿se trata de los pips habituales o de pipetas?

 
ralph.ronnquist:
¿Quizás el "Punto" dice cuál es la granularidad del movimiento del precio, que entonces para tu ejemplo del EURJPY sería 0.001, y no lo que es la idea de "pips integrales" (0.01)? Puedes comprobarlo. Si ese es el caso, tal vez tenga que utilizar "(Punto*10)" en lugar de "Punto" en los cálculos. ¿O tal vez pueda aceptar simplemente que los "pips" de los que hablan son una décima parte de los "pips" a los que está acostumbrado? Por ejemplo, ¿qué ocurre con el parámetro "slippage" de OrderSend? ¿se trata de los pips habituales o de pipetas?

Gracias por la respuesta - No soy un codificador así que esto es un poco extraño para mí. Probé con Point*10 y eso hizo que el spread leyera 410 pips. También probé con Point/10 y eso hizo que la lectura del spread fuera de 4.0 pips, lo cual parece estar "redondeando" el número real que debería haber sido de 4.1 pips.

Tengo un script para enviar órdenes que tuve que modificar usando Point*10, pero parece que no puedo conseguir que la lectura del spread sea correcta.

Creo que esto se va a convertir en un problema para muchos Indicadores, Scripts y EA's, ya que he escuchado que muchos Brokers de MT4 podrían estar adoptando el concepto de pip fraccionario en sus plataformas.

Cualquier otro consejo sería apreciado.

Dan

 

Hola,

NorthFinance acaba de añadir otro dígito por lo que EUR/USD! es 1.47125

 
FXTradepro:
Gracias por la respuesta - No soy un codificador por lo que este es un poco extraño para mí. Probé con Point*10 y eso hizo que la lectura del spread fuera de 410 pips. También probé con Point/10 y eso hizo que la lectura del spread fuera de 4.0 pips, lo cual parece estar "redondeando" el número real que debería haber sido de 4.1 pips.

Tengo un script para el envío de órdenes que tuve que modificar usando Point*10, pero parece que no puedo conseguir que esta lectura de spread sea correcta.

Creo que esto se va a convertir en un problema para muchos Indicadores, Scripts y EA's, ya que he escuchado que muchos Brokers de MT4 podrían estar adoptando el concepto de pip fraccionario en sus plataformas.

Cualquier otro consejo sería apreciado.

Dan

No se preocupe. Según tengo entendido, el término "pips" ha crecido una definición relacionada con el tamaño del comercio, lo que significa que un movimiento de 1 pip de un comercio de 1 lote corresponde a una cantidad de valor conocido. El término "Punto" en MT4 significa más estrictamente la granularidad del movimiento del precio, es decir, la diferencia más pequeña que puede haber entre dos precios; o que cada precio Bid/Ask es algún número entero N veces el Punto.

Hasta ahora ha habido una traducción 1-1 entre pips y Point en MT4, pero eso ya no es así. En su lugar, para su broker, tiene 1 pip = 10 Point, y por lo tanto, si quiere que la variable "spread" esté en pips tendrá que usar la expresión "(Point*10)" donde antes usaba "Point". La expresión es sin las comillas dobles, pero *con* los paréntesis.

Para que quede muy claro en el código, también podrías añadir una función que proporcione la medida de pips adecuada:

double pips() { return ( Point * 10.0 ); }[/PHP]

and in that case, you would replace "Point" at all other places with the function call "pips()".

Alternatively, you let the program work with the Point granularity, and merely translate to pips when the spread value is presented. I.e. forget about using the pips() function above, but have the following function for translating a Points value to be a pips value:

double pips(int points) { return ( 1.0 * points / 10.0 ); }

Then the spread value component in the ObjectSetText call would be like:

[PHP]DoubleToStr( pips( Spread ), 1 )
 

Problema con el Punto

Ahora utilizo el siguiente código y sustituyo todas las apariciones de Point por myPoint.

Primero declaro una variable global

doble miPunto;

Luego añado la siguiente línea en la función Init

myPoint = SetPoint();

Luego añado la función

double SetPoint()

{

doble mPoint;

si (Dígitos < 4)

mPoint = 0,01

si no

mPoint = 0.0001;

return(mPoint);

}

Esto funciona tanto si el broker utiliza pips fraccionarios como si no.

Robert

 

Por favor, ayúdenme

¿alguien puede ayudarme?

Quiero experto 20_200 con trailing stop.

Por favor, poner a nadie.

Archivos adjuntos:
 

por favor

PANNEK:
¿alguien puede ayudarme?

Quiero experto 20_200 con trailing stop.

Por favor, poner a nadie.

poca ayuda

 
MrPip:
Ahora utilizo el siguiente código y reemplazo todas las ocurrencias de Point por myPoint.

Primero declaro una variable global

double myPoint;

Luego añado la siguiente línea en la función Init

myPoint = SetPoint();

Luego añado la función

double SetPoint()

{

doble mPoint;

si (Dígitos < 4)

mPoint = 0,01

si no

mPoint = 0.0001;

return(mPoint);

}

Esto funciona tanto si el broker utiliza pips fraccionarios como si no.

Robert

Realmente no se necesita una función, basta con ponerla en la función init():

myPoint = 0.0001; if (Digits < 4) myPoint = 0.01;
 

Nuevodigital

PANNEK:
¿alguien puede ayudarme?

Quiero expert 20_200 con trailing stop.

POR FAVOR pongan a alguien.

por favor ayuda NEWDIGITAL

Archivos adjuntos: