FMZ量子取引プラットフォームで開発する友人は,しばしばこのようなニーズを持っているかもしれません:
レンタル戦略を開発する際には,戦略上の資金の制限とプラットフォームの制限が異なる (戦略が運用するプラットフォームを制限する) またはプラットフォームアカウントの設定を制限したい (戦略は事前に合意されたアカウントのみで動作することが可能であることを指定する.戦略ユーザが他のアカウントを使用すると,戦略が提示され,もはや取引や他の操作を行わない).
硬式コードはできません. 硬式コードであれば,すべてのユーザーがこれらの制限の対象となり,異なるユーザーグループに対する異なる使用権限を制御することはできません.
上記の需要シナリオに基づいて FMZ Quant Trading プラットフォームは新しい機能を拡張しました戦略 レンタル 登録 コード メタデータ 設定.
メタデータを指定することができます.Meta
メタの長さは,レジスタコードを生成するときに 190 文字を超えない.
ストラテジーの出口です.私はBTC_USDTのスポット取引ペアで戦略を開発しました. 戦略は,ロングポジションのみを作成します (最初は,コート通貨のみを持っています.QuoteCurrency
USDT となり,買収後,BaseCurrency
この戦略の名前は"BTC"です.test1
.
戦略の制限は,戦略の特定の状況と組み合わせて,特に設計する必要があります.この例はスポット戦略の実証例ですが,戦略がフューチャー戦略である場合はどうでしょうか.次に,フューチャーポジション情報を制限する必要があります (GetPositionが返したポジションデータに従って).戦略がポジションが限界を超えると見ると,注文を投注し,ポジションを開くロジックはもはや実行されません (他のロジックは,ポジションを閉じるなど,通常実行する必要があります).
したがって,これらの制限の設計は 戦略そのものと結合する必要があります. 例は実際の使用価値のない単純な指示に過ぎません.
戦略 ソースコード:
function main() {
// The maximum asset value of the quote currency allowed by the strategy
var maxBaseCurrency = null
// Obtain the metadata when the register code is created
var level = GetMeta()
// Detect the corresponding conditions of Meta
if (level == "level1") {
// -1 means no limit
maxBaseCurrency = -1
} else if (level == "level2") {
maxBaseCurrency = 10
} else if (level == "level3") {
maxBaseCurrency = 1
} else {
maxBaseCurrency = 0.5
}
while(1) {
Sleep(1000)
var ticker = exchange.GetTicker()
// Detect the assets amount
var acc = exchange.GetAccount()
if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
// Stop executing the strategy trading logic
LogStatus(_D(), "If the position exceeds the usage limits of register code, the strategy trading logic will no longer be executed!")
continue
}
// Other trading logic
// Normally export the information of status bar
LogStatus(_D(), "The strategy is operating normally!ticker data:\n", ticker)
}
}
登録コードを作成する際には,戦略テスト1 を"戦略"のページで検索し,右クリックします.行動ボタンをクリックします.賃貸.
クリック内部販売.
登録コードのメタデータを設定します.
制限情報を書き込む必要があります.メタこの例で設計された戦略のいくつかの使用レベルのような制御:
まず,私たちは設定しますlevel1
作成したレジスタコードにlevel1
試験1の
レジスタコードが作成された後,戦略販売者は,レジスタコードを戦略購入者に送信します.
例えば,私自身の別の口座 (買い手口座) で登録コードを使用した場合,戦略テストを使用する権利があります.
戦略購入者として,まずボットを追加し,戦略として test1 を選択し,WexApp スポット交換オブジェクト (WexApp は FMZ のシミュレーションボット) を追加し,その後ボットを実行する必要があります.
戦略が正しく実行されるのを 見ることができればlevel1
ポジション額 (即日口座に保持されているコイン額) に制限はありません.
戦略レジスタコードを使用すると,戦略開発者が送信されるレジスタコードのメタデータを調整する必要がある場合,完全に変更できます.
戦略ページでは 販売記録に載っています
メタデータは変更できます.
古い登録コードのメタデータをlevel3
ロボットを再起動する必要があります. これは,ボットを起動します.level3
ポジションの最大額をコイン1枚に制限する.
異なるユーザーグループや支払いレベルに応じて 戦略をレンタルする際には メタデータを設定して レベルごとに戦略を制御できます
もちろん,上記の例は,最も一般的な制限と制御要求のみです. 機能も実現できるさまざまな類似の要求があります.