Nouvelle API MetaTrader 4 DISPONIBLE

 

Salut les amis !

Nous avons développé une dll capable de gérer plusieurs instances du terminal client MT4 en arrière-plan, permettant la connexion à plusieurs comptes et plusieurs courtiers simultanément (MAX. 32).

L'objectif principal que nous avons gardé à l'esprit lors du développement de cette API était de permettre la gestion des ordres dans les courtiers MetaTrader à partir d'autres logiciels, par exemple MetaStock.

Cette API a plus de 55 fonctions qui fournissent des informations sur :

  • Les symboles et l'historique ;
  • Les comptes, y compris le support de AccountFreeMarginCheck() ;
  • Les ordres, en lisant les ordres historiques/ouverts, en envoyant n'importe quel type d'ordre (achat/vente, limite/stop, ...), et en changeant le take profit, le stop loss, etc ;
  • Market Info, utilisé principalement pour récupérer les Bid/Ask ;
  • Erreurs survenues dans chaque compte ;
  • et quelques fonctions de vérification.

Cette installation est zippée et peut être téléchargée à l'adresse http://www.itevolution.com.br/tz/files/TZMT4API.zip.

Vous pouvez l'utiliser sur la plateforme de votre choix. Il y a un texte dans l'installation (<TZAPIFolder>\Developer) décrivant toutes les fonctions et son en-tête en C, ainsi qu'un en-tête en Delphi.

Cette API peut également être utilisée dans MT4 comme l'exemple de code ci-dessous.

#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

Meilleures salutations et commerce profitable !

 

delphi n'est pas installé.

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

 
Mehmet wrote >>

delphi n'est pas installé.

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

Ops !

veuillez télécharger à nouveau.

 

Merci.

veuillez m'envoyer un projet delphi.

 

j'ai une démo Interbank fx. comment l'utiliser dans delphi. svp un petit échantillon.

 
TradeZone wrote >>

Salut les amis !

Nous avons développé une dll capable de gérer plusieurs instances du terminal client MT4 en arrière-plan, permettant la connexion à plusieurs comptes et plusieurs courtiers simultanément (MAX. 32).

L'objectif principal que nous avons gardé à l'esprit lors du développement de cette API était de permettre la gestion des ordres dans les courtiers MetaTrader à partir d'autres logiciels, par exemple MetaStock.

Cette API a plus de 55 fonctions qui fournissent des informations sur :

  • Les symboles et l'historique ;
  • Les comptes, y compris le support de AccountFreeMarginCheck() ;
  • Les ordres, en lisant les ordres historiques/ouverts, en envoyant n'importe quel type d'ordre (achat/vente, limite/stop, ...), et en changeant le take profit, le stop loss, etc ;
  • Market Info, utilisé principalement pour récupérer les Bid/Ask ;
  • Erreurs survenues dans chaque compte ;
  • et quelques fonctions de vérification.

Cette installation est zippée et peut être téléchargée à l'adresse http://www.itevolution.com.br/tz/files/TZMT4API.zip.

Vous pouvez l'utiliser sur la plateforme de votre choix. Il y a un texte dans l'installation (<TZAPIFolder>\Developer) décrivant toutes les fonctions et son en-tête en C, ainsi qu'un en-tête en Delphi.

Cette API peut également être utilisée dans MT4 comme l'exemple de code ci-dessous.

Meilleures salutations et trade profitable !

Je ne peux pas obtenir de valeurs

après la connexion (handle/result=1)

accountbalance renvoie 8 (solde réel=1000)

accountcompany renvoie 16273773 (un nombre comme celui-ci)

Je ne comprends pas comment utiliser la fonction Dispose_MT4.

Quelqu'un a-t-il réussi à la faire fonctionner ?

Merci

SB

 
Mehmet wrote >>

j'ai une démo Interbank fx. comment l'utiliser dans delphi. s'il vous plaît un court échantillon.

Nous construisons un échantillon court de delphi bientôt.

 
forex.sb wrote >>

Je ne peux obtenir aucune valeur

après la connexion (handle/result=1)

accountbalance renvoie 8 (solde réel=1000)

accountcompany renvoie 16273773 (un nombre comme celui-ci)

Je ne comprends pas comment utiliser la fonction Dispose_MT4.

Quelqu'un a-t-il réussi à la faire fonctionner ?

Merci

SB

Nous vous fournirons un court exemple en delphi et en mql4 également. En attendant, essayez d'utiliser GetLastError_MT4() et ErrorDescription_MT4() après avoir été enregistré, cela peut vous donner quelques indices.

 

Nous venons de terminer un petit échantillon delphi.

Le voici : http://www.itevolution.com.br/tz/files/Short_Sample_Delphi.zip

L'exécutable est dans le paquet ci-dessus.

Pour un test rapide :

  1. Lancez Sample.exe
  2. Appuyez sur Login
  3. Appuyez sur Account Information, l'information sera affichée sur le côté droit.
  4. Appuyez sur Symboles, tous les symboles disponibles seront affichés sur le côté droit.
  5. Appuyez sur Send Order, et un ordre sera envoyé. Pour vérifier cet ordre, vous pouvez vous connecter au compte en utilisant le terminal client MetaTrader.

Meilleures salutations et commerce profitable !

 
Merci,
Mais qu'en est-il des fichiers .SRV, comment puis-je changer leur emplacement pour celui de mon programme ?
 
haitham_elnemr wrote >>
Merci,
Mais qu'en est-il des fichiers .SRV, comment puis-je changer leur emplacement pour celui de mon programme ?

Bonjour, haitham !

Je pense que vous voulez construire un seul paquet d'installation, n'est-ce pas ?

Si oui, vous pouvez copier sur vous tous les fichiers, en gardant la structure du dossier, qui est dans <Program Files\TradeZone\TZMT4API> et tzmt4api.dll sous <system32>.

Une autre chose que vous devez faire : dans le registre, pointez le dossier sous [HKEY_CURRENT_USER\Software\TradeZone\TZMT4API] vers l'emplacement de votre programme.

Exemple :

[HKEY_CURRENT_USER\Software\TradeZone\TZMT4API]
"Dossier" = "emplacement de mon programme".


Cordialement.