Errores, fallos, preguntas - página 1014
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
En la ayuda:
structMqlTradeRequest
{
ENUM_TRADE_REQUEST_ACTIONSaction;// Tipo de acción a realizar
ulongmagic;// Sello de experto (identificador de número mágico)
ulongorden;// Orden de los billetes
cadenasímbolo;// Nombre del símbolo comercial
doblevolumen;// Volumen solicitado de la transacción en lotes
dobleprecio;// Precio
doblestoplimit;// Nivel de orden StopLimit
doblesl;// Nivel de Stop Loss de la orden
dobletp;// Nivel de beneficio de la orden
desviaciónlarga;// Desviación máxima aceptable del precio solicitado
ENUM_ORDER_TYPEtype;// Tipo de pedido
ENUM_ORDER_TYPE_FILLINGtype_filling;// Tipo de pedido
ENUM_ORDER_TYPE_TIMEtype_time;// Tipo de orden por tiempo de ejecución
fecha decaducidad;// hora de vencimiento(para órdenes ORDER_TIME_SPECIFIED)
cadenacomentario;// comentario sobre el pedido
};
Sin embargo, hay una descripción en la tabla siguiente:
desviación
Desviación máxima aceptable del precio solicitado, establecida en pips.
Es decir, el tipo de la variable debe ser al menos float, pero nunca ulong.
Es decir, el tipo de la variable debe ser al menos float, pero nunca ulong.
En la ayuda:
structMqlTradeRequest
{
ENUM_TRADE_REQUEST_ACTIONSaction;// Tipo de acción a realizar
ulongmagic;// Sello de experto (identificador de número mágico)
ulongorden;// Orden de los billetes
cadenasímbolo;// Nombre del símbolo comercial
doblevolumen;// Volumen solicitado de la transacción en lotes
dobleprecio;// Precio
doblestoplimit;// Nivel de orden StopLimit
doblesl;// Nivel de Stop Loss de la orden
dobletp;// Nivel de beneficio de la orden
desviaciónlarga;// Desviación máxima aceptable del precio solicitado
ENUM_ORDER_TYPEtype;// Tipo de pedido
ENUM_ORDER_TYPE_FILLINGtype_filling;// Tipo de pedido
ENUM_ORDER_TYPE_TIMEtype_time;// Tipo de orden por tiempo de ejecución
fecha decaducidad;// hora de vencimiento(para órdenes ORDER_TIME_SPECIFIED)
cadenacomentario;// comentario sobre el pedido
};
Sin embargo, hay una descripción en la tabla siguiente:
desviación
Desviación máxima aceptable del precio solicitado, establecida en pips.
Es decir, el tipo de la variable debe ser al menos float, pero nunca ulong.
El número de puntos es un número entero.
Por favor, indique qué es MQL5 - contraseña y dónde encontrarla????
El número de puntos es un número entero.
¿Dónde dice "Número de puntos"?
De hecho, en la estructura es del tipo ulong, y en la descripción tabular de abajo: doblePunto();
Aquí es donde radica la discrepancia. O bien arreglar la estructura y la ayuda, o sólo arreglar la ayuda para que coincida con la estructura.
¡Hola!
He intentado adaptar el Asesor Experto para que funcione en otros mercados que no sean el de divisas, por lo que me han surgido las siguientes preguntas:
1)Si en forex, la cotización se da por unidad de moneda, entonces, por ejemplo, en futuros yCFD por contrato. Esta cuestión no se menciona específicamente en la documentación. Podemos suponer que el tipo de cotización corresponde a la forma de calcular el valor, a partir de la enumeración de ENUM_SYMBOL_CALC_MODE. Es decir: Con ENUM_SYMBOL_CALC_MODE: SYMBOL_CALC_MODE_FOREX la cotización se da por unidad de moneda (y el tipo de cambio de la moneda de la cuenta frente a la moneda de la cotización se calcula comoSymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE)), y en los valoresSYMBOL_CALC_MODE_FUTURES,SYMBOL_CALC_MODE_CFD,SYMBOL_CALC_MODE_CFDINDEX,SYMBOL_CALC_MODE_CFDLEVERAGEla cotización se da para 1 contrato (y el tipo de cambio de la moneda de la cuenta frente a la moneda de la cotización se calcula como SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE)) o hay excepciones?
2)¿Qué devuelve la función PositionGetDouble(POSITION_SWAP)? ¿El swap acumulado en la moneda de la cuenta en el momento de la solicitud? El valor devuelto depende del método de acumulación de intercambio dela enumeración ENUM_SYMBOL_SWAP_MODE. Por ejemplo, ¿podrían ser puntos, monedas base o de margen?
3. En la tabla de cálculo de márgenes:
Elenum_SYMBOL_CALC_MODE está destinado a proporcionar información sobre cómo calcular el importe del margen de un instrumento (importe de los requisitos de margen).
ENUM_SYMBOL_CALC_MODE
Identificador
Descripción
Fórmula
SYMBOL_CALC_MODE_FOREX
Modo Forex - cálculo de beneficios y márgenes para Forex
Margen: Lotes*Tamaño_del_contrato/Levante
Beneficio: (precio_cerrado-precio_abierto)*Tamaño_del_contrato*Lotes
SYMBOL_CALC_MODE_FUTURES
Modo Futuros - calcular el margen y el beneficio de los futuros
Margen: Lotes *MargenInicial*Porcentaje/100
Beneficio: (precio_cierre-precio_abierto)*PrecioTick/TamañoTick*Lotes
SYMBOL_CALC_MODE_CFD
Modo CFD: cálculo del margen y del beneficio para CFD
Margen: Lotes *Tamaño del contrato*Precio de mercado*Porcentaje/100
Beneficio: (precio_cerrado-precio_abierto)*Tamaño_del_contrato*Lotes
SYMBOL_CALC_MODE_CFDINDEX
Modo de índice CFD: cálculo del margen y del beneficio para los índices CFD
Margen: (Lotes*Tamaño del contrato*Precio del mercado)*Precio del tick/Tamaño del tick
Beneficio: (precio_cerrado-precio_abierto)*Tamaño_del_contrato*Lotes
SYMBOL_CALC_MODE_CFDLEVERAGE
Modo de apalancamiento de CFD: cálculo del margen y el beneficio de los CFD cuando se opera con apalancamiento
Margen: (Lotes*Tamaño del contrato*Precio de mercado*Porcentaje)/Levante
Beneficio: (precio_cerrado-precio_abierto)*Tamaño_del_contrato*Lotes
no se especifica en qué moneda se calculan el margen y el beneficio? ¿Cómo solicitoel porcentaje? ¿Cuál es la peculiaridad del modo deapalancamiento CFD?
4. La función que solicita el apalancamiento AccountInfoInteger(ACCOUNT_LEVERAGE), que funciona correctamente en forex, da 1 en el mercado de futuros. ¿Cómo puedo solicitar/definir correctamente el apalancamiento en los futuros?
5. Función SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL) - ¿funciona sólo para futuros?
¿Existe una descripción más detallada de estas cuestiones con respecto a MQL5?
¡Hola!
¿No hay una descripción más detallada de estas cuestiones con respecto a MQL5?
Los principios de cálculo propiamente dichos se pueden encontrar en Internet, y se puede obtener el resultado correcto centrándose en la especificación del instrumento, comprobando un instrumento y un corredor concretos.
¿Pueden sugerir un broker en el que se puedan consultar pares de divisas y CFDs de todo tipo desde una sola cuenta, y preferiblemente también futuros desde una cuenta demo?
Finam tiene pares de divisas, CFDs sobre acciones e índices en MT4, pero en MT5, lamentablemente, sólo pares de divisas.
Ahora pruebo los pares de divisas en Finam y los futuros en Open, pero en Open el servidor da 33 y 34 en la petición SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE) - que no está en la lista ENUM_SYMBOL_CALC_MODE.
Tampoco he encontrado un broker para probar diferentes formas de calcular los swaps y no puedo entender en la documentación si la forma de calcular los swaps influye en los resultados de la petición PositionGetDouble(POSITION_SWAP).
Gracias de antemano.
zfs:
Los principios de cálculo pueden encontrarse en Internet, y el resultado correcto puede obtenerse comprobando un instrumento y un corredor específicos.
¿Pueden sugerir un broker en el que se puedan consultar pares de divisas y CFDs de todo tipo desde una sola cuenta, y preferiblemente también futuros desde una cuenta demo?
Finam tiene pares de divisas, CFDs sobre acciones e índices en MT4, pero en MT5, lamentablemente, sólo pares de divisas.
Ahora pruebo los pares de divisas en Finam y los futuros en Open, pero en Open el servidor da 33 y 34 en la petición SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE) - que no está en la lista ENUM_SYMBOL_CALC_MODE.
Tampoco he encontrado un broker para probar diferentes formas de calcular los swaps y en la documentación no está claro si la forma de calcular los swaps influye en los resultados de la petición PositionGetDouble(POSITION_SWAP).
Gracias de antemano.
Al parecer, no existe tal corredor. Utiliza varios terminales. El valor ahí es de tipo largo, por eso te da la cifra, haz una comparación si no quieres meterte en números. Valor del intercambio PositionGetDouble(POSITION_SWAP) real por posición. Sí, el canje se acumula el mismo día durante el fin de semana.
Al parecer, no existe tal corredor. Utiliza varios terminales. El valor ahí es de tipo largo, por eso te da la cifra, haz una comparación si no quieres meterte en números. Valor del intercambio PositionGetDouble(POSITION_SWAP) real por posición. Sí, el canje se acumula el mismo día durante el fin de semana.
Entonces, ¿dónde puedo encontrar un CFD para Metatrader 5?
Estoy tratando de entrar en los números, pero estoy un poco obstaculizado por la falta de claridad en la documentación, por ejemplo, las tablas de enum no enumeran los números correspondientes. He comprobado por experiencia que SYMBOL_CALC_MODE_FOREX es 0, pero 33 y 34 no se identifican en la respuesta del servidor de apertura de ninguna manera.
En cuanto a los swaps, ¿entiendo correctamente que PositionGetDouble(POSITION_SWAP) e HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) dan realmente el swap acumulado en la moneda del depósito, independientemente de cómo se calcule?