Nueva API MetaTrader 4 DISPONIBLE

 

¡Hola, amigos!

Hemos desarrollado una dll capaz de manejar varias instancias de la terminal de cliente MT4 en segundo plano, lo que permite el inicio de sesión en varias cuentas y múltiples corredores simultáneamente (MAX. 32).

El objetivo principal, que tuvimos en cuenta, al desarrollar esta API fue permitir el manejo de órdenes en los brokers de MetaTrader desde otros softwares, por ejemplo MetaStock.

Esta API tiene más de 55 funciones que proporcionan información sobre:

  • Símbolos e Historial;
  • Cuentas, incluyendo soporte para AccountFreeMarginCheck();
  • Órdenes, leyendo el historial/órdenes abiertas, enviando cualquier tipo de ellas (compra/venta, límite/parada, ...), y cambiando el take profit, stop loss, etc;
  • Información de mercado, utilizada principalmente para recuperar Bid/Ask;
  • Errores ocurridos en cada cuenta;
  • y algunas funciones de comprobación.

Esta instalación está comprimida y disponible para su descarga en http://www.itevolution.com.br/tz/files/TZMT4API.zip

Puede utilizarla en cualquier plataforma que desee. Hay un texto dentro de la instalación (<TZAPIFolder>\Developer) que describe todas las funciones y su cabecera en C, y también una cabecera en Delphi.

Esta API también se puede utilizar en MT4 como el ejemplo de código a continuación.

#import "tzmt4api.dll"     
   int     LogIn_MT4(int login, string password, string server, string proxyserver, string proxytype, string proxylogin, string proxypassword);
   int     LogOut_MT4(int handle);
   
   int     SymbolsTotal_MT4(int handle);
   string  SymbolGet_MT4(int handle, int index);
      
   double  AccountBalance_MT4(int handle);
   double  AccountCredit_MT4(int handle);
   string  AccountCompany_MT4(int handle);
   string  AccountCurrency_MT4(int handle);
   double  AccountEquity_MT4(int handle);
   double  AccountFreeMargin_MT4(int handle);
   double  AccountFreeMarginMode_MT4(int handle);
   int     AccountLeverage_MT4(int handle);
   double  AccountMargin_MT4(int handle);
   string  AccountName_MT4(int handle);
   int     AccountNumber_MT4(int handle);
   double  AccountProfit_MT4(int handle);
   string  AccountServer_MT4(int handle);
   int     AccountStopoutLevel_MT4(int handle);
   int     AccountStopoutMode_MT4(int handle);
   double  AccountFreeMarginCheck_MT4(int handle, string symbol, int cmd, double volume);
   
   int     OrdersTotal_MT4(int handle);
   int     OrdersHistoryTotal_MT4(int handle);
   int     OrderGet_MT4(int handle, int index, int select, int pool);
   double  OrderClosePrice_MT4(int handle, int ticket);
   int     OrderCloseTime_MT4(int handle, int ticket);
   string  OrderComment_MT4(int handle, int ticket);
   double  OrderCommission_MT4(int handle, int ticket);
   int     OrderDelete_MT4(int handle, int ticket);
   int     OrderExpiration_MT4(int handle, int ticket);
   double  OrderLots_MT4(int handle, int ticket);
   int     OrderMagicNumber_MT4(int handle, int ticket);
   double  OrderOpenPrice_MT4(int handle, int ticket);
   int     OrderOpenTime_MT4(int handle, int ticket);
   double  OrderProfit_MT4(int handle, int ticket);
   double  OrderStopLoss_MT4(int handle, int ticket);
   double  OrderSwap_MT4(int handle, int ticket);
   string  OrderSymbol_MT4(int handle, int ticket);
   double  OrderTakeProfit_MT4(int handle, int ticket);
   int     OrderType_MT4(int handle, int ticket);
   bool    OrderClose_MT4(int handle, int ticket, double lots, double price, int slippage);
   bool    OrderCloseBy_MT4(int handle, int ticket, int opposite);
   bool    OrderModify_MT4(int handle, int ticket, double price, double stoploss, double takeprofit, int expiration);
   int     OrderSend_MT4(int handle, string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment, int magic, int expiration);
   
   double  MarketInfo_MT4(int handle, string  symbol, int type);
   int     GetTickCount_MT4(int handle);
   int     GetLastError_MT4(int handle);
   string  ErrorDescription_MT4(int errorcode);
   bool    IsConnected_MT4(int handle);
   bool    IsDemo_MT4(int handle);
   bool    IsTradeContextBusy_MT4(int handle);
   int     TimeCurrent_MT4(int handle);
#import

Un saludo y que el comercio sea rentable.

 

delphi no está instalado.

function AccountCurrency_MT4(handle: integer) : pchar; external 'tzmt4api.dll';
function AccountCurrency_MT4(hanle: integer) : pchar; stdcall;

 
Mehmet wrote >>

delphi no está instalado.

function AccountCurrency_MT4(handle: integer) : pchar; external 'tzmt4api.dll';
function AccountCurrency_MT4(hanle: integer) : pchar; stdcall;

¡Ops!

por favor, descargue de nuevo.

 

Gracias.

por favor, envíenme un proyecto delphi.

 

Tengo una demo de Interbank fx . como hacer el uso en delphi. por favor una muestra corta.

 
TradeZone wrote >>

¡Hola, amigos!

Hemos desarrollado una dll capaz de manejar varias instancias de la terminal de cliente MT4 en segundo plano, lo que permite el inicio de sesión en varias cuentas y múltiples corredores simultáneamente (MAX. 32).

El objetivo principal, que tuvimos en cuenta, al desarrollar esta API fue permitir el manejo de órdenes en los brokers de MetaTrader desde otros softwares, por ejemplo MetaStock.

Esta API tiene más de 55 funciones que proporcionan información sobre:

  • Símbolos e Historial;
  • Cuentas, incluyendo soporte para AccountFreeMarginCheck();
  • Órdenes, leyendo el histórico/órdenes abiertas, enviando cualquier tipo de ellas (compra/venta, límite/parada, ...), y cambiando el take profit, stop loss, etc;
  • Información de mercado, utilizada principalmente para recuperar Bid/Ask;
  • Errores ocurridos en cada cuenta;
  • y algunas funciones de comprobación.

Esta instalación está comprimida y disponible para su descarga en http://www.itevolution.com.br/tz/files/TZMT4API.zip

Puede utilizarla en cualquier plataforma que desee. Hay un texto dentro de la instalación (<TZAPIFolder>\Developer) que describe todas las funciones y su cabecera en C, y también una cabecera en Delphi.

Esta API también se puede utilizar en MT4 como el ejemplo de código a continuación.

Un saludo y que el comercio sea rentable.

No puedo obtener ningún valor

después de iniciar sesión (handle/result=1)

accountbalance devuelve 8 (balance real=1000)

accountcompany devuelve 16273773 (algún número como este)

No entiendo cómo utilizar la función Dispose_MT4.

¿Alguien ha conseguido que esto funcione?

Gracias

SB

 
Mehmet wrote >>

Tengo una demo de Interbank fx . como hacer el uso en delphi. por favor una muestra corta.

Estamos construyendo una muestra corta de delphi pronto.

 
forex.sb wrote >>

No puedo obtener ningún valor

después de iniciar sesión (handle/result=1)

accountbalance devuelve 8 (saldo real=1000)

accountcompany devuelve 16273773 (algún número como este)

No entiendo cómo utilizar la función Dispose_MT4.

¿Alguien ha conseguido que esto funcione?

Gracias

SB

Vamos a dar un pequeño ejemplo en delphi y en mql4 también. Hasta que esto ocurra intenta usar GetLastError_MT4() y ErrorDescription_MT4() después de que se registre, puede darte algunas pistas.

 

Acabamos de terminar un pequeño ejemplo de delphi.

Aquí está: http://www.itevolution.com.br/tz/files/Short_Sample_Delphi.zip

El ejecutable está dentro del paquete anterior.

Para una prueba rápida:

  1. Ejecutar Sample.exe
  2. Presione Login
  3. Pulse Información de la cuenta, la información se mostrará en el lado derecho
  4. Pulse Símbolos, todos los símbolos disponibles se mostrarán en el lado derecho
  5. Pulse Enviar Orden, y se enviará una orden. Para verificar esta orden, puede entrar en la cuenta utilizando el terminal de cliente MetaTrader

Un saludo y que el comercio sea rentable.

 
Gracias,
¿Pero qué pasa con los archivos .SRV, cómo puedo cambiar su ubicación a la de mi programa?
 
haitham_elnemr wrote >>
Gracias,
Pero ¿qué pasa con los archivos .SRV, cómo podría cambiar su ubicación a mi ubicación del programa?

¡Hola, haitham!

Creo que quieres construir un solo paquete de instalación, ¿estoy en lo cierto?

Si es así, usted puede copiar en usted todos los archivos, manteniendo la estructura de la carpeta, que está dentro de <Archivos de Programa\TradeZone\TZMT4API> y tzmt4api.dll bajo <system32>.

Otra cosa que tienes que hacer: en el registro, apunta la carpeta bajo [HKEY_CURRENT_USER\Software\TradeZone\TZMT4API] a la ubicación de tu programa

Ejemplo:

[HKEY_CURRENT_USER\Software\TradeZone\TZMT4API]
"Carpeta"="mi ubicación del programa"


Saludos cordiales.