[¡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 188
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
Intento de calcular los intercambios, pero no funciona
Este es el código que muestra los intercambios de las últimas 20 operaciones.
for ( int j=OrdersHistoryTotal( )-1; j>=OrdersHistoryTotal( )-21; j--) {
OrderSelect(j, SELECT_BY_POS, MODE_HISTORY);
if(OrderType()==OP_BUY)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPLONG)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
if(OrderType()==OP_SELL)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPSHORT)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
}
Por alguna razón, la diferencia es un múltiplo de 10.
Es decir, el canje calculado es 10 veces mayor que el real.
No puedo ni siquiera adivinar lo que está mal aquí.
MarketInfo(OrderSymbol(),MODE_SWAPTYPE) devuelve uno, entonces
"Método de cálculo de los swaps 1 - en la moneda base del instrumento;"
Tomo el valor del swap en pips, que devuelve
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
Multiplico este valor por Bid,
*MarketInfo(OrderSymbol(),MODE_BID)
entonces a el tamaño del lote
*OrderLots()
y multiplicando por el valor de un punto en la moneda de depósito de un lote
*MarketInfo(OrderSymbol(),MODE_TICKVALUE)
Los valores devueltos son:
EURGBP LOTE = 0,46000000 SWAP REAL = -1,31000000 SWAP ESTIMADO -13,05244609
Por favor, dígame cómo hacerlo))
doble MA1,MA2;
MA1=iMA(....,0);
MA2=iMA(....,3);
si (MA1-MA2>Punto)//MA mira hacia arriba
si (MA1-MA2,-Punto)//MA mira hacia abajo
Multiplico este valor por Bid,
*MarketInfo(OrderSymbol(),MODE_BID)
¿Para qué es eso?
Por favor, dígame cómo hacerlo))
doble MA1,MA2;
MA1=iMA(....,0);
MA2=iMA(....,3);
si (MA1-MA2>Punto)//MA mira hacia arriba
si (MA1-MA2,-Punto)//MA está mirando hacia abajo
Muchas gracias))
¿Para qué sirve esto?
No he podido encontrar una descripción de lo que devuelve
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
Llegué a la conclusión de que este es el tamaño de los puntos de EUR en la cotización de EURGBP , así que lo multipliqué por BID para obtener cuánto es en GBP
La cuestión es que
MarketInfo(OrderSymbol(),MODE_TICKVALUE)
Devuelve el valor en puntos por lote sólo para la GBP en la cotización EURGBP, no para el EUR.
En ninguna parte he encontrado una descripción de lo que devuelve el valor
Por alguna razón seguía pensando que todos los cálculos eran en la moneda del depósito.
Función MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Devuelve un valor entero de -2, el mismo que para las demás órdenes. Por lo tanto, asumo que este es el valor de los puntos.
Supongamos que este es el valor del swap expresado en pips de nuestra moneda de depósito.
Moneda de depósito = USD
Multiplicar
MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Por número de lotes
*OrderLots()
Multiplique también por el valor de un pip de nuestra moneda de depósito por lote
*10
Obtenga
SWAP = -9.20000000
En lugar de
INTERCAMBIO REAL = -1.31000000
Función MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Devuelve un valor entero de -2, el mismo que para las demás órdenes. Por lo tanto, asumo que este es el valor de los pips.
Para el EURGBP devuelve 0 (esto es Alpari) para los cortos y -0,68 para los largos y esto es exactamente en dólares.
Por decirlo crudamente: