Oh, aquí está el MÁS delicioso en la "Sala de Lectura" apareció, vamos a leer qué y cómo ...
Especialmente de tal autor. :)
También me gustaría ver la función de cálculo de swaps. Hay 5 tipos de swaps, y cada uno tiene sus matices.
A veces no se llega al lugar correcto por el método científico.
He encontrado tres variantes por selección, pero todavía hay SYMBOL_SWAP_MODE_BY_INTEREST. No puedo comprobarlo porque no puedo encontrar un corredor con este método de cálculo.
Por favor - si hay una posibilidad de publicar en CodeBase la función de cálculo de swap para la moneda y el lote especificados - estaremos agradecidos.
También me gustaría ver la función de cálculo de swaps. Hay 5 tipos de swaps, y cada uno tiene sus matices.
A veces no se llega al lugar correcto por el método científico.
He encontrado tres variantes por selección, pero todavía hay SYMBOL_SWAP_MODE_BY_INTEREST. No puedo comprobarlo porque no puedo encontrar un corredor con este método de cálculo.
Por favor - si hay una posibilidad de publicar en CodeBase la función de cálculo de swap para la moneda y el lote especificados - estaremos agradecidos.
Если даже торговля на данном счете разрешена, то это еще не означает, что эксперт имеет право торговать. Чтобы проверить, разрешено ли торговать эксперту, пишем:
¿Cuáles son estos casos, el comercio está permitido, pero el Asesor Experto no se le permite el comercio?
¿Se trata de la prohibición del broker o de la configuración del terminal?
Por analogía con 4 : - " ...si el experto está autorizado a negociar y el flujo para las operaciones comerciales es libre..."
es decir, IsTradeAllowed = IsExpertEnabled + IsTradeContextBusy ??? ?
¡Interesante y necesario artículo! Traté de comprobar las fórmulas en este artículo y esto es lo que obtuve. Tomemos EURGBP como ejemplo. La divisa de la cuenta está en dólares. El par de divisas más cercano es EURUSD, es decir, mode=true. ¿Hasta aquí todo bien? Utilizamos las fórmulas del artículo para determinar el margen necesario:
if(direction==POSITION_TYPE_BUY)
{
//--- cita inversa
if(mode)
{
//--- cuenta al precio de compra para la cotización inversa
calc_price=tick.ask;
answer=lot*lot_size*calc_price;
}
...
if(direction==POSITION_TYPE_SELL)
{
//--- cita inversa
if(mode)
{
//--- cuenta por precio de venta para la cotización inversa
calc_price=tick.bid;
answer=lot*lot_size*calc_price;
}
Es decir, al comprar, según el artículo, el margen requerido debe ser:
COMPRA: margen = lote*tamaño_lote*tick_ask/apalancamiento
y al vender:
VENDER: margen = lote*tamaño_lote*tick_puja/apalancamiento
Codificamos estas fórmulas en un EA sencillo e intentamos vender y comprar EURUSD con fondos bajos por adelantado para que el metatrader nos diga qué margen es necesario. Al mismo tiempo emitimos nuestro margen calculado. Obtenemos estos mensajes del probador:
2010.07.06 16:34:01 Core 1 no enough money [instant sell 0.10 EURGBP at 0.82227 sl: 0.83296 tp: 0.79796]
2010.07.06 16:34:01 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.91, NewFreeMargin: -112.91 - margen calculado por el probador
2010.07.06 16:34:01 Core 1 Error: no hay dinero suficiente. Margen libre = 10, margen requerido = 122.899 - margen calculado por nosotros.
2010.07.06 16:34:01 Core 1 no hay suficiente dinero [instant buy 0.10 EURGBP at 0.81247 sl: 0.80191 tp: 0.82988]
2010.07.06 16:34:01 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.72, NewFreeMargin: -112.72 - margen calculado por el probador
2010.07.06 16:34:01 Core 1 Error: no hay dinero suficiente. Margen libre = 10, margen requerido = 122.737 - margen calculado por nosotros.
Hay una diferencia. Ahora cambiamos las fórmulas para calcular el margen necesario a
COMPRA: margen = lote*tamaño_lote*puja/apalancamiento
VENTA: margen = lote*tamaño_lote*tick_demanda/apalancamiento
lo que contradice el artículo. Recibimos tales mensajes del probador:
2010.07.06 16:39:49 Core 1 no enough money [instant sell 0.10 EURGBP at 0.82227 sl: 0.83296 tp: 0.79796]
2010.07.06 16:39:49 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.91, NewFreeMargin: -112.91 - margen calculado por el probador
2010.07.06 16:39:49 Core 1 Error: no hay dinero suficiente. Margen libre = 10, margen requerido = 122.911 - margen calculado por nosotros
2010.07.06 16:39:49 Core 1 no hay suficiente dinero [instant buy 0.10 EURGBP at 0.81247 sl: 0.80191 tp: 0.82988]
2010.07.06 16:39:49 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.72, NewFreeMargin: -112.72 - margen calculado por el probador
2010.07.06 16:39:49 Core 1 Error: no hay suficiente dinero. Margen libre = 10, margen requerido = 122.722 - margen calculado por nosotros
.
Aquí el margen calculado por el Asesor Experto utilizando el método "incorrecto" es exactamente el mismo que el margen calculado por el probador. Resulta que tanto en el comprobador como en el artículo se reordenan el bid y el ask al calcular cruces como el EURGBP. ¿Quién tiene razón: el artículo o el comprobador?
El artículo es bueno y útil para mí.
Tanto para la comprensión como para ahorrar tiempo. Gracias
No entiendo lo que conseguimos con esta función.
¿No debería dividirse el valor del contrato por el apalancamiento?
- www.mql5.com
El artículo es bueno y útil para mí.
Tanto para la comprensión como para ahorrar tiempo. Gracias
No entiendo lo que conseguimos con esta función.
¿No debería dividirse el valor del contrato por el apalancamiento?
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Funciones para la Gestión de fondos en un Expert Advisor:
El desarrollo de estrategias de trading se basa inicialmente en la búsqueda de pautas para entrar y salir del mercado, así como en el mantenimiento de las posiciones. Si somos capaces de poner algunas pautas en forma de reglas para el trading automatizado, entonces se encargará el trader del cálculo del volumen de las posiciones, el valor de los diferenciales, así como el mantenimiento de un nivel seguro de fondos hipotecarios para garantizar las posiciones abiertas en el modo automatizado. En este artículo usaremos el lenguaje MQL5 para realizar ejemplos sencillos sobre cómo llevar a cabo estos cálculos.
Autor: MetaQuotes Software Corp.