tarikh/php-mt5

Laravel的Metatrader 5 Web API包装器

1.7.1 2023-01-31 12:18 UTC

This package is auto-updated.

Last update: 2023-10-12 00:57:38 UTC


README

这是MT5 Web API的PHP包

文档

安装

要安装此包,请在终端中

composer require tarikh/php-mt5

使用方法

创建存款

use Tarikh\PhpMeta\Entities\Trade;
use Tarikh\PhpMeta\LaravelMt5;

use Tarikh\PhpMeta\MetaTraderClient;
use Tarikh\PhpMeta\Entities\User;
use Tarikh\PhpMeta\src\Lib\MTEnDealAction;

$server = "SERVER_MT4_IP";
$port = 443;
$login = "MANAGER LOGIN";
$password = "API PASSWORD";
$exampleLogin = 21001480007;

$client = new MetaTraderClient($server, $port, $login, $password);
$trade = new Trade();
$trade->setLogin(6000189);
$trade->setAmount(100);
$trade->setComment("Deposit");
$trade->setType(Trade::DEAL_BALANCE);
$result = $client->trade($trade);

结果变量将返回包含票据信息的Trade类,您可以通过调用$result->getTicket()来获取票据号

创建用户

use Tarikh\PhpMeta\MetaTraderClient;
use Tarikh\PhpMeta\Entities\User;

$server = "SERVER_MT4_IP";
$port = 443;
$login = "MANAGER LOGIN";
$password = "API PASSWORD";
$exampleLogin = 21001480007;

$client = new MetaTraderClient($server, $port, $login, $password);
$user = new User();
$user->setName("John Due");
$user->setEmail("john@due.com");
$user->setGroup("demo\demoforex");
$user->setLeverage("50");
$user->setPhone("0856123456");
$user->setAddress("Sukabumi");
$user->setCity("Sukabumi");
$user->setState("Jawa Barat");
$user->setCountry("Indonesia");
$user->setZipCode(1470);
$user->setMainPassword("Secure123");
$user->setInvestorPassword("NotSecure123");
$user->setPhonePassword("NotSecure123");

$result = $client->createUser($user);

结果变量将返回包含登录信息的User类,您可以通过调用$result->getLogin()来获取登录号

更改客户端密码

use Tarikh\PhpMeta\MetaTraderClient;

$server = "SERVER_MT4_IP";
$port = 443;
$login = "MANAGER LOGIN";
$password = "API PASSWORD";
$exampleLogin = 21001480007;

$client = new MetaTraderClient($server, $port, $login, $password);
// $type = "MAIN"; // Change $type to INVESTOR if you want to change investor password
$client->changePasswordUser($exampleLogin, 'SecurePassword', $type);

按票据ID获取订单

use Tarikh\PhpMeta\MetaTraderClient;

$server = "SERVER_MT4_IP";
$port = 443;
$login = "MANAGER LOGIN";
$password = "API PASSWORD";
$exampleLogin = 21001480007;

$client = new MetaTraderClient($server, $port, $login, $password);
$order = $client->getOrder($ticket = 100);

获取用户信息

use Tarikh\PhpMeta\MetaTraderClient;

$server = "SERVER_MT4_IP";
$port = 443;
$login = "MANAGER LOGIN";
$password = "API PASSWORD";
$exampleLogin = 21001480007;

$client = new MetaTraderClient($server, $port, $login, $password);
$user = $client->getUser($exampleLogin);
var_dump($user);

获取最后报价(价格)

use Tarikh\PhpMeta\MetaTraderClient;

$server = "SERVER_MT4_IP";
$port = 443;
$login = "MANAGER LOGIN";
$password = "API PASSWORD";
$exampleLogin = 21001480007;

$client = new MetaTraderClient($server, $port, $login, $password);

// symbol — comma separated symbols, the prices of which should be received. The value length must not exceed 4096 characters. You may use the mask "*" and the negation sign "!" to specify groups of symbols. Example.
// symbol=EURUSD,USDJPY — get quotes for symbols EURUSD and USDJPY.
// symbol=Forex\Major*, GOLD — get quotes of all symbols from the Major subgroup and quotes of GOLD.
// symbol=Forex\Crosses*,!AUDUSD — get quotes of all symbols of the Crosses subgroup except AUDUSD.
// symbol=Forex\Major\EUR* — get quotes of all symbols with the basic currency EUR from the Major subgroup.

$ticks = $client->getLastTick("AUDCAD");
foreach ($ticks as $key => $tick) {
    echo "{$tick->Symbol} BID {$tick->Bid} {$tick->Ask}\n";
}

获取图表数据(价格)

use Tarikh\PhpMeta\MetaTraderClient;

$server = "SERVER_MT4_IP";
$port = 443;
$login = "MANAGER LOGIN";
$password = "API PASSWORD";
$exampleLogin = 21001480007;


$api = new MetaTraderClient($server, $port, $login, $password, false);

$symbol = 'EURUSD';
$from = 1677710460;
$to = 1678576993;
$chartBar = $api->chartGet($symbol, $from, $to);

var_dump($chartBar);

待办事项

  • 存款或取款
  • 创建账户
  • 更改密码
  • 按票据ID获取订单
  • 获取用户信息
  • 获取最后报价(价格)
  • 获取图表数据
  • 获取账户
  • 删除账户
  • 获取交易
  • 获取组

贡献

感谢您考虑为Laravel MT5做出贡献!您可以fork此仓库并提交pull request。

安全漏洞

如果您在Laravel MT5中发现了安全漏洞,请通过agustia.tarikh150@gmail.com将邮件发送给Tarikh Agustia。所有安全漏洞都将得到及时处理。

许可证

Laravel框架是开源软件,使用MIT许可证