[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 825
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
Lo entiendo en términos generales, pero ¿qué significa if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))break; si no se selecciona esa orden, entonces aborta o qué?
OrderSelect (véase https://docs.mql4.com/ru/trading/OrderSelect) devuelve FALSE cuando la función falla. Consulte https://docs.mql4.com/ru/basis/operators/break para conocer el operador de la pausa.
Esto se puede simplificar a
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
lo principal es seleccionar el orden.
Y a mí me parecen cosas absolutamente diferentes. Podría insertar esto en su código if(Tip==OP_BUYSTOP||Tip==OP_SELLSTOP&&Minute()<59&&Minute()>57) OrderDelete(Ticket);
y si es así, ¿qué parte?
Sin ver tu código, puedo suponer que en cambio (todo depende de tu algoritmo):
if(OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket());
if(OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket());
if(OrderType()==OP_BUYLIMIT) OrderDelete(OrderTicket());
if(OrderType()==OP_SELLLIMIT) OrderDelete(OrderTicket());
Sólo hay que poner orden en las variables y corregir los paréntesis en la condición con || y &&.
La condición Minute()<59&&Minute()>57 puede reducirse a Minute()==58 o utilizar >= o <=.
Para forzar el cierre de una orden pendiente al final de un período o a una hora determinada al establecerla, puede especificar el parámetro de fecha de vencimiento - véase https://docs.mql4.com/ru/trading/OrderSend. En este caso no hay que molestarse en programar su cierre. Y la orden se cerrará incondicionalmente sin ninguna corrección por la falta de conexión.
Sí, muchas cosas útiles. Podría haber prescindido de los regalitos, pero es un libro de texto muy intrincado.
¡Gratis, amigos! ¡Yo! ¡¡¡Comon evry body!!!
Supongo que si el libro de texto de SC estuviera escrito así sería un 6+.
Perdón por el off-topic...
No, no lo necesitamos en su lugar, lo necesitamos además. He mirado el gráfico: a veces el precio no sale del canal Alto-Bajo y las órdenes pendientes permanecen. Si no salen del canal Alto-Bajo, se mantienen, lo único que hay que hacer es cerrar los pendientes antes de que aparezcan los nuevos. En cuanto al libro de 1986, ¿hablas en serio? Yo también soy antiguo, pero creo que es demasiado.
Además, tiene que escribir un código adicional similar. De alguna manera me parece que tu código es un poco desordenado.
No estaba bromeando sobre el libro de 1986. De nuevo, si quieres aprender los fundamentos de la programación, tienes que aprenderlos sin atascar tu cabeza con construcciones de lenguajes modernos. Necesitas lo básico. Los libros de texto de informática para los institutos, especialmente el primero, están metódicamente bien compuestos para gente "tonta". Cómo, quién, para quién y por qué se escriben los libros de texto modernos es un tema aparte
fecha hora lotes precio
26 2010.01.05 12:24 vender 12 0.10 1.44026 1.44907 1.43526 0.00 3200.09
28 2010.01.05 13:21 comprar 13 0.26 1.44326 1.43445 1.44826 0.00 3200.09
30 2010.01.05 15:34 vender 14 0.43 1.44026 1.44907 1.43526 0.00 3200.09
32 2010.01.05 16:27 comprar 15 0.72 1.44326 1.43445 1.44826 0.00 3200.09
34 2010.01.05 17:18 vender 16 1.19 1.44026 1.44907 1.43526 0.00 3200.09
Aquí tenemos 5 órdenes abiertas en las direcciones correspondientes.
¿Cómo calcular el margen total de todas las órdenes abiertas?
Par: EURODÓLAR, contrato 100.000, apalancamiento 100.
fecha hora lotes precio
26 2010.01.05 12:24 sell 12 0.10 1.44026 1.44907 1.43526 0.00 3200.09
28 2010.01.05 13:21 buy 13 0,26 1,44326 1,43445 1,44826 0,00 3200,09
30 2010.01.05 15:34 vender 14 0,43 1,44026 1,44907 1,43526 0,00 3200,09
32 2010.01.05 16:27 buy 15 0,72 1,44326 1,43445 1,44826 0,00 3200.09
34 2010.01.05 17:18 sell 16 1.19 1.44026 1.44907 1.43526 0.00 3200.09
Aquí hay 5 órdenes abiertas en las respectivas direcciones.
¿Cómo puedo calcular el margen total de todas las órdenes abiertas?
Par: EUROLLAR, contrato 100000, apalancamiento 100.
MarketInfo(Symbol(),MODE_MARGINREQUIRED);
Devuelve la cantidad de fondos libres necesarios para abrir 1 lote en una orden de compra, bueno mira los otros, dependiendo de tus necesidades.
Esto también puede resultarle útil:
double AccountFreeMarginCheck ( string symbol, int cmd, double volume)
Devuelve la cantidad de fondos libres que quedan después de abrir la posición especificada al precio actual en la cuenta actual. Si no hay suficientes fondos disponibles, se generará el error 134 (ERR_NOT_ENOUGH_MONEY).Gracias por la rápida respuesta, pero quiero calcular el margen ANTES de que se abran estas posiciones. La estrategia es una avalancha, necesito saber si habrá un Stop Out después de abrir las posiciones correspondientes? El tamaño de todos los lotes futuros se conoce de antemano. Me gustaría saber: ¿cuántas órdenes (con lotes incrementales conocidos de antemano) se podrán abrir?
Intenta ver lo que puedes averiguar por ti mismo... :)
Y, de nuevo.
double AccountFreeMarginCheck ( string symbol, int cmd, double volume)
He utilizado esta función en un EA personalizado que también utiliza una martingala desnuda.
Tuve que escribir una línea antes de abrir cualquier posición para que fuera más estable:
Artem, necesito calcular el margen yo mismo, es decir, necesito saber la fórmula de cálculo. No necesito la respuesta del terminal sobre las posibilidades actuales. ¡¡¡Sí conozco la fórmula de cálculo, pero hay algún tipo de peculiaridad en el cálculo del margen para las posiciones solapadas!!! ¡Y ni siquiera sé lo que son las posiciones superpuestas! Concretamente he puesto un ejemplo en el que se puede ver que cada posición sucesiva se abre en sentido contrario a la anterior. Si se calcula el margen de las posiciones abiertas sumando todos los lotes (y pegando esa cantidad en la fórmula), no coincide con la reacción real del CC cuando aplica un Stop Out. Me gustaría calcularlo como lo calcula la CC
¿Las posiciones superpuestas no son iguales a las posiciones bloqueadas? Es el margen necesario para mantener dos posiciones abiertas de igual volumen pero de sentido contrario. Suele ser la mitad del margen necesario para mantener una posición abierta del mismo tamaño que una de las dos posiciones bloqueadas.
Me di cuenta enseguida, pero no pensé que te confundiera...
Para el mismo EA calculé el margen de esta manera, no sé ahora, ¿tal vez está mal? :
Esto es todo lo que te devuelve el DC: