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

 
SpikeOne:

¡Saludos profesionales de la programación!

Tengo una gran idea, hay tal Asesor Experto https://www.mql5.com/ru/code/11030 comprobado y probado la idea de trabajar en la noche en él.

La idea es la siguiente: inicio mi Asesor Experto a medianoche en Moscú y cuando llega a las 3-4 de la mañana, tengo que esperar a que las órdenes se cierren con un determinado take profit, después de alcanzar el take profit, lo desactivo, y al día siguiente lo inicio a medianoche de nuevo.

¿Es posible ponerlo en práctica? Si es así, entonces por favor dígame, en qué lugar del código es posible insertar la comprobación de las condiciones de tiempo (por ejemplo, 3 a.m.) y la comprobación de si la toma de beneficios está cerrada.

El resultado debería ser que el Asesor Experto cierre por la mañana con beneficios.

Primero, decide: ¡¿Qué harás si no hay beneficios por la mañana?! (A menos, claro, que sea "cuando hay ganancias, hay mañana")... :)))))))
 
TarasBY:
Primero, decide: ¡¿Qué harás si no hay beneficios por la mañana?! (A no ser, claro, que sea "cuando los beneficios estén ahí por la mañana")... :)))))))

Ya te dije que lo probé, de todas formas hay beneficios. Mi configuración no es estándar. Debe ser de manera que llegue a las 3 de la mañana, espera el take profit y apaga el EA.
 
SpikeOne:

Ya he escrito que lo he probado, de todas formas hay beneficios. Mi configuración no es estándar. Y debe ser para que llegue a las 3 de la mañana, espere a tomar ganancias y apague el Asesor Experto.

En términos de lógica de programación, esto es absurdo.

Existe la posibilidad de que se produzca ese resultado. Por lo tanto, hay que preverlo. De lo contrario, puede acabar en una situación indefinida, en la que, por ejemplo, puede perder su depósito.

 
Zhunko:

En términos de lógica de programación, esto es absurdo.

Existe la posibilidad de que se produzca este resultado. Por lo tanto, hay que preverlo. De lo contrario, puede darse una situación indefinida en la que, por ejemplo, se pierda un depósito.


Si se trata de un Martin, siempre existe la posibilidad de perder el depósito, ¿es posible hacerlo sin considerar que esto es absurdo? ¿Puedes al menos mostrarme ese lugar en el código donde las órdenes se cierran en el take profit, para que tenga algo con lo que empezar?
 
SpikeOne:

Si se trata de un Martin, siempre existe la posibilidad de perder el depósito. ¿Puedes al menos mostrarme el lugar del código donde se cierran las órdenes en el take profit, para que tenga algo con lo que empezar?

Por supuesto que sí. El programador adecuado tendrá en cuenta todos los casos.

 

¿Quién puede decirme por qué no puedo cargar MT4? Presentando una captura de pantalla del error.


 
SpikeOne:

Siempre existe la posibilidad de perder la fianza de un martín, ¿es posible hacerlo sin considerar que es absurdo? ¿Puedes al menos mostrarme el lugar del código donde se cierran las órdenes en el take profit, para que tenga un buen comienzo?


En un martin, siempre hay una probabilidad de obtener el beneficio esperado de la toma de beneficios del primer lote. Y si tiene mala suerte, se quedará sin depósito o superará el tamaño máximo de lote permitido.

¿Y vale la pena arriesgar tanto dinero para recuperar la apuesta inicial? Sobre todo porque las Leyes de Murphy nunca han sido abolidas..... Y no es absurdo, es la vida práctica, no la teórica))

 
Si es posible, tal vez puedas ayudarme a hacer las pruebas, y puedo probar que el programa funciona con mis datos iniciales y en las pruebas.
 

Buenos días de nuevo!) Los problemas anteriores con el cierre se han resuelto, pero han aparecido nuevas preguntas. La esencia de la pregunta es cómo comparar las lecturas del indicador actual (en particular el MACD) en la barra cero con las lecturas del mismo indicador en la primera y segunda barra (es decir, las anteriores). No entiendo muy bien cómo hacerlo, así que agradeceré cualquier ayuda)))

 
ElhoroS:

Buenos días de nuevo!) Los problemas anteriores con el cierre se han resuelto, pero han aparecido nuevas preguntas. La esencia de la pregunta es cómo comparar las lecturas del indicador actual (en particular el MACD) en la barra cero con las lecturas del mismo indicador en la primera y segunda barra (es decir, las anteriores). No entiendo muy bien cómo hacerlo, así que agradeceré cualquier ayuda)))

   double macd_1=iMACD(Symbol(),Period(),fast_ema,slow_ema,signal,PRICE_CLOSE,1); // макдак на первом баре
   double macd_2=iMACD(Symbol(),Period(),fast_ema,slow_ema,signal,PRICE_CLOSE,2); // макдак на втором баре
En la barra cero los datos del indicador no se fijan. En cada tick, de hecho, cambiará, porque la barra cero aún no se ha formado. Por lo tanto, los datos se tomarán de la primera barra. Si quiere tomarlo desde la barra cero, entonces cambie PRICE_CLOSE por PRICE_OPEN - este es el único precio que no cambia en la barra cero, pero el indicador diferirá ligeramente de su representación estándar - sólo un poco.