O gráfico de pegada quântica é uma ferramenta avançada de análise de gráficos, o nome em inglês é
Simplificando, a Pegada Quântica fornece transparência de mercado através da micro-análise do que acontece com compradores e vendedores em vários níveis de preço.
Tal como mostrado na figura acima, trata-se de uma versão de demonstração do gráfico da pegada energética quantitativa implementado na plataforma de negociaçãoFMZ.COMÉ calculado com base nostick
Quando o mouse passa por cima da linha K, os dados quantitativos da pegada de energia podem ser apresentados. Os dados no quadrado azul são o resultado de seu cálculo, que é dividido em duas colunas no total, e a coluna esquerda são todos os pontos de preço da linha K atual, que estão dispostos em ordem de grande a pequena. A coluna direita é o volume de negociação para cada nível de preço, subdividido em volume de negociação de compra e volume de negociação de venda, separado por
Pense no que causou o aumento de preços? A resposta é simples... compradores e vendedores. Se houver mais compradores do que vendedores, o preço aumentará; se houver mais vendedores do que compradores, o preço cairá. Se o número atual de vendedores for aproximadamente igual ao número de preços de compra, então o mercado mostrará uma tendência volátil, ou seja, o mercado está em um estado de equilíbrio. Uma vez que grandes compradores ou vendedores aparecem, esse equilíbrio será quebrado, e então o mapa da pegada energética mostrará uma proporção extrema de compra e venda ativas.
A pegada de energia é exibida dinamicamente com base em dados Tick, por isso é especialmente adequada para negociação intradiária de curto prazo. Os comerciantes podem ver com precisão o volume ativo de negociação em cada preço para explicar as razões ou leis das flutuações de preços e personalizar suas próprias estratégias de negociação. Por exemplo: se o volume de compra à esquerda for muito maior do que o volume de venda à direita, significa que os participantes do mercado estão comprando ativamente e o preço pode aumentar no futuro; caso contrário, se o volume de venda à direita for muito maior do que o volume de compra à esquerda, significa que com os participantes do mercado vendendo ativamente, os preços podem cair no futuro.
O princípio de cálculo da Pegada Quântica de Energia vem dos dados de volume e mercado. O volume atual é calculado em tempo real de acordo com as mudanças de preço do mercado. Se o preço de mercado subir, o volume é registrado como uma compra ativa; se o preço de mercado cair, então registre o volume como venda ativa.Tick
Os dados serão calculados em tempo real para calcular com precisão o volume de negócios 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
}
}
}
O código de estratégia do gráfico da pegada quantitativa foi lançado emFMZ.complataforma, e usuários comuns podem usá-lo sem configuração.https://www.fmz.com/strategy/189965
Em uso real, o mapa da pegada energética também pode analisar o fluxo de fundos a partir da perspectiva do volume. Quer seja para analisar a direção das tendências em larga escala ou a direção de curto prazo do dia, ele desempenha um papel vital. No entanto, deve-se notar que o chamado fluxo de capital aqui não se refere à entrada e saída de fundos, mas reflete a disposição do mercado para comprar e vender e o comportamento do jogo dos principais jogadores e investidores de varejo.