Funcionalidad

Con este script podemos abrir una orden de venta a mercado sobre el activo de la ventana donde se ejecute, de forma similar a como venderíamos acciones normales, pero independizándonos de los cambios de moneda que haya que realizar si el activo cotiza en una divisa distinta a la de nuestra cuenta. Se puede abrir por uno de los siguientes criterios:

  • especificando el número de contratos directamente
  • especificando cuánto dinero se quiere invertir, en moneda de la cuenta, independientemente del dinero que se tenga en balance
  • especificando qué porcentaje del dinero en balance quiero invertir, en moneda de la cuenta

Es importante indicar que la operación se llevará a cabo sólo si el mercado está abierto y se dispone de suficiente dinero en garantía para abrir la posición. No se configura automáticamente ningún stop de pérdidas ni objetivo de beneficios. Si todo es correcto, se abrirá una pantalla de «verificación de orden», que debe ser Aceptada para que se ejecute.

Para que el script pueda abrir la posición, requiere que esté activo el botón de AutoTrading. Es importante asegurarse también que, en la ventana que se abre al lanzar el script, en la pestaña Común, esté marcada la opción de “permitir trading automático”.

Mientras se está ejecutando la operación, aparecerá el texto Vendiendo en mitad de la ventana, que desaparecerá automáticamente una vez se haya completado la orden. Mientras se realiza la operación, no se deberían realizar otras acciones sobre la ventana porque podría detener el proceso de venta.

Parámetros de entrada

magicOrder Identificador interno de aplicación que ha abierto la orden. Este número es común a todas las órdenes abiertas con software SMC. Aunque se puede cambiar al gusto, se recomienda no hacerlo para facilitar la compatibilidad con otras herramientas que pueden tratar la orden posteriormente. Una orden abierta con MT4 directamente usa un magicOrder 0

fixedLots Se pueden indicar exactamente con cuántos contratos se desean abrir. Hay que tener en cuenta el lotaje mínimo, máximo e intermedios permitidos. Para saber cuáles son estos límites, se puede usar la herramienta SMC_ShowData

maxRiskOrderAmount Se puede indicar cuánto dinero en valor absoluto se desea invertir en el activo, independientemente del apalancamiento que permita el broker y del dinero que haya en cuenta. Eso sí, debe haber suficiente dinero de margen libre para operar. Para calcular cuántas garantías se necesitan, se puede consultar el margen por contrato con la herramienta SMC_ShowData. Sólo se tendrá en cuenta éste dato si se ha indicado 0 en fixedLots

maxRiskOrderPercent Se puede indicar cuánto dinero en porcentaje del balance actual, se desea invertir en el activo, independientemente del apalancamiento que permita el broker y del dinero que haya en cuenta. Eso sí, debe haber suficiente dinero de margen libre para operar. Para calcular cuántas garantías se necesitan, se puede consultar el margen por contrato con la herramienta SMC_ShowData. Sólo se tendrá en cuenta éste dato si se ha indicado 0 en fixedLots y en maxRiskOrderAmount

generateGif Si se activa esta propiedad, se generará una imagen gif de la ventana sobre la que se ejecuta el script, una vez haya abierto la orden, y sólo si se ha abierto correctamente. La imagen se guardará en el directorio de MT4 MQL4\Files\SMC_CalculateOrders con el formato: <activo>_<id_orden>_<fecha>_<hora>_<timeframe del gráfico>_1_<operación realizada>

orderComment Se puede especificar un texto personalizado que se incluirá como comentario de la orden. Se puede ver el comentario tanto en el listado de «Operaciones» como de «Historial de cuentas». Si no aparece por defecto, pulsado con el ratón derecho del ratón en el listado correspondiente, se puede seleccionar «Comentarios» y entonces aparecerá.

Extra

Posibles usos para esta herramienta son:

Invertir una cantidad concreta de dinero en un activo.

Hay inversores que diversifican invirtiendo una misma cantidad de dinero en cada uno de los activos de la cartera. Para conseguirlo, en MT4 podemos usar esta herramienta. En el ejemplo, queremos invertir 2.000 dólares, por lo que configuramos las variables:

fixedLots=0.0

maxRiskOrderAmount=2000.0

El software calcula automáticamente cuántos contratos ha de abrir para que el importe total máximo invertido sea de 2000 dólares, independientemente de las monedas del activo. En este caso es el USDJPY y calcula que puede abrir 0,02 contratos. Si vemos la información de SMC_ShowData nos muestra que para invertir 100.000USD tenemos que abrir 1,00 contratos, por tanto para invertir 2.000 USD tendríamos que usar 2.000 / 100.000 = 0,02 contratos

Invertir un porcentaje del balance en un activo.

Hay inversores que deciden invertir en un número concreto de activos y deciden invertir lo mismo, un porcentaje concreto del balance para cada activo. En el ejemplo, queremos invertir el 60% del balance en USDJPY, por lo que configuramos las variables:

fixedLots=0.0

maxRiskOrderAmount=0.0

maxRiskOrderPercent=60.0

El software calcula automáticamente cuántos contratos ha de abrir para que el importe total máximo invertido sea del 60% del balance, independientemente de las monedas del activo. En este caso es el USDJPY y calcula que puede abrir 0,02 contratos. Si vemos la información de SMC_ShowData nos muestra que para invertir 100.000USD tenemos que abrir 1,00 contratos, por tanto para invertir 60% de 3442,73 =2065,638 USD tendríamos que usar 2.065 / 100.000 = 0,02065 contratos. Como han de ser múltiplos de 0,01 y no puede superar los 2065 USD invertidos, debemos abrir 0,02 contratos, quedando invertido sólo 2.000 USD, en lugar de los 2.065. El objetivo es abrir el máximo de contratos sin pasarse del dinero a invertir.

Galería de Imágenes