[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 18

 
artmedia70:

Una pregunta similar se ha planteado y respondido aquí antes (no recuerdo quién la respondió). Para que no tengas que buscarlo, aquí lo tienes:

-----------------------------------------
¿Cómo puedo calcular, en función de los fondos disponibles y del lote, cuántos puntos (en puntos) puede ir el precio en negativo?
fórmula de enlace: Lote=Dinero/(Grapas*Tick)
Dinero - ganado/perdido
Stoplos - pips del broker
Tick - MarketInfo( MODE_TICKVALUE)
A partir de aquí, tuerce como quieras:
Stopplus=Dinero/(Lote*Tick)
Dinero=Lote*Stopplus*Tick
-----------------------------------------
Ahora, en base a las fórmulas anteriores, haz lo que necesites...




Gracias. Voy a reflexionar. Se agradecerían más opciones
 
vovan-gogan:

Gracias. Voy a reflexionar. Se agradecerían más opciones

1. El riesgo por operación era del 10% del depósito,

2. Que el 10 por ciento caiga dentro de la distancia de la SL

3) Este 10% debería incrementarse en un 50% después de cada operación perdedora.

Por ejemplo, el depósito es de 10.000 USD, el riesgo para una operación con un determinado SL conocido debe ser de 1.000 USD. Si la operación es deficitaria, la siguiente deberá arriesgar 1500, la siguiente 2000, etc. Y en la primera operación rentable el riesgo vuelve inmediatamente al nivel inicial del depósito: 10%. ¿Cómo se puede aplicar en el programa?

Conocemos los tres componentes que necesita. Ahora sólo hay que hacer las cuentas y comprobar la admisibilidad.

1. ¿Conocemos el depósito? Puede calcular el riesgo en dinero: Depo/100*Porcentaje de riesgo. El Tick se toma de aquí: Tick = MarketInfo(Symbol(), MODE_TICKVALUE); El Stop Loss lo conocemos.

2) Lote para abrir la posición = Riesgo en dinero / (Stop Loss en pips * Tick)

3. Si quieres aumentar el riesgo, recalcula el Riesgo en dinero (tercer punto anterior) por el porcentaje de riesgo aumentado...

 
DDFedor:

1. Sabemos que los ejemplos se encuentran en el código base.

2. Sabemos que la extensión del archivo de la biblioteca es mqh.

3. Combina, haz una consulta en el motor de búsqueda.

4. Obtenemos el primer resultado. https://www.mql5.com/ru/code/10344 - No he mirado el archivo, pero seguro que hay un archivo de biblioteca y un archivo de inicio.

Probablemente la extensión de todos los programas MQL4 sea "*.mq4".

"*.mqh" es una extensión del archivo de cabecera de la biblioteca, similar a la de C++. Sin embargo, nada de esto importa. "*.mqh" también compila.

 
Buenas noches, ¿podrían decirme si un número de tipo int es inicialmente 0?
 

Me pueden aconsejar en algún momento para habilitar el stop loss en mi EA, que se encuentra en el medio entre el precio actual y el precio de apertura

middleSL=OrderOpenPrice()+(Close[0]-OrderOpenPrice())/MIDDLESL;
Cuando el precio sube, tira para arriba, pero nunca para abajo

He visto que close[0] que termina en un número par y Close[0]-1*Punto(impar), en la fórmula, producen el mismo middleSL, e incluyen el mismo comando a OrderModify, qué debo hacer en el código para evitar que esto ocurra, gracias.

P.D. MIDDLESL es una variable, ahora es 2, pero con la ayuda del optimizador, encontrará un valor más favorable

 
nadya:
buenas tardes. ¿podrían decirme si un número de tipo int es inicialmente 0?

Sí, cuando se define una variable como un entero, ésta tiene inicialmente el valor 0
 
¡Gracias, Denis!
 
nadya:
buenas tardes. ¿podrían decirme si un número de tipo int es inicialmente igual a 0?

Una suposición extraña y una respuesta igualmente extraña.

En general, esto es siempre así, pero hay momentos perjudiciales en los que las variables no se ponen a cero.

anécdota en ese sentido:

Un programador se va a casa triste y las cosas no van bien en el trabajo. Decidió tomar una copa en un bar de camino. Está sentado ahí, triste, bebiendo, pensando en el código que no funciona. Una prostituta local se sienta con él. Intenta iniciar una conversación. Habla con lentitud. Entonces le pregunta:
- ¿Cómo te llamas?
- Quien quiere llamarte, te llama como quiere llamarte.
El programador (dándose una palmadita en la frente):
- ¡Así es! ¡¡¡Hay que dar el valor por defecto!!!
Y felizmente corrió a casa para terminar el código.

Moraleja: ¡inicialice siempre las variables con un valor!

 
LazarevDenis:

Me pueden aconsejar en algún momento para habilitar el stop loss en mi EA, que se encuentra en el medio entre el precio actual y el precio de apertura

Cuando el precio sube, tira para arriba, pero nunca para abajo

He visto que close[0] que termina en un número par y Close[0]-1*Punto(impar), en la fórmula, producen el mismo middleSL, e incluyen el mismo comando a OrderModify, qué debo hacer en el código para evitar que esto ocurra, gracias.

P.D. MIDDLESL es una variable, ahora es 2, pero con la ayuda del optimizador, encontrará un valor más favorable

Cuando se envía el middleSL al stop loss se normaliza, es decir, se redondea a un determinado signo, al dividirlo por 2 esto ocurrirá, es inevitable
 
sergeev:

Una suposición extraña y una respuesta igualmente extraña.

En general, esto es siempre así, pero hay momentos perjudiciales en los que las variables no se ponen a cero.

Una anécdota relacionada:

El programador se va a casa triste, algo no va bien en el trabajo. De camino, decidió tomar una copa en un bar. Está sentado ahí, triste, bebiendo, pensando en el código que no funciona. Una prostituta local se sienta con él. Intenta iniciar una conversación. Está estancado. Luego le pregunta:
- ¿Cómo te llamas?
- Quien quiere llamarte, te llama como quiere llamarte.
Programador (dándose una palmadita en la frente):
- ¡Eso es! ¡¡¡Hay que dar el valor por defecto!!!
Y felizmente corrió a casa para terminar el código.

Moraleja: ¡inicialice siempre las variables con un valor!

y si lo escribo como una variable global, ¿asigno el valor directamente allí?
Razón de la queja: