Ini adalah port PHP dari ekstensi pedagang untuk PHP, yang merupakan port dari kode TA-LIB C/Java.
Port ini ditulis dalam PHP dan tanpa persyaratan lain.
Tujuannya adalah bahwa perpustakaan ini dapat digunakan oleh mereka yang tidak dapat menginstal ekstensi PHP Trader.
Itulah satu -satunya hal yang Anda butuhkan! Seperti yang dinyatakan, Anda tidak perlu menginstal ekstensi apa pun untuk perpustakaan ini.
Perpustakaan ini dimaksudkan untuk diinstal dengan komposer.
composer require lupecode/php-trader-native
Perpustakaan ini dimaksudkan untuk menjadi pengganti drop-in untuk ekstensi pedagang, ia dilengkapi dengan polyfill untuk ekstensi pedagang.
Opsi lain yang disediakan paket ini adalah menggunakan fungsi yang memiliki nama yang lebih mudah dipahami.
Jika Anda tidak ingin menggunakan adosc karena tidak cukup deskriptif, Anda sebaliknya dapat menggunakan chaikinAccumulationDistributionOscillator seperti ini: TraderFriendly::chaikinAccumulationDistributionOscillator($high, $low, $close, $volume, $fastPeriod, $slowPeriod)
Versi PECL dari ta-lib, "pedagang", tidak memiliki nilai default yang benar untuk fungsi tersebut. Tampilan cepat menunjukkan bahwa banyak fungsi menggunakan nilai minimum untuk parameter opsional alih-alih default yang digunakan dalam versi C/Java dari TA-LIB. Beberapa tes, seperti testAdOscDefaultsDifferent pass selama pustaka PECL Trader menggunakan default yang berbeda dari yang ada dalam kode C/Java.
Untuk yang penasaran, sumber TA-LIB untuk ADOSC dapat dilihat di sini dengan default 3 dan 10, sedangkan sumber PECL Trader dapat dilihat di sini dengan default 2 dan 2.
Paket ini menggunakan default C/Java dan bukan default PECL.
Mengingat bahwa perpustakaan ini ditulis dalam PHP murni, tidak berjalan lebih lambat dari ekstensi PECL yang ditulis dalam C. tolok ukur saya memberikan 5x hingga 30x lebih lambat tergantung pada fungsinya.
Saya menyambut bantuan apa pun dengan optimisasi! Saya belum bekerja untuk mengoptimalkan perpustakaan ini; Ini adalah konversi sederhana dari C ke PHP.
Lihat repositori dan kemudian instal dengan komposer.
git checkout [email protected]:LupeCode/phpTraderNative.git
cd phpTraderNative
composer install --dev
source - Kode Sumber untuk Perpustakaan.tests - Tes PhPunit untuk Perpustakaan.pecl - Kode Sumber Ekstensi Pedagang PECL.talib - Kode Sumber TA -LIB yang digunakan PECL Trader Extension.Dua file XML Phpunit disertakan, satu untuk pengujian dan yang lainnya untuk cakupan. Ini karena fakta bahwa ketika beberapa tes dijalankan dengan cakupan, PHP menggantung dan tidak pernah selesai.
Jalankan tes menggunakan
php -dxdebug.coverage_enable=0 ./vendor/phpunit/phpunit/phpunit --configuration ./phpunit.xml ./tests
Jalankan Cakupan Menggunakan
php -dxdebug.coverage_enable=1 ./vendor/phpunit/phpunit/phpunit --configuration ./phpunit_coverage.xml ./tests
Di bawah ini adalah informasi hak cipta untuk Ta-lib yang ditemukan dalam kode sumber.
TA-LIB Copyright (c) 1999-2007, Mario Fortier
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither name of author nor the names of its contributors may be used
to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Di bawah ini adalah lisensi untuk porting kode saya ke PHP.
MIT License
Copyright (C) Lupe Code, LLC.; Joshua Lopez
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.