Inventor kuantitatif feedback strategi program adalah proses kontrol yang lengkap, program adalah berdasarkan pada frekuensi tertentu survei terus menerus. Setiap situasi, transaksi API data yang dikembalikan adalah sesuai dengan waktu panggilan, simulasi kondisi saat operasi yang sebenarnya. Berada di tingkat onTick, bukan tingkat onBar dari sistem feedback lainnya.
Analog tingkat pengukuran adalah berdasarkan data K-line dasar dari sistem pengukuran, sesuai dengan algoritma tertentu dalam kerangka yang terdiri dari nilai tertinggi, terendah, harga buka, dan harga tutup dari Bar K-line dasar yang diberikan, simulasi ticker data dimasukkan ke dalam urutan waktu Bar ini.
Pemantauan tingkat disk nyata adalah data tingkat ticker yang benar dalam urutan waktu Bar. Untuk strategi yang didasarkan pada data tingkat ticker, menggunakan pemantauan tingkat disk nyata lebih dekat dengan kebenaran. Ticker adalah data yang tercatat secara nyata, bukan simulasi yang dihasilkan.
Tidak ada pilihan K-line dasar untuk pengembalian tingkat disk (karena data ticker adalah nyata, tidak ada K-line dasar untuk simulasi). Dalam simulasi tingkat pengembalian, berdasarkan pada K-line data simulasi yang dihasilkan ticker. Data K-line adalah dasar K-line. Dalam penggunaan simulasi tingkat pengembalian, dasar K-line siklus harus lebih kecil dari siklus API mendapatkan K-line ketika menjalankan kebijakan. Jika tidak, karena dasar K-line siklus yang lebih besar, jumlah ticker yang dihasilkan tidak cukup, panggilan API untuk mendapatkan K-line dari periode yang ditentukan, data akan salah.
Mekanisme pembuatan ticker analog pada K-line dasar sama dengan MT4.

Algoritma khusus untuk mensimulasikan data tick dari data K-line dasar:
function recordsToTicks(period, num_digits, records) {
if (records.length == 0) {
return []
}
var ticks = []
var steps = [0, 2, 4, 6, 10, 12, 16, 18, 23, 25, 27, 29]
var pown = Math.pow(10, num_digits)
function pushTick(t, price, vol) {
ticks.push([Math.floor(t), Math.floor(price * pown) / pown, vol])
}
for (var i = 0; i < records.length; i++) {
var T = records[i][0]
var O = records[i][1]
var H = records[i][2]
var L = records[i][3]
var C = records[i][4]
var V = records[i][5]
if (V > 1) {
V = V - 1
}
if ((O == H) && (L == C) && (H == L)) {
pushTick(T, O, V)
} else if (((O == H) && (L == C)) || ((O == L) && (H == C))) {
pushTick(T, O, V)
} else if ((O == C) && ((O == L) || (O == H))) {
pushTick(T, O, V / 2)
pushTick(T + (period / 2), (O == L ? H : L), V / 2)
} else if ((C == H) || (C == L)) {
pushTick(T, O, V / 2)
pushTick(T + (period * 0.382), (C == L ? H : L), V / 2)
} else if ((O == H) || (O == L)) {
pushTick(T, O, V / 2)
pushTick(T + (period * 0.618), (O == L ? H : L), V / 2)
} else {
var dots = []
var amount = V / 11
pushTick(T, O, amount)
if (C > O) {
dots = [
O - (O - L) * 0.75,
O - (O - L) * 0.5,
L,
L + (H - L) / 3.0,
L + (H - L) * (4 / 15.0),
H - (H - L) / 3.0,
H - (H - L) * (6 / 15.0),
H,
H - (H - C) * 0.75,
H - (H - C) * 0.5,
]
} else {
dots = [
O + (H - O) * 0.75,
O + (H - O) * 0.5,
H,
H - (H - L) / 3.0,
H - (H - L) * (4 / 15.0),
H - (H - L) * (2 / 3.0),
H - (H - L) * (9 / 15.0),
L,
L + (C - L) * 0.75,
L + (C - L) * 0.5,
]
}
for (var j = 0; j < dots.length; j++) {
pushTick(T + period * (steps[j + 1] / 30.0), dots[j], amount)
}
}
pushTick(T + (period * 0.98), C, 1)
}
return ticks
}
Oleh karena itu, harga dalam urutan waktu akan bergeser saat menggunakan simulasi tingkat pengembalian.