Detección de 5 dígitos - página 5

 
jjc:
...Si usted está construyendo un sistema para que otras personas lo usen, no sólo para usted, entonces la capacidad de introducir valores en pips es una consideración importante para la facilidad de uso. El apostador medio sabe lo que quiere decir con 50 pips, pero tiene que pensar mucho, y comprobar dos veces, si quiere decir un valor de 0,005 en lugar de 0,0005 o 0,05 o lo que sea....

Sí, eso es lo que dije "La definición parece importante para un desarrollador que quiera programar un programa comercial estándar y quiera que el usuario tenga la flexibilidad de imputar exactamente cuántos dólares quiere arriesgar". No estoy de acuerdo con que el apostador medio sepa lo que quiere decir con 50 pips. A la gente le gusta pensar en dólares o en unidades estándar de su moneda base. Podría enumerar mi experiencia personal de cómo he ido de un lado a otro en la definición de un pip / punto, pero que podría conseguir largo.

Si usted no es un SUPER programador con AÑOS de experiencia en Forex bajo su cinturón, no tiene sentido tratar de codificar un programa comercial de aplicación universal para los usuarios finales. Cuando alguien compra un EA, espera por encima de todo que sea rentable. Luego, en segundo lugar, esperan que el programa sea Flexible más allá de la creencia. Como el comando para cerrar todas las órdenes b4 fines de semana y me permiten especificar la cantidad de dinero que quiero arriesgar, etc. Como todos sabemos, es bastante difícil programar cualquier EA rentable sin hacerlo estático a un marco de tiempo o moneda, etc.

Pero aquí usted está tratando de programar un EA comercial para el promedio de Joe que escuchó acerca de 2% de riesgo y "no el comercio durante los fines de semana". Y quieren especificar exactamente 20$ de pérdida en GBP/JPY mientras su moneda base está en USD. El sistema fue diseñado para utilizar un porcentaje de ATR cualquier pip / puntos o dólares que puede ser. Ahora todo el sistema está roto, ya que no cumplirá con las expectativas del usuario final # 1 rentable. Sin embargo, si alguien está haciendo una herramienta para los usuarios finales para jugar, eso es una historia diferente.

IMO, si yo / yo mismo / personalmente iba a hacer un sistema que quería que mi tía o Lil Brother para el comercio. Lo haría tan poco flexible como fuera posible, ya que lo único que podrían especificar sería el porcentaje de riesgo y cualquier otro perímetro para el que el programa no estuviera diseñado sería rechazado, por ejemplo, si se especifica un marco temporal o una divisa incorrecta. Es cierto que la mayoría de los sistemas comerciales que existen permiten a los usuarios especificar en Pips. El programador no puede ser responsable si el usuario final comete errores como "oh, yo sólo quería 100 dólares de riesgo, pero terminó con 1000 dólares". Ha introducido stops de 100 pips pero apalancado a 1000:1. A menos que vayas a alertar de cada giro y advertencia dentro de tu programación, no tiene remedio.

 
andydcoles:

Lo único para lo que MQL4 utiliza los Pips es para codificar el valor del Spread en las solicitudes de órdenes. Todo lo demás se especifica en términos de tasa. Una alternativa a considerar es utilizar las diferencias de tipos de cambio como parámetros de entrada para T/P, S/L, etc. Por ejemplo, especifique 0,0050 para un S/L de 50 pips. Esto funciona independientemente de los Dígitos, y sólo es necesario escalar por 100 cuando se detecta "JPY" en Symbol() como moneda de cotización. Esto es viable para los 21 pares principales (todas las combinaciones de USD, EUR, GBP, JPY, CHF, CAD, AUD) y probablemente también para los pares menores (que pocos operan debido a los mayores spreads). Si usted está realmente preocupado por la "prueba de balas", usted podría suministrar una cadena de divisas y el multiplicador como parámetros de entrada (como JPY y 100). Esto se puede ampliar para los exóticos también con diferentes corredores.

Realmente creo que esto es en gran medida un punto mudo con la mayoría de los codificadores MQL4; cuando se implementan con éxito y la depuración de un algoritmo de comercio rentable, que va a utilizar en su propia cuenta real. Pocos querrán venderlo o regalarlo porque el mercado probablemente se ajustará para contrarrestar el algoritmo.

