brokeragecheap / meta-five
Metatrader 5 Web API Wrapper for Laravel
Requires (Dev)
- orchestra/testbench: ^6.0
This package is not auto-updated.
Last update: 2024-09-17 13:01:43 UTC
README
这是用于 Metatrader 5 Web API 的 Laravel 8.x 包包装库
文档
Packagist
https://packagist.org.cn/packages/BrokerageCheap/meta-five.
安装
要安装此包,请在终端中
composer require BrokerageCheap/meta-five
配置
如果您不使用自动发现,请将 ServiceProvider 添加到 config/app.php 中的 providers 数组
BrokerageCheap\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 BrokerageCheap\MetaFive\Entities\Trade; use BrokerageCheap\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 BrokerageCheap\MetaFive\Entities\User; use BrokerageCheap\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 BrokerageCheap\MetaFive\Facades\Client; $user = Client::getTradingAccounts($login); $balance = $user->Balance; $equity = $user->Equity; $freeMargin = $user->MarginFree;
通过登录号获取交易历史
use BrokerageCheap\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 BrokerageCheap\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 许可证 许可。