coincheck APIを使った自動売買を行うため、ざっと作りました。 実際の取引システムの中身を知っているわけではないので、約定部分とか結構甘いと思うけど、、、おいおい直していきます。
仕様は本家に準じているつもり
GET /api/ticker
GET /api/trades
GET /api/order_books
GET /api/rate/[pair]
※対応しているのは[pair] = btc_jpyのみ
POST /api/exchange/orders
※「レバレッジ取引新規」と「決済」しか対応していません。
GET /api/exchange/leverage/positions
GET /api/accounts/leverage_balance
GET /api/save_seed
パラメータ
stop_time 終了時間
未記入の場合は現在から1分間
interval_time 取得間隔(秒)
未記入の場合は10秒
例:http://localhost:3000/api/save_seed?stop_time=2017/05/09/00:45
本APIの実行により、ticker、trades、order_books、btc_jpy_rateのseedファイルが生成させるので、終了後、
rails db:seed
を実行してseedデータを作ってください。
ここ、多分coincheckのシステムに負荷かかってるから、オフィシャルのバックテスト環境が欲しいところ。。。
GET /api/check_saving_status
GET /api/check_saved_seed_time_range
PUT /api/set_user_leverage_balance
パラメータ
margin テスト用の証拠金(jpy)
例:http://localhost:3000/api/set_user_leverage_balance? margin=100000
PUT /api/set_test_trade_time
GET /api/check_test_trade_is_over
PUT /api/update_start_trade_time
パラメータ
interval_time 経過時間(秒)
※本APIを実行することでテスト用のpublic APIを実行した時、次のデータを取得できるようになります。
例:http://localhost:3000/api/update_start_trade_time? interval_time=5
これを実行することで、
http://localhost:3000/api/ticker
の取得結果が5秒後のデータになる。