Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 100
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
int index // номер сделки
);
¿Qué es un número de transacción?
¿Cómo selecciono la última operación? ¿Índice 0?
Tengo una cuenta con una posición abierta y un historial de operaciones. Quiero seleccionar la última operación:
#include <Trade\DealInfo.mqh>
CDealInfo deal;
for(int n=20;n>=0;n--)
{
deal.SelectByIndex(n);
Print("Тикет сделки=",deal.Ticket()," n=",n);
}
Todas las garrapatas 0...
int index // номер сделки
);
¿Qué es un número de transacción?
Véase la descripción de la función HistoryDealGetTicket(). También hay un ejemplo de cómo trabajar con la lista de ofertas.
He intentado sugerir una respuesta a su pregunta "¿Qué es un número de transacción? ¿Podemos suponer que se ha ocupado de esta cuestión?
1. Lamentablemente, trato de no utilizar la Biblioteca Estándar, por lo que no puedo sugerir correctamente cómo trabajar con el método SelectByIndex(). Sólo puedo observar que la propia clase CDealInfo se posiciona como una clase para trabajar con las propiedades de las transacciones, es decir, las cuestiones de obtener la lista de transacciones parecen quedar fuera.
2. Como sabe, el método SelectByIndex() simplemente utiliza la función HistoryDealGetTicket(). De la descripción de esta funciónse deduce que antes de acceder a la operación es necesario obtener la lista de todas las operaciones . En particular,
Hace aproximadamente un año, pregunté en el foro, si es posible considerar que la última oferta de la lista siempre tiene un índice de HistoryDealsTotal()-1, pero no recibí respuesta (o no me di cuenta, lo cual es poco probable). Utilizando el método de la prueba científica, no he encontrado una refutación de esta tesis. Así que, lógicamente, cada nueva operación, cuya información se recibe en el terminal base, debería simplemente aumentar la lista de operaciones en uno y, respectivamente, los índices de la lista de operaciones se asignarían a cada nueva operación en orden ascendente. Cómo es en realidad - no lo sé.
3. También sugiero leer el artículoÓrdenes, Posiciones y Operaciones en MetaTrader 5 y (no lo he leído yo) - Cómo utilizar las clases comerciales de la Biblioteca Estándar al escribir un Asesor Experto.
Eso es todo :)
Expertos, ayuda, por favor. Construí dos EAs para, por así decirlo, hacer un efecto sinérgico, los más simples parecen conectarse, pero este no compila, aunque he hecho todo correctamente como con el anterior. Esto es lo que da de sí
'Supervisor' - la función sólo puede ser declarada en el ámbito global 20_200_pips_MQL5_v1.mq5 360 18
'Perceptron' - la función sólo puede declararse en el ámbito global 20_200_pips_MQL5_v1.mq5 418 8
'basicTradingSystem' - la función sólo puede declararse en el ámbito global 20_200_pips_MQL5_v1.mq5 434 6
La función sólo puede declararse en el ámbito global
Estoy muy confundido donde está el alcance global
'Supervisor' - la función sólo puede ser declarada en el ámbito global 20_200_pips_MQL5_v1.mq5 360 18
'Perceptron' - la función sólo puede declararse en el ámbito global 20_200_pips_MQL5_v1.mq5 418 8
'basicTradingSystem' - la función sólo puede declararse en el ámbito global 20_200_pips_MQL5_v1.mq5 434 6
La función sólo puede declararse en el ámbito global
Estoy muy confundido donde está el alcance global
Estos mensajes aparecen, por ejemplo, cuando se declara una función dentro de otra. Mira si hay algo así en el código: