
指導戦略としては、もちろん、特定の実践的なパフォーマンスを考慮するのが最善です。 「暗号通貨先物のためのマーティン戦略」は、FMZ.COMウォッチセクションに約半年にわたって掲載されてきました。多くの浮き沈みを経て、マーティン戦略とグリッド戦略にはリスクと欠点があり、保守的なパラメータだからといって使用できないわけではないことがわかりました。


孟氏は、利回り曲線を「製造」するための再充電は絶対に行われないことを保証しています(手動ドッグヘッド)。
しかし、戦略設計の最初のバージョンはかなり粗雑なものでした。インターフェースにはポジションと総株式データの出力が 1 つしかなく、利回り曲線には浮動損失を考慮せずに実現損益のみが出力されていました。多くの新入生がこれに不満を述べ、表示を最適化するよう求めました。
今回は、半年ほど実践してきたこの戦略をバージョンアップしていきましょう。
アップグレード前のポリシー バージョンは、ポリシーの「メモ」ページに記録されます。

これは私の個人的な開発習慣でもあります。戦略開発と反復のあらゆる詳細を FMZ.COM に記録しておくと非常に便利です。
アップグレードを開始してください!
まず、「ステータスバー」の表示を最適化しましょう。FMZ開発ドキュメントに精通している学生は、ステータスバーのデータがFMZで次のように表示されることを知っています。LogStatus関数。次に、このエントリ ポイントを見つけて、コードの設計を開始します。

次に、ここに大きなコードを追加します。
var tblPos = {
"type" : "table",
"title" : "持仓",
"cols" : ["持仓数量", "持仓方向", "持仓均价", "持仓盈亏", "合约代码", "自定义字段 / " + SpecifyPosField],
"rows" : []
}
var descType = ["多头仓位", "空头仓位"]
for (var posIndex = 0 ; posIndex < pos.length ; posIndex++) {
tblPos.rows.push([pos[posIndex].Amount, descType[pos[posIndex].Type], pos[posIndex].Price, pos[posIndex].Profit, pos[posIndex].ContractType, SpecifyPosField == "" ? "--" : pos[posIndex].Info[SpecifyPosField]])
}
var tbl = {
"type" : "table",
"title" : "数据",
"cols" : ["当前总权益", "实际盈亏", "当前价格", "买单价格/数量", "卖单价格/数量"],
"rows" : []
}
var buyOrder = null
var sellOrder = null
for (var orderIndex = 0 ; orderIndex < orders.length ; orderIndex++) {
if (orders[orderIndex].Type == ORDER_TYPE_BUY) {
buyOrder = orders[orderIndex]
} else {
sellOrder = orders[orderIndex]
}
}
var realProfit = currTotalEq - totalEq
if (exchange.GetName() == "Futures_Binance") {
_.each(pos, function(p) {
realProfit += parseFloat(p.Info.unRealizedProfit)
})
}
var t = exchange.GetTicker()
tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder.Price + "/" + buyOrder.Amount), (sellOrder.Price + "/" + sellOrder.Amount)])
// 更新图表数据
if (t && showLine) {
_.each(pos, function(p) {
$.PlotLine(descType[p.Type] + "持仓价格", p.Price)
})
$.PlotLine("买单挂单价格", buyOrder.Price)
$.PlotLine("卖单挂单价格", sellOrder.Price)
$.PlotLine("当前价格", t.Last)
}
// 更新状态栏数据
LogStatus("时间:" + _D() + "\n" + "`" + JSON.stringify(tblPos) + "`" + "\n" + "`" + JSON.stringify(tbl) + "`")
以前の原油を置き換えるLogStatus出力
LogStatus(_D(), "当前总权益:", currTotalEq, "持仓:", pos)
この戦略では 2 つのパラメータが追加されます。

showLineパラメータ チェックすると、線描画ライブラリを使用して実際の取引ページに描画し、ポジション価格、保留注文価格、現在の価格曲線を描画できます。
SpecifyPosFieldパラメータ ポジションの元データフィールドの名前は取引所ごとに異なるため、表示する必要があるポジション情報の元フィールドを設定するために使用されます。そこで、ここでは、表示するフィールド名を指定するためのカスタマイズされたパラメータを設計します。 たとえば、私の Binance リアルアカウント:

位置情報データ(交換インターフェースの元データ)のInfoフィールドを表示したいunRealizedProfit属性、つまりポジションの未実現損益。パラメータSpecifyPosFieldをunRealizedProfitに設定できます。ステータスバーに表示されます。
このような類似した設計により、この戦略では出力を非均一なデータに適応させることができ、ユーザーは出力コンテンツをカスタマイズするオプションが得られます。


表示すべきデータが一目でわかるようになります。戦略の取引の進行状況、現在のポジション価格、損益、保留中の注文価格を観察することがはるかに便利です。 この戦略には一定のリスクが伴います。ご自身のリスク管理に応じて具体的なパラメータを設定し、損益はご自身で負担してください。この戦略はコミュニケーションと学習のためだけに公開されます。