Gracias por tu respuesta Andy. Pero ya tengo las funciones resueltas. Mirando hacia atrás en mis últimos mensajes sé que yo estaba un poco obsesionado bout la cosa de la presa en ese momento :). Supongo que estaba buscando más el cálculo subyacente de Point, TickSize, etc más que 'bullet proofing' mi código. 7bit comenzó el hilo buscando una manera de detectar el precio de 5 dígitos programáticamente. Y consecuentemente creció para encontrar/explorar las definiciones de las variables predefinidas de MarketInfo-s. De nuevo gracias por tu aportación.
~cameo

 

If you are building a system for other people to use, not just for yourself, then the ability to enter values in pips is a major ease-of-use consideration. The average punter knows what they mean by 50 pips, but has to think quite a lot, and double-check, whether they mean a value of 0.005 rather than 0.0005 or 0.05 or whatever. The ability to enter parameters in pips matches how most end-users think in the forex world, and reduces errors. It also offers the prospect of being able to use the same parameter values on 2/3 and 4/5 digit symbols. I don't have much exposure to the mass-market commercial EAs, but I've never seen one where such parameters were entered as a price differential rather than a pip value.

@Jjc : Me alegro de que alguien esté de acuerdo conmigo en esto :). Me quedo con la facilidad de uso y la reducción de errores en cualquier momento :)

Esto. Personalmente no trabajo en pips, trabajo en puntos. Todos los datos de los precios se dan en puntos. La diferencia entre dos valores de precios está en puntos. Mi stoploss y mi punto de salida están en puntos... son un precio de mercado específico. La noción de pips es interesante, pero como la mayoría de los aquí presentes pueden atestiguar, una vez que se trata de unir la noción de pips a la de puntos, se pierde el rigor y la solidez, ¿y para qué? [...]

@Phil : Puedo apreciar las diferentes formas de calcular los parámetros de los precios, tanto las tuyas como las de los demás. Tenemos nuestras propias preferencias por qué cambiarlo si no lo consideramos necesario... Mi objetivo, como bien sabes, es explorar los cálculos subyacentes de MarketInfo para ser utilizados en diferentes instrumentos y corredores. Su método de usar el precio es ciertamente una manera robusta viable.

Si no eres un SUPER programador con AÑOS de experiencia en Forex bajo tu cinturón, no tiene sentido tratar de codificar un programa comercial aplicable universalmente para los usuarios finales. Cuando alguien compra un EA, espera por encima de todo que sea rentable. Luego, en segundo lugar, esperan que el programa sea Flexible más allá de la creencia. Como el comando para cerrar todas las órdenes b4 fines de semana y me permiten especificar la cantidad de dinero que quiero arriesgar, etc. Como todos sabemos que es lo suficientemente difícil de programar cualquier EA rentable sin hacerlo estático a un marco de tiempo o moneda, etc.

@Ubzen : ¡Lols! Usted no tiene que ser un 'programador SUPER'. Confía en mí. Y aunque es una posibilidad, para mí la solución no era para ser utilizado para un programa comercial o para ser 'flexible más allá de la creencia'. Sólo quiero probar mis estrategias en diferentes plataformas e instrumentos sin la necesidad de ajustar y volver a comprobar los parámetros.

En cuanto a los pips frente al dólar, puedo ofrecer una analogía con la que probablemente estés familiarizado:

Digamos que quiero apostar en un nuevo casino. Llevo 5000 dólares de capital y estoy dispuesto a arriesgar el 2% de mi capital. Pero la casa proporciona fichas en Puntos. Los dólares en juego se convierten en fichas de Puntos, que se denominan en 0,0001, 0,0005, 0,001, etc. ¡No sólo eso, la siguiente mesa requiere 10 veces la cantidad de fichas denominadas en una décima parte de la mesa anterior, Y añadir que el color de las fichas no es tan fácil de hacer! Ok... estoy exagerando un poco :)) pero se entiende lo que quiero decir (juego de palabras no intencionado). Los dólares o la moneda base no son universales, mientras que los pips sí lo son. Los pips son más fáciles coz no es una fracción y mirando a cualquier tipo de gráficos e instrumentos si vemos x pips de ganancia / pérdida que rápidamente IMHO puede evaluar y comparar.

PS : He editado y añadido este post mucho.... ¿por qué volver a leer algunos de mis mensajes a veces se sentía mal?

 

Ahora utilizo las funciones de abajo, y es utilizable a través de diferentes corredores e instrumentos.

