Phân tích và thực hiện các hợp đồng tương lai hàng hóa Biểu đồ dấu chân khối lượng

Tác giả:Tốt, Tạo: 2020-07-03 11:06:48, Cập nhật: 2023-10-28 15:30:11

img

Tóm lại

Biểu đồ dấu chân lượng tử là một công cụ phân tích biểu đồ tiên tiến, tên tiếng Anh là Footprint Charts. Nó cho thấy hoạt động giao dịch của mỗi giá trong một dòng K duy nhất. Ngoài việc cung cấp thông tin giá, nó cũng cung cấp thông tin như khối lượng giao dịch, mua tích cực và bán tích cực. Đây là một biểu đồ kỹ thuật đa chiều tiết lộ tỷ lệ phân phối thực sự của mỗi giá dựa trên khối lượng giao dịch, giải thích mối quan hệ phức tạp giữa khối lượng giao dịch, giá và thời gian, và có thể cung cấp nhiều tài liệu tham khảo cho các nhà giao dịch.

Dấu chân lượng tử là gì?

Nói một cách đơn giản, Dấu chân lượng tử cung cấp tính minh bạch thị trường bằng cách phân tích vi mô những gì xảy ra với người mua và người bán ở các mức giá khác nhau.

  • Giá đường K
  • Số lượng mua tích cực (ASK)
  • Số lượng bán tích cực (BID)
  • Tỷ lệ cân bằng

img

Như được hiển thị trong hình trên, đây là phiên bản trình diễn của biểu đồ lượng năng lượng được thực hiện trên nền tảng giao dịchFMZ.COMNó được tính dựa trêntickthị trường. Dữ liệu chi tiết được đính kèm với đường K. Khi chuột di chuyển trên đường K, dữ liệu lượng năng lượng có thể được trình bày. Dữ liệu trong hình vuông màu xanh là kết quả tính toán của nó, được chia thành hai cột tổng cộng, và cột trái là tất cả các điểm giá của đường K hiện tại, được sắp xếp theo thứ tự từ lớn đến nhỏ. Cột phải là khối lượng giao dịch cho mỗi mức giá, được chia thành khối lượng giao dịch mua và bán, được tách bằng x. Bên trái của x là khối lượng mua tích cực, bên phải của x là khối lượng bán tích cực.

Vai trò của Dấu chân năng lượng lượng lượng tử

Hãy suy nghĩ về nguyên nhân gây ra sự gia tăng giá. Câu trả lời rất đơn giản... người mua và người bán. Nếu có nhiều người mua hơn người bán, giá sẽ tăng; nếu có nhiều người bán hơn người mua, giá sẽ giảm. Nếu số lượng người bán hiện tại gần bằng số lượng giá mua, thì thị trường sẽ hiển thị một xu hướng biến động, tức là thị trường đang ở trạng thái cân bằng. Một khi người mua hoặc người bán lớn xuất hiện, sự cân bằng này sẽ bị phá vỡ, và sau đó bản đồ dấu chân năng lượng sẽ hiển thị tỷ lệ mua và bán tích cực.

Dấu chân năng lượng được hiển thị năng động dựa trên dữ liệu Tick, vì vậy nó đặc biệt phù hợp với giao dịch trong ngày ngắn hạn. Các nhà giao dịch có thể xem chính xác khối lượng giao dịch hoạt động trên mỗi giá để giải thích các lý do hoặc luật lệ của biến động giá và tùy chỉnh chiến lược giao dịch của riêng họ. Ví dụ: nếu khối lượng mua bên trái lớn hơn nhiều so với khối lượng bán bên phải, điều đó có nghĩa là những người tham gia thị trường đang tích cực mua, và giá có thể tăng trong tương lai; nếu không, nếu khối lượng bán bên phải lớn hơn nhiều so với khối lượng mua bên trái, điều đó có nghĩa là Với những người tham gia thị trường tích cực bán, giá có thể giảm trong tương lai.

Nguyên tắc của Dấu chân năng lượng lượng lượng tử

Nguyên tắc tính toán của Dấu chân năng lượng lượng lượng tử xuất phát từ dữ liệu khối lượng và thị trường. khối lượng hiện tại được tính toán theo thời gian thực theo sự thay đổi giá của thị trường. Nếu giá thị trường tăng, khối lượng được ghi nhận là mua tích cực; nếu giá thị trường giảm, Sau đó ghi lại khối lượng là bán tích cực. Trong biểu đồ dấu chân năng lượng FMZ,Tickdữ liệu sẽ được tính toán trong thời gian thực để tính toán chính xác doanh thu của mỗiTick.

Thực hiện mã dấu chân năng lượng lượng lượng tử

/*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
        }
    }
}

Mã dấu chân lượng tử tải về

Các mã số lượng biểu đồ dấu chân chiến lược mã đã được phát hành trênFMZ.comnền tảng, và người dùng bình thường có thể sử dụng nó mà không cần thiết lập.https://www.fmz.com/strategy/189965

Tóm lại

Trong sử dụng thực tế, bản đồ dấu chân năng lượng cũng có thể phân tích dòng tiền từ góc độ khối lượng. Cho dù đó là để phân tích hướng của xu hướng quy mô lớn hoặc hướng ngắn hạn của ngày, nó đóng một vai trò quan trọng. Tuy nhiên, cần lưu ý rằng cái gọi là dòng vốn ở đây không đề cập đến việc nhập và xuất vốn, mà thay vào đó phản ánh sự sẵn sàng mua và bán của thị trường và hành vi chơi của các cầu thủ chính và các nhà đầu tư bán lẻ.


Có liên quan

Thêm nữa