Comments (12)
はい、歓迎します。あのときはzaifが非常に不安定でテストすらできずプロトタイプ段階で捨てました。いまなら安定しているかもしれません。
from r2.
プラグインのサンプルの意味も含め、bitFlyerのBTC-FX/JPYのプラグインを作成しました。
https://github.com/bitrinjani/bitflyer-fx
from r2.
TODO: プラグインの作成方法のドキュメント整備。サンプルパッケージの公開。
Zaifの要望が多いですが、私が数ヶ月前に試した限りではwebサイトからでも約定価格、スピードに問題が見られました。スリッページや遅延が激しいように感じられました。
Zaifを利用されている方、現状はいかがでしょうか? もし改善しているようであれば取引所追加を検討したいと思います。
from r2.
プラグイン化は完了したので本件はクローズします。プラグインの実例は以下を参考ください。
https://github.com/bitrinjani/bitflyer-fx
https://github.com/bitrinjani/bitbankcc
なお、Zaifの導入を再度試みましたが、APIの品質が非常に低く損失しか出ないため、今後も導入しないことに確定しました。
from r2.
取引所の追加は、現状たしかに動的に行っておらずソースコードの変更なしに追加することはできません。
しかし、インターフェイスとしては完全に分離されています。
新しい取引所を追加したければ、以下の方法で可能です。
- BrokerAdapterインターフェイスを実装したクラスを作成する。
export interface BrokerAdapter {
broker: Broker;
send(order: Order): Promise<void>;
refresh(order: Order): Promise<void>;
cancel(order: Order): Promise<void>;
getBtcPosition(): Promise<number>;
fetchQuotes(): Promise<Quote[]>;
}
- container.ts(DIコンテナ)にそのクラスを追加する。
container.bind<BrokerAdapter>(symbols.BrokerAdapter).to(bitflyer.BrokerAdapterImpl);
container.bind<BrokerAdapter>(symbols.BrokerAdapter).to(coincheck.BrokerAdapterImpl);
container.bind<BrokerAdapter>(symbols.BrokerAdapter).to(quoine.BrokerAdapterImpl);
- Broker Enumにそのブローカー名を追加する。
プラグイン化の前にプルリクエストで取引所追加を受け付けているので、実装してみてはいかがでしょうか?
from r2.
@bitrinjani なるほど、了解です。
Zaifに関しては、qiitaの方のコメント欄で実装したような雰囲気だったのですが、自分の方でPRを上げてもよいものでしょうか?
from r2.
ESModuleの動的importでnpmモジュールから読み込めるようにしました。
以下の順にBrokerAdapterを探します。
- brokerConfig.npmPath (取引所設定のnpmPathフィールド)
./${brokerConfig.broker}
("./" + 取引所設定のbrokerフィールド) <= 現在はここから読み込まれている@bitr/${brokerConfig.broker}
例えば、以下の設定の取引所Bitzzzがconfig.jsonに存在すると、npmパッケージbitzzzからインポートを試みます。
"brokers": [
{
"broker": "Bitzzz",
"npmPath": "bitzzz"
bitzzzがnpmリポジトリに存在し、ユーザーがnpm install bitzzzをしconfig.jsonを設定すれば、ソースの変更なしで取引所の追加が可能です。
実装は以下のbindBrokersメソッドです。
https://github.com/bitrinjani/r2/blob/master/src/AppRoot.ts#L55
from r2.
こんばんは。
記事を読ませていただきましたが、私の読解力のなさと知識のなさで理解ができません。
何とかzaif追加したのですが、具体的にご教授頂くことは可能でしょうか?
宜しくお願い致します。
from r2.
@kazuhirookazaki
いまのところr2にはzaifのプラグインはないですよ。
したがって現行のr2のみではzaifは使えません。
自作するか、探してくるか、PRで取り込まれるのを待ちましょう。
from r2.
zaifは今でもレスポンスが遅いように感じます。
from r2.
1ヶ月ほど前にZaif APIのテストを行いましたが、通常時のマーケットでも502エラーやタイムアウトが頻発していました。少なくとも一定の改善が見られるまでは自己責任にて各自がプラグインを自作して頂く形が良いのではないでしょうか。
from r2.
ERROR Unabled to find Quoine in config.
というエラーが出てしまいますが、Quoineは使ってないですが、必須でしょうか。
テストで、CoincheckとBitflyerを使ってます。
from r2.
Related Issues (20)
- 設定内容を確認したいです。 HOT 2
- AnalyticsプラグインのBest Bid,Best Askを違う取引所で判定
- 期待収益がマイナスでもオープン HOT 2
- 初歩的な質問です。プログラム初心者というより初めてレベルです。 HOT 7
- quoinexでエラーが出ているようです。 HOT 1
- キャンセル時にProfitがNaNになる
- MaxTargetVolumePercentが適用されるタイミングがなぜMainLimitCheckerで行われるなのか?
- ERROR Unable to find base ccy position in Btcbox. [["BTC",null],["JPY",null]] HOT 1
- 取引所の入金用意について
- 過去の収益確認
- CoinCheckでの"order temporally disabled" HOT 2
- Quoine での 約定数量確認エラーについて HOT 6
- Quoine での 執行中のエラーについて
- node.jsのバージョンについて
- コインチェックの現物を成り行きでクローズ
- 525: SSL handshake failed について HOT 1
- DeCurretがレバレッジ取引可になりました。 R2に実装可能でしょうか HOT 1
- npm install時に発生するエラー HOT 1
- npm start error
- ftxへの変更 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from r2.