[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 129
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Ya reescribí el código de modificación de la orden y el error permanece.
Subrayo que el error no es del registro - no hay un solo error en el registro.
Encontré el error en los resultados al ejecutar una prueba.
Ejemplo:
Abrí una posición de compra (orden número 1) con el precio 1.4654
luego en los resultados dice modificar (orden número 1) precio 1.4654 y TakeProfit 1.4752
luego en los resultados dice cerrar (orden número 1) precio 1.4704 y TakeProfit 1.4752
Beneficio = 50.00
Ejemplo de posición con pérdidas aunque debería cerrar sólo en TakeProfit porque no he puesto Stop Loss.
Abrí una posición de compra (orden número 271) a 1,4820
y en los Resultados dice modificar (orden número 271) precio 1,4820 y TakeProfit 1,4918
y en los Resultados dice cerrar (orden número 1) precio 1,4737 y TakeProfit 1,4918
Beneficio = - 83,46
Puse un TakeProfit de 100 en todas partes.
No he puesto StopLoss.
No sé cómo arreglarlo.
Al compilar este código EA = 0 errores y 0 advertencias.
He utilizado este código para modificar los pedidos:
Me pueden decir dónde está el error - no lo encuentro.
Ya he reescrito el código de modificación de la orden y el error persiste.
Subrayo que el error no es del registro - no hay un solo error en el registro.
He encontrado el error en los resultados durante la prueba.
Ejemplo:
He abierto una posición de compra (orden número 1) a 1,4654
A continuación, en los Resultados dice modificar (orden número 1) precio 1,4654 y TakeProfit 1,4752.
A continuación, en los Resultados dice precio de cierre (orden número 1) 1.4704 y TakeProfit 1.4752
Beneficio = 50,00
Un ejemplo de una posición perdedora aunque debería cerrar sólo en Take Profit porque no he puesto Stop Loss.
He abierto una posición de compra (orden número 271) a 1,4820
A continuación, en los Resultados dice modificar (orden número 271) precio 1.4820 y TakeProfit 1.4918
a continuación, dice cerrar (orden número 1) precio 1,4737 y TakeProfit 1,4918 en los resultados
Beneficio = - 83,46
He puesto el TakeProfit a 100 en todas partes.
No he puesto StopLoss.
No sé cómo arreglarlo.
Al compilar este código EA = 0 errores y 0 advertencias.
He utilizado este código para modificar los pedidos:
Por favor, ayúdenme a encontrar los valores de
1 Volatilidad máxima diaria (máxima diaria menos mínima) en los últimos X=5 días .
2 Volatilidad media diaria durante losúltimos X=130 días
3 Y cómo se pueden escribir estos valores en la condición si la Volatilidad Diaria Máxima se encuentra en el rango A=75 a B=150- Volatilidad Diaria Media
1. Primero hay que averiguar cuántas barras se necesitan en la ventana https://docs.mql4.com/ru/windows/WindowBarsPerChart.
2. Entonces obtendrá la fecha de la primera barra https://docs.mql4.com/ru/windows/WindowFirstVisibleBar.
3. Conociendo esta barra inicial y el número de barras - recorre estas barras y determina el máximo y el mínimo entre ellas
4. beneficios
Variante 2
https://docs.mql4.com/ru/windows/WindowPriceMaxтво
https://docs.mql4.com/ru/windows/WindowPriceMinВторой variante
Me inclinaba por la primera opción, pero no sabía cómo calcular el número de barras de la ventana. La segunda opción es más lacónica.
Pero, ¿cómo "coger" el último máximo y mínimo de la barra anterior? ¡Gracias de antemano!
Pero, ¿cómo "atrapar" el último máximo y mínimo de la barra anterior?
Basta con memorizar el máximo y el mínimo alcanzado en la barra actual, y cuando aparezca una nueva barra que se convierta en la anterior, tomará el máximo y el mínimo de las variables memorizadas.
Basta con recordar el máximo y el mínimo alcanzado en la barra actual, y cuando aparezca una nueva barra que se convierta en la anterior, tomará el máximo y el mínimo de las variables recordadas.
declarar la variable zet como estática, o declararla en la zona global.
Antes de asignarle un nuevo valor, comprueba si hay una nueva barra, y comprueba la diferencia entre su valor y el valor actual, y luego le asigna un nuevo valor.
Cuando el cierre de las operaciones en el probador se escribe como usted ha enumerado, lo más probable es el resultado de la función orderclose (TP y SL no tienen nada que ver con él)
Gracias, pero parece que no hay errores en el código:
pero hay otro código en el EA: