tarikhagustia/laravel-mt5

Metatrader 5 Web API 的 Laravel 封装器

1.4.1 2021-08-13 08:28 UTC

This package is auto-updated.

Last update: 2024-09-13 16:49:53 UTC


README

这是 Laravel 6.x 版本的 Metatrader 5 Web API 封装库

文档

安装

要安装此包,请在终端中

composer require tarikhagustia/laravel-mt5

配置

如果您不使用自动发现,请将 ServiceProvider 添加到 config/app.php 文件中的 providers 数组中

Tarikhagustia\LaravelMt5\LaravelMt5Provider::class,

使用发布命令将包配置复制到您的本地配置

php artisan vendor:publish --provider="Tarikhagustia\LaravelMt5\LaravelMt5Provider"

然后您可以使用此 .env 中的值来配置与 MT5 的连接信息

MT5_SERVER_IP=
MT5_SERVER_PORT=
MT5_SERVER_WEB_LOGIN=
MT5_SERVER_WEB_PASSWORD=

用法

创建存款

use Tarikhagustia\LaravelMt5\Entities\Trade;
use Tarikhagustia\LaravelMt5\LaravelMt5;

$api = new LaravelMt5();
$trade = new Trade();
$trade->setLogin(6000189);
$trade->setAmount(100);
$trade->setComment("Deposit");
$trade->setType(Trade::DEAL_BALANCE);
$result = $api->trade($trade);

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

创建用户

use Tarikhagustia\LaravelMt5\Entities\User;
use Tarikhagustia\LaravelMt5\LaravelMt5;

$api = new LaravelMt5();
$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 = $api->createUser($user);

获取交易账户信息

use Tarikhagustia\LaravelMt5\LaravelMt5;

$api = new LaravelMt5();
$user = $api->getTradingAccounts($login);

$balance = $user->Balance;
$equity = $user->Equity;
$freeMargin = $user->MarginFree;

通过登录号获取交易历史

use Tarikhagustia\LaravelMt5\LaravelMt5;

$api = new LaravelMt5();
// Get Closed Order Total and pagination
$total = $api->getOrderHistoryTotal($exampleLogin, $timestampfrom, $timestampto);
$trades = $api->getOrderHistoryPagination($exampleLogin, $timestampfrom, $timestampto, 0, $total);
foreach ($trades as $trade) {
    // see class MTOrder
    echo "LOGIN : ".$trade->Login.PHP_EOL;
    echo "TICKET : ".$trade->Order.PHP_EOL;
}

开仓订单

use Tarikhagustia\LaravelMt5\LaravelMt5;
$api = new LaravelMt5();
$api->dealerSend([
    'Login' => 8113,
    'Symbol' => 'XAUUSD',
    'Volume' => 100,
    'Type' => 0
});

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

待办事项

  • 存款或提款
  • 创建账户
  • 开仓订单
  • 获取交易账户信息
  • 更改密码
  • 创建组
  • 删除组
  • 获取账户
  • 删除账户
  • 获取交易
  • 获取组

贡献

感谢您考虑为 Laravel MT5 贡献!您可以通过 fork 此存储库并创建 pull request 来贡献。

安全漏洞

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

许可证

Laravel 框架是开源软件,根据 MIT 许可证 授权。