Skip to content

Instantly share code, notes, and snippets.

@peace098beat
Created February 6, 2018 16:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peace098beat/76f153acba95ff2dab6b8f0d79ab83ea to your computer and use it in GitHub Desktop.
Save peace098beat/76f153acba95ff2dab6b8f0d79ab83ea to your computer and use it in GitHub Desktop.
クラスオブジェクトの洗い出し
<?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