spoiledwit / meta-five
Metatrader 5 Web API 的 Laravel 封装库
资助包维护!
aleedhillon
Requires (Dev)
- orchestra/testbench: ^6.0
This package is auto-updated.
Last update: 2024-09-11 16:38:29 UTC
README
这是 Laravel 8.x 的 Metatrader 5 Web API 封装库
文档
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 贡献!您可以分叉此存储库并创建 pull request。
安全漏洞
如果您在 MetaFive 中发现安全漏洞,请通过 aleedhx@gmail.com 发送电子邮件给 Ali A. Dhillon。所有安全漏洞都将得到及时处理。
许可证
MetaFive 包是开源软件,受 MIT 许可证 的许可。