alisafirzadeh / php-mt5
适用于Laravel的Metatrader 5 Web API包装器
v1.7.1.1
2023-11-15 12:57 UTC
Requires
- php: ^8.0
- laravel/framework: ^9.0|^10.0
README
这是MT5 Web API的PHP包
文档
安装
要安装此包,请在终端中
composer require alisafirzadeh/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"; }
待办事项
- 存款或取款
- 创建账户
- 更改密码
- 按票据ID获取订单
- 获取用户信息
- 获取最后报价(价格)
- 获取账户
- 删除账户
- 获取交易
- 获取组
贡献
感谢您考虑为Laravel MT5做出贡献!您可以分叉此存储库并创建拉取请求。
安全漏洞
如果您在Laravel MT5中发现安全漏洞,请通过agustia.tarikh150@gmail.com将电子邮件发送给Tarikh Agustia。所有安全漏洞都将得到及时解决。
许可证
Laravel框架是开源软件,在MIT许可证下授权。