aleedhillon/meta-five

Metatrader 5 Web API Wrapper for Laravel

资助包维护!
aleedhillon

v1.1.1 2024-05-13 18:30 UTC

This package is auto-updated.

Last update: 2024-09-27 22:43:13 UTC


README

这是 Metatrader 5 Web API 的 Laravel 8.x 包封装库

适用于 MetaTrader 5 的现成 CRM 解决方案

寻找一个综合的现成 CRM 解决方案?无需再寻找!我们提供一款强大的 MT5 CRM 系统,旨在高效管理客户数据、交互和服务。

MT5 CRM 功能

  • 客户入驻:简化新客户注册和管理流程。
  • 沟通跟踪:记录详细的客户沟通记录,以提高服务和满意度。
  • 报告工具:生成有洞察力的报告,以提高生产力和客户满意度。
  • 账户间转账:促进账户间的无缝转账。
  • 手动和自动支付网关:轻松管理 MetaTrader 交易账户的存取款。
  • 充值和奖金:轻松管理客户的充值和奖金。
  • 公共网站管理:通过管理面板自定义和管理您的公共网站。
  • Web 交易员:为您的客户提供基于 Web 的交易平台。
  • 介绍经纪人功能:为介绍经纪人实施不同的佣金级别。
  • 用户和交易账户管理:全面工具来管理所有用户和交易账户。

我们的 MT5 CRM 旨在提高您的经纪公司的效率和客户关系。如果您对现成 CRM 解决方案感兴趣,请在联系时提供演示。

联系方式

如需更多信息或购买现成 CRM,请联系我们!

文档

Packagist

https://packagist.org.cn/packages/aleedhillon/meta-five.

安装

要安装此包,请在终端中

composer require aleedhillon/meta-five

配置

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

AleeDhillon\MetaFive\MetaFiveProvider::class,

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

php artisan vendor:publish --tag=meta-five-config

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

MT5_SERVER_IP=
MT5_SERVER_PORT=
MT5_SERVER_WEB_LOGIN=
MT5_SERVER_WEB_PASSWORD=

用法

创建存款

您可以通过将相同 trade 方法的值设为负数来提款。

use AleeDhillon\MetaFive\Entities\Trade;
use AleeDhillon\MetaFive\Facades\Client;

$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 AleeDhillon\MetaFive\Entities\User;
use AleeDhillon\MetaFive\Facades\Client;

$user = new User();
$user->setName("John Doe");
$user->setEmail("johndoe@example.com");
$user->setGroup("demo\demoforex");
$user->setLeverage("50");
$user->setPhone("0123456789");
$user->setAddress("Lahore");
$user->setCity("Lahore");
$user->setState("Punjab");
$user->setCountry("Pakistan");
$user->setZipCode(1470);
$user->setMainPassword("secret");
$user->setInvestorPassword("secret");
$user->setPhonePassword("secret");

$result = Client::createUser($user);

获取交易账户信息

use AleeDhillon\MetaFive\Facades\Client;

$user = Client::getTradingAccounts($login);

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

通过登录号获取交易历史

use AleeDhillon\MetaFive\Facades\Client;

// Get Closed Order Total and pagination
$total = Client::getOrderHistoryTotal($exampleLogin, $timestampfrom, $timestampto);
$trades = Client::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 AleeDhillon\MetaFive\Facades\Client;
Client::dealerSend([
    'Login' => 8113,
    'Symbol' => 'XAUUSD',
    'Volume' => 100,
    'Type' => 0
});

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

待办事项

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

这是正在进行中的工作,我可能会改进这个包或者用 Laravel 9 和 PHP 8 支持重写整个包。在这个版本中,我没有对核心做太多改动,在下一次我打算重写核心。

致谢

感谢 Tarikh Agustia 写了以下两个包,我从这些包中重写了当前这个包,并做了如使用 Laravel 单例模式提高速度和减少对 MT5 的 API 调用等改进。

贡献

感谢您考虑为 MetaFive 做贡献!您可以 fork 这个仓库并提交 pull request。

安全漏洞

如果您在MetaFive中发现安全漏洞,请通过aleedhx@gmail.com给Ali A. Dhillon发送电子邮件。所有安全漏洞都将得到及时处理。

许可证

MetaFive软件包是开源软件,遵循MIT许可证