Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 803

 

Gracias, pero todavía hay muchas cosas que no entiendo. Dime si este código se lee correctamente o no.

   double profit =0.5;
   double takeprofit2= profit * point * value * lot1 + bid;


 
pycha:

Gracias, pero todavía hay muchas cosas que no entiendo. Dime si este código se lee correctamente o no.

   double profit =0.5;
   double takeprofit2= profit * point * value * lot1 + bid;



¡No puedes equivocarte si piensas que está mal! ¡Empieza por el abecedario, aprende, todo está ahí para todos, lo que necesitas, lo encontrarás! Buena suerte.
 
Entendido, gracias.
 

Como sabes, en MQL no hay posibilidad de cambiar el tamaño de 2 y 3 dimensiones de un array multidimensional. Me pregunto qué tiene que ver esta limitación.

Pero no importa. ¿Pero qué pasa si queremos determinar el número de columnas de un array utilizando una variable externa? De nuevo es imposible. ¿O hay una salida?

 
Amigos, por favor aconsejen, quiero mostrar una línea de tasa cruzada en un gráfico. Para ello necesito multiplicar Close[0] por el Close del instrumento que necesito. ¿Cómo marcarlo?
 
kon12:
Amigos, por favor aconsejen, quiero mostrar una línea de tasa cruzada en un gráfico. Para ello necesito multiplicar Close[0] por el Close del instrumento que necesito. ¿Cómo lo defino?
Busque iClose en el libro de referencia.
 

He encontrado esta fórmula casi por intuición y funciona cuando la moneda de cotización es igual a la moneda de depósito.

takeprofit = (profit+ (MarketInfo(symbol,MODE_LOTSIZE)*lot*ask))/lot1*MarketInfo(symbol,MODE_LOTSIZE)*0.0000000001;

Por favor, aconseja qué variables deberían sustituir correctamente a esta - 0,0000000001. Funciona, pero no es la solución, es mejor que se vea bien

 

Buenas tardes.

Me gustaría saber el máximo y el mínimo que han alcanzado las barras desde el inicio del día en M15. Sugiero discutir el mejor algoritmo (no un código, sino un algoritmo).

1. 3 horas x 4 (hay 4 barras de 15 minutos en una hora). 3x4=12.

2. El Asesor Experto se puede iniciar en cualquier momento, por lo que debemos construir un cheque si 3 horas han pasado?

3. La cantidad total de barras en la historia desde el comienzo del día hasta el lanzamiento del Asesor Experto - el tiempo actual en horas *4 + parte entera de los minutos/4. Supongamos que tenemos X barras en total.

4. Deberíamos hacer un bucle desde la barra X hasta la barra (X-12)-incluida, calculando gradualmente el máximo y el mínimo, pero ¿deberíamos comprobar si esta barra está relacionada con el comienzo del día?

(aquí https://book.mql4.com/ru/functions/datetime hay una figura 143 que explica que el número de barras puede ser menor).


Qué se puede mejorar u optimizar aquí. ¿Hay algo que no haya tenido en cuenta?


Ozero.



 
Ozero:

Buenas tardes.

Me gustaría saber el máximo y el mínimo que han alcanzado las barras desde el inicio del día en M15. Sugiero discutir el algoritmo óptimo (no el código, sino el algoritmo).

1. 3 horas x 4 (hay 4 barras de 15 minutos en una hora). 3x4=12.

2. El Asesor Experto se puede ejecutar en cualquier momento, por lo que quiero comprobar si han pasado 3 horas?

3. El número total de barras en la historia desde el inicio del día hasta que el Asesor Experto se inicia - tiempo actual en horas *4 + parte entera de minutos/4. Supongamos que hay X barras en total.

4. Deberíamos ejecutar un ciclo desde la barra X hasta la barra (X-12)-incluso, calculando gradualmente el máximo y el mínimo, pero ¿deberíamos comprobar si la barra se refiere al principio del día?

(aquí https://book.mql4.com/ru/functions/datetime existe la figura 143, que explica que el número de barras puede ser menor).


¿Qué puedo mejorar u optimizar? ¿Quizás no he tenido en cuenta algo?


Ozero.



Highest() yLowest() se utilizan para determinar las barras máximas y mínimas.¡Vean al doctor!
 
pycha:

He encontrado esta fórmula casi por intuición y funciona cuando la moneda de cotización es igual a la moneda de depósito.

takeprofit = (profit+ (MarketInfo(symbol,MODE_LOTSIZE)*lot*ask))/lot1*MarketInfo(symbol,MODE_LOTSIZE)*0.0000000001;

Por favor, aconseja qué variables deberían sustituir correctamente a esta - 0,0000000001. Funciona, pero no es la solución, es mejor que se vea bien

La regla del pulgar puede ser buena para los dispositivos móviles, mientras que aquí hay que estudiar, entender, construir su propia lógica, su propio sistema. Si necesitas multiplicar por una diezmillonésima, basta con dividir por Punto() 2 veces. Decide qué es mejor, tener conocimientos o estar siempre atento a las pistas.
Razón de la queja: