[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 47
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
Si conoce la función para calcular el saldo total de pérdidas de posiciones CERRADAS por SL y el saldo total de operaciones rentables ABIERTAS, por favor escriba.
El cálculo del balance de pérdidas debe comenzar con el último valor máximo del depósito
Tu pregunta es algo similar a la anterior, así que he retocado un poco la función de la respuesta anterior. Confieso que no lo he probado, pero debería funcionar. Las variables de ganancias y pérdidas declaradas a nivel global deben mostrar el total de ganancias y pérdidas respectivamente para las posiciones cerradas.
Si necesita hacer esto también para las órdenes abiertas, añada un segundo bucle for para seleccionarlas no en el historial, sino según el criterio OrdersTotal(): for(int n=1; n<=OrdersTotal(); n++)
Y sumar los valores obtenidos a las mismas variables beneficio y pérdida .
Por ejemplo, necesito saber si se ha activado un límite de compra pendiente y, si lo ha hecho, a qué precio, para luego establecer uno nuevo.
¿Cómo puedo saber si una orden ha activado un trailing stop y colocar nuevas órdenes cuando se ha activado el trailing stop?
Si está cerrado, ¿necesita saber si acaba de cerrar? ¿O se cerró con un StopLoss? (Puede cerrar en TakeProfit y OrderClose() o OrderCloseBy())
Aquí está mi nueva función de control de barras:
donde, i_trading_TF es una variable declarada globalmente externa. Así, cuando configuro mi Asesor Experto en un gráfico, puedo establecer el valor de esta variable en la ventana emergente y así establecer el marco temporal de la apertura de la barra a controlar.
He visto una función similar en un Asesor Experto pero con un parámetro formal en la cabecera de la función. Aquí está:
El marco temporal se pasa a través del parámetro de la función. Sin embargo, si la variablei_trading_TF está declarada a nivel global, no creo que tenga sentido pasarla mediante un parámetro formal ya que su visibilidad no está limitada.
Por favor, comente este punto.
La primera opción también me funciona, pero es curioso que algunos programadores tengan la costumbre de rellenar con parámetros formales incluso aquellas funciones en las que yo no lo haría.
En cada tic, controle la presencia de una orden con tipo OP_BUYLIMIT utilizando la función OrderType(), cuando este tipo desaparece, significa que la orden se ha abierto y se ha convertido en tipo OP_BUY.Aquí se enumeran los 6 tipos. Con la función OrderOpenPrice() se puede saber a qué precio se abrió la orden.
Aquí está mi nueva función de control de barras:
donde, i_trading_TF es una variable declarada globalmente externa. Así, cuando configuro mi Asesor Experto en un gráfico, puedo establecer el valor de esta variable en la ventana emergente y así establecer el marco temporal de la apertura de la barra en la que quiero controlar.
He visto una función similar en un Asesor Experto pero con un parámetro formal en la cabecera de la función. Aquí está:
El marco temporal se pasa a través del parámetro de la función. Sin embargo, si la variablei_trading_TF está declarada a nivel global, no creo que tenga sentido pasarla mediante un parámetro formal ya que su visibilidad no está limitada.
Por favor, comente este punto.
La primera opción también me funciona, pero es curioso que algunos programadores tengan la costumbre de rellenar con parámetros formales incluso aquellas funciones en las que yo no lo haría.
Tiene sentido si el EA analiza varios fotogramas y se debe formar una nueva barra en cada fotograma.
Eso no es todo, vamos a añadir el nombre del instrumento a los parámetros transferidos
y analizar el hecho de que se forme una nueva barra de cualquier instrumento de cualquier época.No necesariamente. También se puede matar manualmente. Más bien, hay que recordar el ticket de la orden pendiente; en cuanto falta una orden pendiente con ese ticket y aparece una posición de mercado con el mismo ticket, entonces sí, se activa...
Tiene sentido si el EA analiza varios marcos y cada marco necesita el hecho de formar una nueva barra.
Eso no es todo, vamos a añadir el nombre del instrumento a los parámetros
y analizar el hecho de que se forme una nueva barra, cualquier símbolo, y punto.¿Cree que es apropiado "involucrar" a un símbolo en el "mecanismo para encontrar un nuevo bar"? :)))
Sería interesante hacer un control universal de la nueva barra. Por cierto - todo está ahí para eso
Sería interesante hacer un control universal de la nueva barra. Por cierto - todo está ahí para eso