El inventor de la calibración de la retroalimentación de la política de programación es el proceso de control completo, el programa es una encuesta de seguimiento de una cierta frecuencia sin parar. Los datos devueltos por cada caso, la API de transacción es de acuerdo a la hora de la convocatoria, la simulación de la situación en el momento de la ejecución real. Pertenece a nivel onTick, no a nivel onBar de otros sistemas de retroalimentación.
El retroceso de nivel analógico es el resultado de la inserción de datos de ticker en la secuencia de tiempo de esta barra, de acuerdo con los datos de la línea K subyacente del sistema de retroceso, de acuerdo con un algoritmo en un marco compuesto por los valores de la barra K subyacente, el precio máximo, el precio mínimo, el precio de apertura y el precio de cierre.
La retroalimentación a nivel de disco real es el dato a nivel de ticker real en la secuencia temporal de Bar. Para las estrategias basadas en datos a nivel de ticker, el uso de retroalimentación a nivel de disco real es más cercano a la verdad. La retroalimentación a nivel de disco, ticker es el registro real de los datos, no la simulación generada.
La retroalimentación a nivel de disco no tiene opción de línea K subyacente (ya que los datos de ticker son reales, no se usa una línea K subyacente para simular la generación). En la retroalimentación de nivel de simulación, el ticker generado en la simulación basado en los datos de la línea K. Este dato de la línea K es la línea K subyacente. En el uso real de la retroalimentación de nivel de simulación, el ciclo de la línea K subyacente debe ser menor que el ciclo de la llamada a la API para obtener la línea K cuando se ejecuta la estrategia. De lo contrario, debido a que el ciclo de la línea K subyacente es mayor y la cantidad de tickers generados es insuficiente, la llamada a la API para obtener la línea K de la ciclo especificado, los datos tendrán errores.
El mecanismo para generar tickers analógicos de la línea K de la base es el mismo que el MT4.

El algoritmo específico para simular los datos de la línea K subyacente para los datos de tick:
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
}
Por lo tanto, el uso de la retroalimentación de nivel de simulación produce fluctuaciones de precios en la secuencia temporal.