zkrat / draw-ohlc
Tool to draw OHLC data to image
v0.0.3
2019-03-21 16:22 UTC
Requires
- nette/utils: ^2.4
This package is auto-updated.
Last update: 2024-12-23 05:07:03 UTC
README
Draw OHLC to image using PHP
Install:
composer require zkrat/draw-ohlc
Extra require:
PECL trader
Example:
$csvOhlc=\DrawOHLC\HistoryData\CsvOhlcList::createFromFile(__DIR__.'/src/sampledata/AAPL.csv');
$sma =\DrawOHLC\MovingAverage\Sma::create($csvOhlc,21);
$canvas = \DrawOHLC\DrawImage\DrawCanvas::createCanvas(800,600)
->setFontPath(__DIR__.'/src/font/Hack-Regular.ttf')
->setFontSize(10);
$border=\DrawOHLC\DrawImage\DrawBorder::create($canvas,10,2,2);
$drawOhlc=\DrawOHLC\DrawImage\DrawOhlcList::create($csvOhlc,$border);
$drawBgOhlc=\DrawOHLC\DrawImage\DrawBgOhlcList::createBg($drawOhlc)
->setProductName('Apple')
->setUnits('$','%02d');
\DrawOHLC\DrawImage\DrawRSI::create(75,$drawOhlc,14);
\DrawOHLC\DrawImage\DrawMACD::create(75,$drawOhlc,12,26,9);
$drawVolume=\DrawOHLC\DrawImage\DrawVolume::create(75,$drawOhlc);
\DrawOHLC\DrawImage\DrawAvgVolume::create($drawVolume)
->setSize(1);
$canvas->drawImage();
Example:
$csvOhlc=\DrawOHLC\HistoryData\CsvOhlcList::createFromFile(__DIR__.'/src/sampledata/MSFT.csv');
$sma =\DrawOHLC\MovingAverage\Sma::create($csvOhlc,21);
$ema =\DrawOHLC\MovingAverage\Ema::create($csvOhlc,21);
$canvas = \DrawOHLC\DrawImage\DrawCanvas::createCanvas(800,600)
->setFontPath(__DIR__.'/src/font/Hack-Regular.ttf')
->setFontSize(10);
$border=\DrawOHLC\DrawImage\DrawBorder::create($canvas,10,2,2);
$drawOhlc=\DrawOHLC\DrawImage\DrawOhlcList::create($csvOhlc,$border);
\DrawOHLC\DrawImage\DrawSingleValue::create($sma,$drawOhlc)
->setThickness(5);
\DrawOHLC\DrawImage\DrawSingleValue::create($ema,$drawOhlc)
->setThickness(2)
->setColor(\Nette\Utils\Image::rgb(255,0,0));
$drawBgOhlc=\DrawOHLC\DrawImage\DrawBgOhlcList::createBg($drawOhlc)
->setProductName('Microsoft')
->setUnits('$','%02d');
\DrawOHLC\DrawImage\DrawRSI::create(75,$drawOhlc,14);
\DrawOHLC\DrawImage\DrawMACD::create(75,$drawOhlc,12,26,9);
$drawVolume=\DrawOHLC\DrawImage\DrawVolume::create(75,$drawOhlc);
\DrawOHLC\DrawImage\DrawAvgVolume::create($drawVolume)
->setSize(1);
$canvas->drawImage();