戦略枠組みとAPI機能
戦略はJavaScript
, Python
そしてcpp
についてSleep()
この機能は,これらの戦略のメインループで呼び出す必要があります. これはバックトラッキング速度を制御するために使用されます. ライブ取引では,戦略投票間隔を制御するために使用され,また,取引所のAPIインターフェースにアクセスする要求頻度を制御します.
function onTick(){
//Write strategy logic here, and it will be called constantly, such as printing ticker information
Log(exchange.GetTicker())
}
function main(){
while(true){
onTick()
// The function "Sleep" is mainly used to control the polling frequency of cryptocurrency strategies to prevent accessing the exchange API interafce too frequently
Sleep(60000)
}
}
def onTick():
Log(exchange.GetTicker())
def main():
while True:
onTick()
Sleep(60000)
void onTick() {
Log(exchange.GetTicker());
}
void main() {
while(true) {
onTick();
Sleep(60000);
}
}
仮想通貨戦略の基本枠組み例:
function onTick(){
// It is just an example; for all the assets will be used to place orders fast during backtest or in live trading, do not implement the example in live trading
exchange.Buy(100, 1)
}
function main(){
while(true){
onTick()
// The pause period can be customized in millisecond (1 second = 1000 milliseconds)
Sleep(1000)
}
}
def onTick():
exchange.Buy(100, 1)
def main():
while True:
onTick()
Sleep(1000)
void onTick() {
exchange.Buy(100, 1);
}
void main() {
while(true) {
onTick();
Sleep(1000);
}
}
100の価格と 1の量で毎秒取引所で購入オーダーをします. これを次のように書きます.
戦略開発および設計において一般的に使用される API 機能は以下のとおりです.詳細な API 説明については以下を参照してください.FMZ 量子取引プラットフォーム API マニュアル.
グローバル 機能
バックテストを表示する true 値を返します.
環境に
素晴らしいです郵便メールを送ってください
素晴らしいですメイル_ゴーシンクロンではありません
のバージョンMail
機能は
素晴らしいですSetErrorFilter を設定するフィルターエラー
パラメータは正規表現文字列で,エラーログ
この正規式によってマッチはログアップにアップロードされません
システムです
素晴らしいですGetPid はロボットを手に入れて
プロセスID
素晴らしいですGetLastError を取得する最後の1つだけ
エラーメッセージ
素晴らしいですGetCommand を取得する戦略を練りましょう
戦略 インタラクション コントロール 設定ができます
[インタラクション制御] (ユーザーガイド#インタラクション制御)
素晴らしいですGetMeta を取得する価値を理解します
戦略の登録コードを生成する際に メタ書き込みです
素晴らしいですダイヤル試料として使いました
ソース アクセス
素晴らしいですHttpQuery をインストールするHttp リクエストを送信します
素晴らしいですHttpQuery_Go をインストールするシンクロンではありません
のバージョンHttpQuery
機能は
素晴らしいです暗号化データの暗号化
機能は
素晴らしいですUnixNano についてナノ秒で
タイムスタンプ
素晴らしいですUNIXレベル2に
タイムスタンプ
素晴らしいですGetOS をインストールするシステムを作ります
情報を集めました
素晴らしいですMD5MD5 を計算します
素晴らしいですDBExec はデータベースです
SQL 文を実行し,実行するために使用できる関数
データベースの操作です
素晴らしいですUUIDユーザIDを生成します
素晴らしいですイベントループ出来事について聞く
Webソケットが読み取れるか,または,exchange.Go
, HttpQuery_Go
この機能が完了すると,
リアルタイムで取引できるだけです
素晴らしいです_G継続的にデータを保存します
この関数は保存可能なグローバル辞書関数を実装します.
構造はKVテーブルで,ドッカーのローカルデータベースに格納されます.
永久にファイル化します
素晴らしいです_Dタイムスタンプの処理,変換
タイムストリングの"ミリ秒タイムスタンプ"または"日付"です
素晴らしいです_ N浮遊点符をフォーマットする
番号,例えば_N(3.1415, 2)
後に 3.1415 の値を削除します
この関数は 3.14 を返します
素晴らしいです_C試してください.
インターフェースの障害耐性
についてexchange.GetTicker
機能は_C(exchange.GetTicker)
そして_C(exchange.GetTicker())
|
| _クロス交差判断機能は_Cross()
この関数の返し値は正数です.
負の数値で表示されます.
0 は現在の価格を指します.
同じように
素晴らしいですJSONパースJSONを解析します
より大きな値を含むJSON文字列を正しく解析すると,より大きな値を解析します
文字列の種類に値JSONParse()
機能はサポートされていません.
バックテストシステムで
ログ関数
機能名 |
簡潔 な 紹介 |
ログ |
出力ログ,ログテキストの色を設定するサポート,プッシュを設定するサポート,Base64エンコーディング後に画像を印刷するサポート |
ログプロフィット |
出力P&Lデータ,プリントP&L値,P&L値に基づくプロット・リターン曲線 |
ログプロフィットリセット |
掃除するLogProfit 機能の出力 すべての収益ログ,収益チャート |
ログステータス |
ステータスバーで出力情報,ステータスバーでボタンのコントロールを設計するサポート,フォームの出力サポート |
EnableLog を起動する |
注文情報のログをオンまたはオフにする |
図表 |
ハイチャート/ハイストック・チャート・ライブラリに基づくチャート機能 |
KLineチャート |
パイン言語のスタイルの描画機能,パインのような言語の描画スタイルを使用して戦略実行時にカスタマイズされた描画に使用される. |
ログリセット |
パラメータ設定を通じて,最近のログの一定数を保持するサポート |
ログ真空 |
ログをクリアした後,データを削除するときにSQLiteが占めるストレージスペースをリクエストするためにSQLiteリソースをリクエストします.LogReset() 機能 |
console.log |
ライブ取引ページの"デバッグ情報"列の出力デバッグ情報 |
console.error |
エラー情報は,ライブ取引ページの"デバッグ情報"列で出力されます. |
ティッカーの機能
トランザクション機能
機能名 |
簡潔 な 紹介 |
exchange.Buy |
取引の方向が正しく設定されている場合,取引の方向と取引機能が一致しない場合,エラーが報告されます! |
exchange.Sell |
取引方向が正しく設定されている場合,取引方向と取引機能が一致しない場合,それはエラーを報告します. |
exchange.CreateOrder |
パラメータを通して取引の種類,取引の方向,価格,および量を指定して注文を提出する |
exchange.CancelOrder |
命令を取り消す |
exchange.GetOrder |
オーダー情報を取得,データ構造は順序構造 |
exchange.GetOrders |
データ構造で未完了の注文を取得順序構造配列 (リスト) |
exchange.GetHistoryOrders |
現在の取引ペアと契約の歴史的な注文を取得; 特定の取引製品を指定するサポート |
exchange.SetPrecision |
交換オブジェクトの価格と注文量の精度を設定すると,設定後,システムは自動的にデータ冗長性を無視します. |
exchange.SetRate |
換算率を設定する |
exchange.IO |
交換オブジェクトに関連する他のインターフェース呼び出しについて |
exchange.Log |
出力,取引日記を記録し,注文をしない |
exchange.Encode |
署名暗号化計算 |
exchange.Go |
多スレッドアシンクロンサポート機能 |
exchange.GetAccount |
アカウント情報を取得 |
exchange.GetAssets |
交換口座の資産情報を要求する |
exchange.GetName |
交換オブジェクトの名前を取得 |
exchange.GetLabel |
交換オブジェクトのラベルを取得 |
exchange.GetCurrency |
現在の取引ペアを取得 |
exchange.SetCurrency |
取引ペアを切り替える |
exchange.GetQuoteCurrency |
現在の取引ペアの通貨の名前を取得 |
将来の機能
ネットワーク機能
JavaScript 多スレッド表示
FMZ 量子取引プラットフォームは,実際に多スレッド機能をサポートしていますJavaScript
言語戦略をシステムの下部から導入し,以下の目的を実現します
対象物 |
指示 |
コメント |
スレッド |
多スレッドグローバルオブジェクト |
メンバーの役割Thread , getThread , mainThread など |
スレッド |
スレッドオブジェクト |
メンバーの役割peekMessage , postMessage , join など |
スレッドロック |
スレッドロックオブジェクト |
メンバーの役割acquire , release スレッド実行関数のパラメータとしてスレッド環境に転送できます. |
ThreadEvent について |
イベントオブジェクト |
メンバーの役割set , clear , wait , isSet スレッド実行関数のパラメータとしてスレッド環境に転送できます. |
ThreadCondition について |
条件オブジェクト |
メンバーの役割notify , notifyAll , wait , acquire , release スレッド実行関数のパラメータとしてスレッド環境に転送できます. |
ThreadDict について |
辞書オブジェクト |
メンバーの役割get , set スレッド実行関数のパラメータとしてスレッド環境に転送できます. |
FMZ量子取引プラットフォーム 文法手帳:JavaScript 多スレッド表示
ウェブ3
TA インディケーター ライブラリ
タリブ インディケーター ライブラリ
タリブ指標ライブラリには,多くの取引指標があります.talib.CDL2CROWS文法マニュアルで詳しく調べてください.
戦略入力機能
テンプレートライブラリ