double vPoint; 
if(Digits == 2 || Digits == 4) vPoint = Point; else
if(Digits == 3 || Digits == 5) vPoint = Point*10; // I use this for my indies; call once on init() & use where Point supposed to be used in start() 

double Poin() 
{ 
   int d = Digits;
   switch(d){
   case 2 : {return(Point); break;}
   case 4 : {return(Point); break; }
   case 3 : {return(Point*10); break;}
   case 5 : {return(Point*10); break:}
   default : return;
} // I just come up with this. Untested but should be ok/robust. To be used to replace Point for trade parameters calculations. 

saludos, ~ cameo

 

hace poco necesitaba esto así que lo codifiqué. aquí está mi solución:

//mi observación es que el 1% del subyacente es alrededor de 100 pips.

/un 'Punto' es la unidad incremental más pequeña.

//así que, simplemente calculo el número de puntos que es de potencia de 10 para el 1% del subyacente.

//esa cantidad de puntos es 100 pips.

double CantidadPor100Pips()

{

int k=3;

while (MathRound((Oferta*0.01)/(Punto*MathPow(10, k)))==0)

{

k--;

}

//Comentario("1%=", DoubleToStr(Bid*0.01, 5), "-", DoubleToStr(Point*MathPow(10, k), 5), " por 100 pips");

return(Punto*MathPow(10, k));

}

 
ubzen:

...Los tipos medios que han oído hablar del "2% de riesgo" y de "no operar durante los fines de semana"...


Olvidaste "la tendencia es tu amiga" - ¡intenta encajar eso en una estrategia de rango...!

Tienes mucha razón, los complementos o las funciones (percibidas) "agradables de tener" pueden no ayudar y a menudo perjudican la estrategia que el EA necesita seguir para ganar dinero

-BB-

 
jesuscheung:

hace poco necesitaba esto así que lo codifiqué...


Este código funciona en realidad sólo para las monedas cotizadas más pequeñas que 0,01 Ticks. Poniendo Dow (TickSize 1) o Ger30 (TickSize 0.5) no funciona.
 

cameofx: Digamos que quiero apostar en un nuevo casino. Llevo 5000 dólares de capital y estoy dispuesto a arriesgar el 2% de mi capital. Pero la casa proporciona fichas en Puntos. Los dólares en juego se convierten en fichas de Puntos, están denominados en 0,0001, 0,0005, 0,001, etc. ¡No sólo eso, la siguiente mesa requiere 10 veces la cantidad de fichas denominadas en una décima parte de la mesa anterior, Y añadir que el color de las fichas no es tan fácil de hacer! Ok... estoy exagerando un poco :)) pero se entiende lo que quiero decir (juego de palabras no intencionado). Los dólares o la moneda base no son universales, mientras que los pips sí lo son. Los pips son más fáciles coz no es una fracción y mirando a cualquier tipo de gráficos e instrumentos si vemos x pips de ganancia / pérdida que rápidamente IMHO puede evaluar y comparar.

Woah, una analogía de casino. Yo había perdido totalmente que uno lol. Ok, puedo entenderlo. Digamos que Joe entra en un nuevo casino, en lugar de $5000 vamos a hacer las matemáticas simples y decir $100. Le entrega a la hermosa crupier 100 dólares Benjamin Franklin y la encantadora crupier le pregunta amablemente: "Señor, ¿cómo quiere que se lo devuelvan? El hombre medio está totalmente confundido. Su siguiente pregunta es: "¿Cuánto cuesta el rojo, el verde y qué quiere decir con mitad y mitad? Aquí es donde ella sonríe, se echa el pelo hacia un lado y baja los hombros con un suspiro porque sabe que está tratando con un novato. Si estoy sentado al lado de Average Joe, miro a mi alrededor en busca de las camareras de cola de gallo. Ella empieza a meter la mano en la bandeja y levanta una ficha proclamando "esta es una ficha roja, vale 0,0001 puntos".....(¡qué!! ¿es esto un casino de verdad, pero vamos a seguirle la corriente).... El ciudadano medio sigue confundido, y yo también lo estaría. Exclama: "Sí, pero cuánto es en dólares". Y ella le responde: "Son 5 dólares, señor", "y los verdes son 25 dólares" y "medio y medio significa 2 verdes y 10 rojos".

