
Sebagai strategi pengajaran, tentu saja yang terbaik adalah mempertimbangkan kinerja praktis tertentu. “Strategi Martin untuk Kontrak Berjangka Mata Uang Kripto” telah ditampilkan di bagian Pantauan FMZ.COM selama hampir setengah tahun. Setelah melalui pasang surut, ditemukan bahwa strategi Martin dan grid memiliki risiko dan kekurangan, dan parameter konservatif tidak berarti keduanya tidak dapat digunakan.


Tn. Meng menjamin bahwa sama sekali tidak ada pengisian ulang untuk “memproduksi” kurva hasil (kepala anjing manual).
Namun, versi pertama dari desain strategi tersebut agak kasar. Hanya ada satu posisi dan total data ekuitas yang ditampilkan pada antarmuka, dan kurva imbal hasil hanya mencetak laba dan rugi yang terealisasi, tanpa memperhitungkan kerugian mengambang. Banyak mahasiswa baru yang mengeluhkan hal ini dan meminta agar tampilannya dioptimalkan.
Dalam artikel ini, mari kita tingkatkan strategi yang telah digunakan secara praktis selama setengah tahun.
Versi kebijakan sebelum pemutakhiran dicatat di halaman Catatan kebijakan.

Ini juga kebiasaan pengembangan pribadi saya. Sangat mudah untuk mencatat setiap detail pengembangan dan iterasi strategi di FMZ.COM.
Mulai perbarui!
Pertama, mari kita optimalkan tampilan “status bar”. Siswa yang sudah familiar dengan dokumen pengembangan FMZ tahu bahwa data status bar ditampilkan di FMZ menggunakanLogStatusfungsi. Lalu kita temukan titik masuk ini dan mulai mendesain kode.

Selanjutnya, tambahkan potongan kode besar di sini:
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) + "`")
Ganti minyak mentah sebelumnyaLogStatusKeluaran
LogStatus(_D(), "当前总权益:", currTotalEq, "持仓:", pos)
Strategi ini menambahkan 2 parameter:

Tampilkan Parameter Baris Jika dicentang, Anda dapat menggunakan pustaka gambar garis untuk menggambar di halaman perdagangan riil, menggambar harga posisi, harga pesanan tertunda, dan kurva harga saat ini.
Tentukan parameter PosField Digunakan untuk menetapkan bidang asli informasi posisi yang perlu ditampilkan, karena nama bidang data asli posisi berbeda untuk setiap bursa. Jadi di sini kita merancang parameter khusus untuk menentukan nama bidang yang akan ditampilkan. Misalnya, akun riil Binance saya:

Saya ingin menampilkan bidang Info dari data informasi posisi (data asli dari antarmuka pertukaran)unRealizedProfitAtribut, yaitu laba rugi yang belum terealisasi dari posisi tersebut. Anda dapat mengatur parameter SpecifyPosField ke unRealizedProfit. Ini akan ditampilkan di bilah status.
Desain yang serupa memungkinkan strategi untuk mengadaptasi keluaran ke data yang tidak seragam, sehingga memberikan pengguna opsi untuk menyesuaikan konten keluaran.


Anda dapat melihat bahwa data yang perlu ditampilkan jelas sekilas. Jauh lebih mudah untuk mengamati kemajuan perdagangan strategi, harga posisi saat ini, untung rugi, dan harga pesanan tertunda. Strategi ini memiliki risiko tertentu. Tetapkan parameter tertentu sesuai dengan pengendalian risiko Anda sendiri dan tanggung sendiri keuntungan dan kerugian Anda. Strategi ini diungkapkan hanya untuk komunikasi dan pembelajaran.