El gráfico de huella cuántica es una herramienta avanzada de análisis de gráficos, el nombre en inglés es
En pocas palabras, la huella cuántica proporciona transparencia del mercado mediante el micro-análisis de lo que sucede con los compradores y vendedores en varios niveles de precios.
Como se muestra en la figura anterior, se trata de una versión de demostración del gráfico de huella energética cuantitativa implementado en la plataforma de negociaciónFMZ.COMSe calcula sobre la base de lostick
En la línea K, se pueden presentar los datos de huella energética cuantitativa. Los datos en el cuadrado azul son el resultado de su cálculo, que se divide en dos columnas en total, y la columna izquierda son todos los puntos de precio de la línea K actual, que están dispuestos en orden de grande a pequeño. La columna derecha es el volumen de negociación para cada nivel de precios, subdividido en volumen de negociación de compra y volumen de negociación de venta, separado por
Piense en lo que causó el aumento de precios. La respuesta es simple: compradores y vendedores. Si hay más compradores que vendedores, el precio aumentará; si hay más vendedores que compradores, el precio caerá. Si el número actual de vendedores es aproximadamente igual al número de precios de compra, entonces el mercado mostrará una tendencia volátil, es decir, el mercado está en un estado de equilibrio. Una vez que aparecen grandes compradores o vendedores, este equilibrio se romperá, y entonces el mapa de la huella energética mostrará una proporción extrema de compra y venta activa.
La huella de energía se muestra dinámicamente en base a los datos de Tick, por lo que es especialmente adecuada para el comercio intradiario a corto plazo. Los operadores pueden ver con precisión el volumen de operaciones activo en cada precio para explicar las razones o leyes de las fluctuaciones de precios y personalizar sus propias estrategias comerciales. Por ejemplo: si el volumen de compra a la izquierda es mucho mayor que el volumen de venta a la derecha, significa que los participantes del mercado están comprando activamente, y el precio puede aumentar en el futuro; de lo contrario, si el volumen de venta a la derecha es mucho mayor que el volumen de compra a la izquierda, significa que con los participantes del mercado vendiendo activamente, los precios pueden caer en el futuro.
El principio de cálculo de la huella cuántica de energía proviene del volumen y los datos del mercado. El volumen actual se calcula en tiempo real de acuerdo con los cambios de precios del mercado. Si el precio de mercado aumenta, el volumen se registra como una compra activa; si el precio de mercado cae, luego registre el volumen como una venta activa.Tick
Los datos se calcularán en tiempo real para calcular con precisión el volumen de negocios de cadaTick
.
/*backtest
start: 2020-03-10 00:00:00
end: 2020-03-10 23:59:00
period: 1h
exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
mode: 1
*/
var NewFuturesTradeFilter = function (period) {
var self = {} // Create an object
self.c = Chart({ // Create "Chart" chart
tooltip: {
xDateFormat:'%Y-%m-%d %H:%M:%S, %A',
pointFormat:'{point.tips}'
},
series: [{
name: exchange.GetName(),
type:'candlestick',
data: []
}]
})
self.c.reset() // clear chart data
self.pre = null // used to record the last data
self.records = []
self.feed = function (ticker) {
if (!self.pre) {// If the previous data is not true
self.pre = ticker // Assign the latest data
}
var action ='' // Mark as empty string
Log('ticker', ticker)
Log('pre', self.pre)
if (ticker.Last >= self.pre.Sell) {// If the last price of the latest data is greater than or equal to the selling price of the previous data
action ='buy' // mark as buy
} else if (ticker.Last <= self.pre.Buy) {// If the last price of the latest data is less than or equal to the bid price of the previous data
action ='sell' // mark as sell
} else {
if (ticker.Last >= ticker.Sell) {// If the last price of the latest data is greater than or equal to the selling price of the latest data
action ='buy' // mark as buy
} else if (ticker.Last <= ticker.Buy) {// If the last price of the latest data is less than or equal to the buying price of the latest data
action ='sell' // mark as "sell"
} else {
action ='both' // Mark as "both"
}
}
// reset volume
if (ticker.Volume <self.pre.Volume) {// If the volume of the latest data is less than the volume of the previous data
self.pre.Volume = 0 // Assign the volume of the previous data to 0
}
var amount = ticker.Volume-self.pre.Volume // the volume of the latest data minus the volume of the previous data
if (action !='' && amount> 0) {// If the tag is not an empty string and the action is greater than 0
var epoch = parseInt(ticker.Time / period) * period // Calculate the K-line timestamp and round it
var bar = null
var pos = undefined
if (
self.records.length == 0 || // If the K-line length is 0 or the last K-line timestamp is less than "epoch"
self.records[self.records.length-1].time <epoch
) {
bar = {
time: epoch,
data: {},
open: ticker.Last,
high: ticker.Last,
low: ticker.Last,
close: ticker.Last
} // Assign the latest data to bar
self.records.push(bar) // Add bar to the records array
} else {// reassign bar
bar = self.records[self.records.length-1] // the last bar of the previous data
bar.high = Math.max(bar.high, ticker.Last) // the maximum price of the last bar of the previous data and the maximum value of the last price of the latest data
bar.low = Math.min(bar.low, ticker.Last) // The minimum price of the last bar of the previous data and the minimum value of the last price of the latest data
bar.close = ticker.Last // last price of latest data
pos = -1
}
if (typeof bar.data[ticker.Last] ==='undefined') {// If the data is empty
bar.data[ticker.Last] = {// reassign value
buy: 0,
sell: 0
}
}
if (action =='both') {// If the token is equal to both
bar.data[ticker.Last]['buy'] += amount // buy accumulation
bar.data[ticker.Last]['sell'] += amount // sell accumulated
} else {
bar.data[ticker.Last][action] += amount // mark accumulation
}
var tips =''
Object.keys(bar.data) // Put the keys in the object into an array
.sort() // sort
.reverse() // Reverse the order in the array
.forEach(function (p) {// traverse the array
tips +='<br>' + p + '' + bar.data[p].sell +'x' + bar.data[p].buy
})
self.c.add( // Add data
0, {
x: bar.time,
open: bar.open,
high: bar.high,
low: bar.low,
close: bar.close,
tips: tips
},
pos
)
}
self.pre = ticker // reassign
}
return self // return object
}
// program entry
function main() {
Log(_C(exchange.SetContractType,'MA888')) // subscription data
var filt = NewFuturesTradeFilter(60000) // Create an object
while (true) {// Enter loop mode
var ticker = exchange.GetTicker() // Get exchange tick data
if (ticker) {// If the Tick data is successfully obtained
filt.feed(ticker) // Start processing data
}
}
}
El código de estrategia de la tabla de huella de los códigos cuantitativos ha sido publicado elFMZ.complataforma, y los usuarios ordinarios pueden usarlo sin configuración.https://www.fmz.com/strategy/189965
En el uso real, el mapa de huella energética también puede analizar el flujo de fondos desde la perspectiva del volumen. Ya sea para analizar la dirección de las tendencias a gran escala o la dirección a corto plazo del día, desempeña un papel vital. Sin embargo, debe tenerse en cuenta que el llamado flujo de capital aquí no se refiere a la entrada y salida de fondos, sino que refleja la voluntad del mercado de comprar y vender y el comportamiento del juego de los principales jugadores e inversores minoristas.