I Try to write a trader bot with CCXT library with PHP Language.
First attach
require 'vendor/autoload.php';
Then
use ccxtlbank;
Continue I create an object Lbank in CCXT By follow code :
date_default_timezone_set('UTC');
//var_dump (ccxtExchange::$exchanges);
$lbank=new ccxtlbank();
$id = 'lbank';
$exchange = '\ccxt\' . $id;
$lbank_Exchange= new $exchange();
$exchange_id = 'lbank';
$exchange_class = "\ccxt\$exchange_id";
$exchange = new $exchange_class(array(
'apiKey' => '3462cef5-7db0-4cb6-bb93-74dc084d9fe9',
'secret' => 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJ+uWjcvKa1K4NtemmT7LmgoW1s2DYr+d/JIk3UU2dFUT/xPY9fNR6aiJ8SNd/d5WPN7z7TIO+TuOwmeo0GpjzGyRG1a1dmbmxxqR3H5o4a/gd2dJo/Dqf8WX/eLzDVjLGC3pXyWe8jeIRzYYvtbgkiQNu5xTRfYZ4I0roTp/EvfAgMBAAECgYEAnsjQewmSBvlriZiULRA9QGPJHHUumGWcvrd+sjFOu8J8WyhS31gJBOFAbEpE3jizxEL88wcdz/M5j8JJE1VZxnYonO2ev9wS3Ls7UHkRVFx2gzxWxhuDrtvbiSHetDJ08N7sRbW3H5PmzDufTNLCgB4hgAr0vluzM83fXq3HK9ECQQD2sXkc+LM6UfwvIdxm0gztisfD2ZQzMoXcGlqgjYfXsbDGUHPkzZ3NWOBa36CiTFdQBF2COX0Ew+A3pTl9a4w5AkEApbSHSW8PEw0/lgDKHsRNgaUQkOAlFrUhPplsE9ICsWLkgNGXoJnZpQhkVDSaYWi/NNKkPk1lXIxYGQhBYgXI1wJAIFh6ydquHVp8l214KZ8nBMpqkPppXSElvgtSkLSd+CEbTZVk7L4tD6y0lhW2STF7TUmVPSrugn5wWrt2Q0SjuQJBAJJiC41krdVvw7dY1TUexzV7Q0ooqLsJoeeyExbjVHut2BywixlWMD2pTzBQE/1vUlJwrqVXK+75EC5064WThJsCQCaDTNXNfcMRRQZFePVm0wTEU4ajG++UyRI/I47uzl+8RV2cuNyRoj7xa7LTnBYc8sOPcYTgF/9zBhkwZEBRtUk=',
));
Then load market and retrieve ask and bid and calcute market price By following code :
$markets=$exchange->loadMarkets();
$symbol = 'BTC/USDT';
$orderbook = $exchange->fetch_order_book ($symbol);
$bid = count ($orderbook['bids']) ? $orderbook['bids'][0][0] : null;
$ask = count ($orderbook['asks']) ? $orderbook['asks'][0][0] : null;
$marketprice = ($bid + $ask)/2;
print($marketprice);
load market and fetch order book is public method in CCXT .
Then I try to use fetch_balance ()
and create_order ($symbol, $type, $side, $quantity, $price, $params)
method that is private method in CCXT in Following Code :
$bal= $exchange->fetch_balance ();
print_r($bal['free']);
echo "test";
//_____________________________ORDER________________________________
$price=NULL;
$price=$marketprice;
$params = array (
// ...
);
$type = 'limit';
$side = 'buy';
$quantity=1;
$buy_order = $exchange->create_order ($symbol, $type, $side, $quantity, $price, $params);
print_r ($buy_order);
After Then get Empty Array Output in fetch_balance ()
method and get Fatal Error in Output Of create_order ($symbol, $type, $side, $quantity, $price, $params);
Method.
OutPut :
99336.605 Array ( ) test
Fatal error: Uncaught ccxtPermissionDenied: Invalid authorization in /home/robatixi/domains/robatix.ir/public_html/vendor/ccxt/ccxt/php/lbank.php:2995 Stack trace: #0 /home/robatixi/domains/robatix.ir/public_html/vendor/ccxt/ccxt/php/Exchange.php(1610): ccxtlbank->handle_errors() #1 /home/robatixi/domains/robatix.ir/public_html/vendor/ccxt/ccxt/php/Exchange.php(5168): ccxtExchange->fetch() #2 /home/robatixi/domains/robatix.ir/public_html/vendor/ccxt/ccxt/php/Exchange.php(5188): ccxtExchange->fetch2() #3 /home/robatixi/domains/robatix.ir/public_html/vendor/ccxt/ccxt/php/abstract/lbank.php(317): ccxtExchange->request() #4 /home/robatixi/domains/robatix.ir/public_html/vendor/ccxt/ccxt/php/lbank.php(1500): ccxtabstractlbank->spotPrivatePostSupplementCreateOrder() #5 /home/robatixi/domains/robatix.ir/public_html/samplecallapi.php(63): ccxtlbank->create_order() #6 {main} thrown in /home/robatixi/domains/robatix.ir/public_html/vendor/ccxt/ccxt/php/lbank.php on line 2995