発明者による量化取引プラットフォームの戦略広場デジタル通貨の取引所が基本的には使われていた 面白い戦略がいくつかありますrest
ソフトウェアのAPIは,rest
また,最近,いくつかの取引所も登場しています.rest
インターフェース障害により,ポリシーが使用できない場合. ポリシーを変更した場合,websocket
インターフェースのサポートでは,ポリシーコードに変更を加えることが必要であり,通常は比較的に面倒である (ポリシー変更は書き直すよりもはるかに難しい).
戦略を変えることなく,それを活用する方法websocket
ビジネス・インターフェースはどうでしょう?
発明者による量化取引プラットフォームの柔軟性が示されています.
exchange.GetTicker
この関数は,この関数で取得される.戦略を変更することなく, 戦略をコードの1行で実行します.websocket
ビジネスインターフェイスが送ったデータドライブが起動.
プログラミング言語の使用JavaScript
言語は.
例えば,昔から使われてきた"アイスブレイカー"の戦略を改めたいのです.
まず,戦略コードを見てみましょう. この戦略は,チーク市場によって動かされ,ticker
データをBuy
、Sell
、Last
この2つの属性はticker
FMZプラットフォームのAPI関数:exchange.GetTicker
目標が明確になり,我々はこのプロジェクトをexchange.GetTicker
関数Hook
操作 (つまり,別のバージョンに書き換えて置き換える) ができます.
しかし,我々は Icebreaker の戦略を改定することはできません,それは戦略に影響を与えます,我々はシームレスな結合を望んでいます!
舞台に登場する主人公が登場します.
init
関数の協働模範類データベースを作りました.縫い目のないコーンWS初期コードを空にしてください.
そして,縫い目のないコーンWSテンプレートは2つのパラメータを設定します
起動するかどうかを制御するwebsocket
インターフェース機能,指定された業界インターフェイスを制御する.この例では,文幅が限られているため,exchange.GetTicker
インターフェイスはフック操作をする.GetTicker
インターフェイスはwebsocketモードの制御パラメータ:Hook_GetTicker.
テンプレートが作成され, 特定の取引所へのアクセスが テンプレートに表示されます.websocket
インターフェイス,特定の市場への購読,そして取引所がデータをプッシュするのを待つための機能コード. 具体的なコードはもはや説明されていません. 参照してください SeamlessConnWS コード (公開済み), API ドキュメント. テンプレートに参照する必要があります.init
関数とグローバル変数_DictConnectCreater
、_ConnMap
:
コード:
var _DictConnectCreater = {
"Huobi" : WSConnecter_Huobi,
"Binance" : WSConnecter_Binance,
}
var _ConnMap = {}
function init () {
if (IsUsedWebSocket) {
var connectCreater = null
if (exchanges.length != 1) {
Log("切换为ws接口只针对 exchange 交易所对象(即第一个添加的交易所对象)")
}
var isFound = false
for (var name in _DictConnectCreater) {
if (exchange.GetName() == name) {
connectCreater = _DictConnectCreater[name]
isFound = true
}
}
if (!isFound) {
throw "没有找到实现"
}
if (Hook_GetTicker) {
var symbol = exchange.GetCurrency()
_ConnMap.GetTicker = connectCreater("GetTicker", symbol)
exchange.GetTicker = function () {
return _C(_ConnMap.GetTicker.Read)
}
}
// ...
}
}
このテンプレートは2つの取引所しか実現していません.websocket
取引インターフェースは,それぞれコイン現金,トークン現金である.init
この関数は"Icebreaker"の戦略を引用するものです.縫い目のないコーンWSテンプレートの後ろで,実装台を実行するときに,最初に実行されます.init
この関数は,自動で実行できます.exchange.GetTicker
機能の内容が使用に替わるwebsocket
インターフェースのコード実装によりシームレスなペアリングを実現するwebsocket
行動する.
簡単なことです!縫い目のないコーンWSテンプレートが自分のポリシーデータベースにコピーされた後",Ice Breaker"のポリシー参照のみでできます.
選択して保存します.
"アイスブレイカー"戦略 リアルタイムのロボット 取引所がBinanceを選び│ │ 起動縫い目のないコーンWSテンプレートの制御パラメータ.
実行する:
推し進出のデータを簡単に表示するために,私は157行に専念し,印刷日記のコードを追加し,取引所からの推し進出を出力します.
ロボットの日記に表示される:
この方法では,一行のポリシーコードを修正することなく,websocket行業インターフェースとポリシーシームレスペリングを使用します.
この例はexchange.GetTicker
経路インターフェース関数の戦略が説明される,他の経路インターフェースは,例えばexchange.GetDepth
、exchange.GetTrades
、exchange.GetRecords
模範の模範の模範の模範の模範です縫い目のないコーンWS更に拡大する.
模様の特定のリンクwebsocket
実現,利用Dial
関数 (※APIドキュメントの Dial 関数を参照) は,必要に応じて調整できます.read()
関数指定パラメータ-2
戻るだけですwebsocket
接続されたデータを受け取るバッファローンの最新のデータ.
ありがとうございました
コングコン009モンゴー,Python版を少し追加してくれないか?
婚約者も素晴らしいもの,早めに共有すべきです.
発明者 量化 - 微かな夢ありがとうございました.