Новый API MetaTrader 4 ДОСТУПЕН

 

Здравствуйте, друзья!

Мы разработали dll, способную обрабатывать несколько экземпляров клиентского терминала MT4 в фоновом режиме, позволяя входить в несколько счетов и несколько брокеров одновременно (MAX. 32).

Основная цель, которую мы имели в виду, разрабатывая этот API - это возможность обработки ордеров в брокерах MetaTrader из других программ, например, MetaStock.

Данный API содержит более 55 функций, которые позволяют получить информацию о:

  • Символах и истории;
  • Счетах, включая поддержку AccountFreeMarginCheck();
  • Ордера, чтение исторических/открытых ордеров, отправка любого их вида (покупка/продажа, лимит/стоп, ...), а также изменение тейк-профита, стоп-лосса и т.д.;
  • Market Info, используется в основном для получения Bid/Ask;
  • Ошибки, произошедшие на каждом счете;
  • и некоторые проверочные функции.

Эта установка заархивирована и доступна для загрузки по адресу http://www.itevolution.com.br/tz/files/TZMT4API.zip.

Вы можете использовать ее на любой платформе. Внутри установки есть текст (<TZAPIFolder>\Developer), описывающий все функции и его заголовок на C, а также заголовок для Delphi.

Этот API также может быть использован в MT4, как пример кода ниже.

#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

С наилучшими пожеланиями и прибыльной торговли!

 

delphi не установлен.

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

 
Mehmet wrote >>

delphi не установлен.

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

Опс!

пожалуйста, скачайте снова.

 

Спасибо.

пожалуйста, пришлите мне проект на delphi.

 

У меня есть демо-версия межбанковского валютного рынка. как использовать в delphi. пожалуйста, небольшой пример.

 
TradeZone wrote >>

Здравствуйте, друзья!

Мы разработали dll, способную обрабатывать несколько экземпляров клиентского терминала MT4 в фоновом режиме, позволяя входить в несколько счетов и несколько брокеров одновременно (MAX. 32).

Основная цель, которую мы имели в виду, разрабатывая этот API - это возможность обработки ордеров в брокерах MetaTrader из других программ, например, MetaStock.

Данный API содержит более 55 функций, которые позволяют получить информацию о:

  • Символах и истории;
  • Счетах, включая поддержку AccountFreeMarginCheck();
  • Ордера, чтение исторических/открытых ордеров, отправка любого их вида (покупка/продажа, лимит/стоп, ...), а также изменение тейк-профита, стоп-лосса и т.д.;
  • Market Info, используется в основном для получения Bid/Ask;
  • Ошибки, произошедшие на каждом счете;
  • и некоторые проверочные функции.

Эта установка заархивирована и доступна для загрузки по адресу http://www.itevolution.com.br/tz/files/TZMT4API.zip.

Вы можете использовать ее на любой платформе. Внутри инсталляции есть текст (<TZAPIFolder>\Developer), описывающий все функции и его заголовок на C, а также заголовок для Delphi.

Этот API также может быть использован в MT4, как пример кода ниже.

С наилучшими пожеланиями и прибыльной торговли!

Я не могу получить никаких значений

после входа в систему (handle/result=1)

accountbalance возвращает 8 (реальный баланс=1000)

accountcompany возвращает 16273773 (какое-то число вроде этого).

Я не понимаю, как использовать функцию Dispose_MT4.

У кого-нибудь получилось это сделать?

Спасибо

SB

 
Mehmet wrote >>

У меня есть демо Interbank fx. как использовать в delphi. пожалуйста, короткий пример.

Мы скоро создадим короткий образец delphi.

 
forex.sb wrote >>

Я не могу получить никаких значений

после входа в систему (handle/result=1)

accountbalance возвращает 8 (реальный баланс=1000)

accountcompany возвращает 16273773 (какое-то число вроде этого).

Я не понимаю, как использовать функцию Dispose_MT4.

У кого-нибудь получилось это сделать?

Спасибо

SB

Мы предоставим небольшой пример в delphi и в mql4 тоже. А пока попробуйте использовать GetLastError_MT4() и ErrorDescription_MT4() после записи в журнал, это может дать вам некоторые подсказки.

 

Мы только что закончили небольшой пример на delphi.

Вот он: http://www.itevolution.com.br/tz/files/Short_Sample_Delphi.zip

Исполняемый файл находится внутри пакета выше.

Для быстрого теста:

  1. Запустите Sample.exe
  2. Нажмите Login
  3. Нажмите Информация о счете, информация будет отображена с правой стороны
  4. Нажмите Символы, все доступные символы будут отображены справа.
  5. Нажмите Send Order, и ордер будет отправлен. Чтобы проверить этот ордер, вы можете войти на счет с помощью клиентского терминала MetaTrader.

Всего наилучшего и прибыльной торговли!

 
Спасибо,
Но что насчет .SRV файлов, как я могу изменить их расположение на расположение моей программы?
 
haitham_elnemr wrote >>
Спасибо,
Но что насчет .SRV файлов, как я могу изменить их расположение на расположение моей программы?

Привет, Хайтам!

Я думаю, что вы хотите создать единый установочный пакет, я прав?

Если да, то вы можете самостоятельно скопировать все файлы, сохранив структуру папки, которая находится внутри <Program Files\TradeZone\TZMT4API> и tzmt4api.dll в <system32>.

Еще одна вещь, которую вы должны сделать: в реестре укажите папку [HKEY_CURRENT_USER\Software\TradeZone\TZMT4API] на расположение вашей программы.

Образец:

[HKEY_CURRENT_USER\Software\TradeZone\TZMT4API]
"Папка"="местоположение моей программы"


С наилучшими пожеланиями.