Ahora los puntos se van totalmente por la ventana, el tipo medio se fija en los colores. Así es como la casa te pilla, hasta un mono puede distinguir los colores. El Tío del Montón, queriendo parecer guay, dice: "Bueno... dame la mitad y la mitad entonces... bonita mamá". Yo al lado de este tipo, tengo la sonrisa más brillante para no reventar de risa. De todos modos, es el momento de apostar y Average Joe está pensando en un 2% que quiere permanecer en esta mesa el mayor tiempo posible. O_o, necesita 2$, así que le pregunta a la crupier "¿hay fichas de 2$?" y ella le dice "sí, las blancas son de 1$ y las rosas de 2,50$ ¿quieres alguna?". Él dice "Sí". Ella dice "dame 2 rojas y te daré 10 blancas" (no te va a dar todas las blancas de su bandeja... las necesita para convertir... pero espera que empieces a dar propina).

¡Bien!, volvemos a apostar. En ese momento Joe Medio pone 2 fichas blancas en la mesa. Esto hace que el crupier se congele. Le mira, gira el cartel hasta un ángulo visible y le dice "es una mesa mínima de 5 dólares, señor". "La mesa mínima que ofrecemos en este casino es la de 3 dólares, donde" continúa "está justo ahí donde el tipo Buff está repartiendo". El tipo se lo piensa un segundo, (2$ vs 3$....Gorgeous vs Fabillio allí) "nah, vamos a jugar a las cartas, exclama" saca sus 2 blancas y tira 2 rojas allí.

Si esto hubiera sido un Casino Japonés, el formato seguiría siendo el mismo, excepto que habría tardado más en explicar cuánto vale un punto.

 
1005phillip:

Esto. Personalmente no trabajo en pips, trabajo en puntos. Todos los datos de precios se dan en puntos.

Eso significa que cada vez que cambias de broker, (o si el broker cambia repentinamente como hizo IBFX hace varios meses) tienes que recordar cambiar todos los parámetros de tu EA en consecuencia. Como el deslizamiento, 3 o 30 puntos.

Y cuanto vas a perder si te olvidas de uno o peor lo cambias de forma incorrecta.

Es mucho más fácil definir los parámetros de tipo no porcentual en pips y convertirlos en puntos o dobles cuando sea necesario.

 
WHRoeder:

Eso significa que cada vez que cambies de broker, (o si el broker cambia repentinamente como lo hizo IBFX hace varios meses) tienes que recordar cambiar todos los parámetros de tu EA en consecuencia. Como el deslizamiento, 3 o 30 puntos.

Y cuanto vas a perder si te olvidas de uno o peor lo cambias de forma incorrecta.

Es mucho más fácil definir los parámetros de tipo no porcentual en pips y convertirlos en puntos o dobles cuando sea necesario.


En realidad es exactamente lo contrario. Mis EAs están codificados para ser lo suficientemente general que puedo dejarlos en básicamente cualquier corredor MT4 con cualquier combinación de dígitos, etc, y la mecánica de la negociación y la estrategia son agnósticos a los parámetros específicos del corredor subyacente. Es cuando empiezas a programar con parámetros mal definidos como "pips" que abres la puerta a los problemas.

Lo que me parece interesante es que si usted ya tiene una estrategia que se basa en los indicadores o algún cálculo matemático que implica los precios del mercado para la determinación de stoploss y tomar ganancias - ya sea ATR o RSI o los niveles de resistencia, etc - básicamente cualquier cosa que no sea el trivial "Quiero un fijo 30 pip trailing stop" entonces usted no tiene absolutamente ninguna necesidad de estar trabajando con pips en el primer lugar.

Hacer las cosas con pips fijos - por ejemplo, 25 pip takeprofit o 50 pip stoploss - para mí simplemente tonto porque el mercado simplemente no funciona de esa manera por lo que realmente no se puede esperar ser rentable tratando de tomar dinero de ella mediante la operación de una estrategia comercial de esa manera. Todo está por encima de movimientos porcentuales, niveles de resistencia, etc. Cosas que se definen por el precio, no por los pips.

Sólo mi opinión, podría ser totalmente errónea.

(PD - tu ejemplo de los cambios de IBFX es un caso perfecto, a mis EA's no les importó que IBFX hiciera sus cambios. Otro es FXDD que recientemente este verano cambió a 5 dígitos en uno de sus servidores de demostración, ni siquiera me di cuenta de esto o saber que sucedió hasta que estaba revisando los números trimestrales y me di cuenta de que los feeds de precios habían cambiado)

Razón de la queja: