Created
February 6, 2018 16:07
-
-
Save peace098beat/76f153acba95ff2dab6b8f0d79ab83ea to your computer and use it in GitHub Desktop.
クラスオブジェクトの洗い出し
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
declare(strict_types=1); // 型チェック | |
/** | |
* 残高を格納するクラス | |
*/ | |
class Balance | |
{ | |
public $JPY; | |
public $BTC; | |
/** | |
* 残高を格納 | |
* @param float $JPY | |
* @param float $BTC | |
*/ | |
public function __construct(float $JPY, float $BTC){ | |
$this->JPY = $JPY; | |
$this->BTC = $BTC; | |
} | |
/** | |
* メンバ変数を整形して外部に渡す | |
*/ | |
public function getArray(){ | |
$balance = array( | |
"JPY" => $this->JPY, | |
"BTC" => $this->BTC | |
); | |
return $balance; | |
} | |
} | |
class Broker | |
{ | |
public $name = "none"; // <string> | |
public $balance = none; // <Class Balance> | |
public $order = none; // <Class Order> | |
public $orderId; | |
} | |
class Ask | |
{ | |
public $price; | |
public $size; | |
public $sum; | |
} | |
class Bid | |
{ | |
public $price; | |
public $size; | |
public $sum; | |
} | |
/** | |
* 板情報クラス。板情報を保管 | |
* OrderBooksThreadeのOrderBooksと似た感じ | |
*/ | |
class OrderBooks | |
{ | |
public $asks; // array(<Ask>) | |
public $bids; // array(<Bid>) | |
public function __construct(){ | |
$this->asks=[]; | |
$this->bids=[]; | |
} | |
public function addAsk(){} | |
public function addBid(){} | |
public function add(){} | |
} | |
/** | |
* 発注内容クラス。 | |
* @param string $type | |
* @param float $price | |
* @param float $size | |
*/ | |
class Order | |
{ | |
public $type; // <string> | |
public $price; // <float> | |
public $size; // <float> | |
public function __constract( | |
string $type, float $price, float $size){ | |
$this->type = $type; | |
$this->price = $price; | |
$this->size = $size; | |
} | |
} | |
/** | |
* 注文結果の情報. | |
* 発注してその結果 | |
*/ | |
class Promise | |
{ | |
public $size; | |
public $price; | |
public $fee; | |
} | |
/** | |
* 取引所とのやり取りをするクラス | |
* (APIを叩くのはどこかに持たせる) | |
*/ | |
interface MarketInterface | |
{ | |
/** | |
* 板情報を取得 | |
* @return Balanceクラス | |
*/ | |
function getOrderBooks(); | |
/** | |
* 残高を取得 | |
* @return Balanceクラス | |
*/ | |
function getBalance(); | |
/** | |
* 注文を出す | |
*/ | |
function order(); | |
/** | |
* キャンセル注文を出す | |
*/ | |
function channcel($chancel_id=none); | |
/** | |
* 逆取引を出す | |
*/ | |
function reverseChancel(); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment