Características del lenguaje mql5, sutilezas y técnicas - página 10
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
¿Hay alguna forma de calcular el margen cubierto?
Gracias por el consejo. En el desierto es SymbolInfoMarginRate. Así que ahora es así
double GetMarginRequired( const string Symb )
{
}
Debemos tener claro que en MT5 puede haber requisitos de margen muy diferentes en las distintas direcciones. Es decir, una sola variante de MT4 puede no funcionar. En Forex, por supuesto, no será así. Pero tienes que recordar. Por lo tanto, en general, se debe escribir así
bool MyOrderCalcMargin( const ENUM_ORDER_TYPE action, const string symbol, const double volume, const double price, double &margin )
{
}
¡Muchas gracias! Ahora funciona en todas partes sin problemas.
Me pregunto si la función"MyOrderCalcMargin" sigue operando, y si es así, cómo operarla al menos en el probador)
Creo que se puede calcular todo a través de las funciones Symbol.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
fxsaber, 2017.02.28 10:48
Metaquotes-Demo, cuenta en USD, RTS-3.17.
TickValue da un valor erróneo - en rublos, no en la moneda de la cuenta (USD).
FxPro-ECN. Los símbolos GOLD y GOLDEURO tienen el mismo TickValue. Aunque, obviamente, deberían ser diferentes en tiempos del EURUSD.
Broma MT5 en FIBOGroup-MT5 Server SGDJPY
En esta situación, MyOrderCalcMargin calcula correctamente, mientras que el OrderCalcMargin normal no lo hace.
La función normal cuenta de acuerdo con la especificación del contrato especificado en la configuración del instrumento - con la moneda de margen NOK, respectivamente, para un lote se toma 1000 NOK.
Probablemente cuente como división el nombre del par de divisas SGDJPY - obtiene 1000 SGD por un lote.
Por lo tanto, el problema es la especificación incorrecta del contrato por parte del corredor. Por favor, póngase en contacto con el corredor del servidor correspondiente.
Es decir, para hacer que todos los OrderSend estén sincronizados con el entorno comercial y evitar trampas, basta con hacer el código fuente dado como un archivo mqh y hacer el correspondiente #include en sus programas.
Puedes dejar de bailar con la pandereta.
SD me ha dicho que desde la próxima build OrderSend() funcionará correctamente :)
La función regular cuenta según la especificación del contrato especificada en los ajustes del instrumento - con la moneda de margen NOK, respectivamente, para un lote se necesitan 1000 NOK.
En su caso, debe ser una división del nombre del par de divisas SGDJPY - para un lote se cobra 1000 SGD.
Por lo tanto, el problema es la especificación incorrecta del contrato por parte del corredor. Póngase en contacto con el corredor del servidor correspondiente.
La MT5 tiene un mecanismo interno oculto que puede convertir cualquier moneda a la moneda de la cuenta. En este caso, OrderCalcMargin 1000 NOK lo convierte en el número de USD correspondiente y lo emite.
Por favor, haz que este mecanismo sea abierto. Por ejemplo,
Estos tipos de cambio están disponibles al 100% en el terminal, ya que OrderCalcMargin los calcula. Su trabajo es especialmente notable en las cuentas MetaQuotes-Demo USD cuando se toman los símbolos FORTS - su moneda de margen está en RUR.
Esto es especialmente relevante debido al chip/bicho TickValue
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
fxsaber, 2017.02.28 10:48
Metaquotes-Demo, cuenta en USD, RTS-3.17.
TickValue da un valor erróneo - en rublos, no en la moneda de la cuenta (USD).
FxPro-ECN. Los símbolos GOLD y GOLDEURO tienen el mismo TickValue. Aunque, obviamente, deberían ser diferentes en tiempos del EURUSD.
Возвращает количество действующих ордеров.
int OrdersTotal();
Возвращаемое значение
Значение типа int.
Примечание
Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.
При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".
При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.
Смотри также
OrderSelect(), OrderGetTicket(), Свойства ордеров
" órdenes pendientes activas", y órdenes pendientes NO activas ,¿qué son?
Hola, estoy leyendo la documentación:
Возвращает количество действующих ордеров.
int OrdersTotal();
Возвращаемое значение
Значение типа int.
Примечание
Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.
При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".
При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.
Смотри также
OrderSelect(), OrderGetTicket(), Свойства ордеров
" órdenes pendientesválidas", y órdenes pendientes NO válidas ,¿qué son?
Órdenes pendientes - bystop, sellstop, bylimit y bystop.
Posiciones - compra y venta.
No activo - órdenes borradas y posiciones cerradas.
Órdenes pendientes - bystop, sellstop, bylimit y bystop.
Posiciones - compra y venta.
No activo - órdenes borradas y posiciones cerradas.
Dado que una orden es una orden para realizar una operación comercial, sólo las órdenes pendientes pueden considerarse "órdenes activas", mientras que las posiciones de compra y venta no son órdenes para realizar una operación comercial. ¿O me estoy "perdiendo algo"?