4
ध्यान केंद्रित करना
1271
समर्थक

विज़ुअल एन्हांसमेंट टूल! FMZ पर बाज़ार के रुझान को समझने के लिए ब्रिक चार्ट और औसत कैंडलस्टिक का उपयोग करें

में बनाया: 2025-06-06 09:27:29, को अपडेट: 2025-06-06 17:34:58
comments   2
hits   568

[TOC]

विज़ुअल एन्हांसमेंट टूल! FMZ पर बाज़ार के रुझान को समझने के लिए ब्रिक चार्ट और औसत कैंडलस्टिक का उपयोग करें

मात्रात्मक व्यापार में, पारंपरिक कैंडलस्टिक चार्ट सबसे अधिक इस्तेमाल किए जाने वाले डेटा प्रतिनिधित्व रूपों में से एक है, लेकिन इसमें कुछ सीमाएँ भी हैं, जैसे उतार-चढ़ाव या अत्यधिक शोर के प्रति असंवेदनशीलता। मूल्य प्रवृत्तियों को अधिक स्पष्ट रूप से देखने के लिए, व्यापारी अक्सर कुछ बेहतर चार्ट का उपयोग करते हैं, जैसे:

  • रेन्को: समय के बजाय मूल्य परिवर्तनों के आधार पर निष्कर्ष निकालता है, जिससे बाजार के शोर को प्रभावी ढंग से छान लिया जाता है।
  • हेइकिन आशी: यह प्रवृत्ति की दिशा को अधिक सहजता से दिखाने के लिए मूल्य डेटा को सुचारू बनाता है।

यह लेख एफएमजेड क्वांटिटेटिव ट्रेडिंग प्लेटफॉर्म पर साधारण के-लाइन के आधार पर ब्रिक चार्ट और औसत के-लाइन डेटा की गणना करने का तरीका बताएगा, तथा रणनीति डेवलपर्स को बाजार के रुझानों का अधिक सहजता से विश्लेषण करने में मदद करने के लिए ड्राइंग प्रभाव दिखाएगा।

ईंट चार्ट (रेन्को)

रेन्को चार्ट “ईंटों” को इकाइयों के रूप में उपयोग करता है, और एक नई ईंट केवल तभी खींची जाती है जब कीमत एक निश्चित सीमा (जैसे $100) से अधिक उतार-चढ़ाव करती है।

  • लाभ: मूल्य परिवर्तनों के आधार पर, यह बाजार में छोटे उतार-चढ़ाव को छानता है और मुख्य रुझानों पर प्रकाश डालता है।
  • लागू परिदृश्य: मध्यम और दीर्घकालिक रुझानों की पहचान करने और लेनदेन में शोर हस्तक्षेप को कम करने के लिए उपयुक्त।

ट्रेडिंग सिग्नल व्याख्या

  • प्रवृत्ति की पुष्टि: लगातार बढ़ती ईंटें एक मजबूत प्रवृत्ति का संकेत देती हैं और आप एक स्थिति बनाए रख सकते हैं; रिवर्स ईंटों की उपस्थिति एक प्रवृत्ति उलट संकेत है।
  • ब्रेकआउट ट्रेडिंग: जब कोई नई ईंट दिखाई देती है, विशेष रूप से जब यह पिछले उच्च/निम्न को तोड़ती है, तो बाजार में प्रवेश करने पर विचार करें।
  • झूठे ब्रेकआउट फ़िल्टरिंग: चूंकि ब्रिक चार्ट छोटे उतार-चढ़ाव को अनदेखा करता है, इसलिए यह दोलन अवधि के दौरान छोटे झूठे ब्रेकआउट को फ़िल्टर करने में मदद करता है।

मुख्य गणना तर्क:

  • ईंट का आकार निर्धारित करें brickSize
  • प्रारंभिक कीमत के आधार पर, लगातार तुलना करें कि क्या नवीनतम कीमत पिछली ईंट की कीमत से 100% से अधिक भिन्न है
  • यदि कीमत सीमा से ऊपर चली जाती है, तो बढ़ती हुई ईंट खींची जाती है; यही बात गिरती हुई कीमत पर भी लागू होती है।

ईंट आरेख (रेन्को) की गणना करें और कोड बनाएं:

/*backtest
start: 2025-05-01 00:00:00
end: 2025-06-06 00:00:00
period: 1h
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"ETH_USDT","balance":1000,"stocks":0.5}]
*/

let globalbricks = []
let lastBarTime = 0

function getBricks(r, brickSize, sourceAttribute, lastPrice) {
    for (let i = 1; i < r.length; i++) {
        let bar = r[i]
        let price = bar[sourceAttribute]
        let time = bar.Time

        if (time < lastBarTime) {
            continue 
        }

        // 遍历原始K线数据
        while (Math.abs(price - lastPrice) >= brickSize) {
            if (globalbricks.length > 0 && time == globalbricks[globalbricks.length - 1].Time) {
                time = globalbricks[globalbricks.length - 1].Time + 1000
            }
            // 构造砖块
            let brick = {
                Time: time,
                Open: lastPrice,
                Close: 0,
                High: 0,
                Low: 0
            }

            if (price > lastPrice) {
                // 上涨砖块
                lastPrice += brickSize
                brick.Close = lastPrice
                brick.High = lastPrice
                brick.Low = brick.Open
            } else {
                // 下跌砖块
                lastPrice -= brickSize
                brick.Close = lastPrice
                brick.High = brick.Open
                brick.Low = lastPrice
            }

            // 放入数组
            globalbricks.push(brick)

            // time 累加1秒,防止一根BAR分成多块brick时断开
            time += 1000
        }

        lastBarTime = bar.Time
    }

    return globalbricks
}

function getRenko(r, brickSize, sourceAttribute) {
    // 原始K线数据如果不符合计算要求,直接返回
    if (!r || r.length <= 0) {
        return null
    }

    if (globalbricks.length == 0) {
        return getBricks(r, brickSize, sourceAttribute, r[0][sourceAttribute])
    } else {
        return getBricks(r, brickSize, sourceAttribute, globalbricks[globalbricks.length - 1].Close)
    }
}

function main() {
    let c = KLineChart({
        overlay: true
    })

    while (true) {
        let r = _C(exchange.GetRecords)
        let bricks = getRenko(r, 100, "Close")
        bricks.forEach(function (brick, index) {
            c.begin(brick)
            c.close()
        })

        Sleep(1000)
    }
}

बैकटेस्टिंग

विज़ुअल एन्हांसमेंट टूल! FMZ पर बाज़ार के रुझान को समझने के लिए ब्रिक चार्ट और औसत कैंडलस्टिक का उपयोग करें

हेइकिन आशी

हेइकिन आशी पारंपरिक के-लाइन की एक समतलीकरण प्रक्रिया है

  • लाभ: स्पष्ट प्रवृत्ति दिशा प्रदान करता है और मूल्य डेटा को सुचारू करके झूठे संकेतों को कम करता है।
  • लागू परिदृश्य: प्रवृत्ति अनुसरण रणनीतियों के लिए लागू, व्यापारियों को प्रवृत्तियों में लंबे समय तक स्थिति बनाए रखने में मदद करता है।

गणना पद्धति इस प्रकार है:

HA_Close = (Open + High + Low + Close) / 4
HA_Open = (前一根 HA_Open + 前一根 HA_Close) / 2
HA_High = max(High, HA_Open, HA_Close)
HA_Low = min(Low, HA_Open, HA_Close)
Heikin Ashi 本质上是一种移动平均滤波的 K 线,具有趋势持续性更强的特点。

प्रवृत्ति निर्णय और संकेत पहचान

  • एक बड़ी बॉडी वाली और लगभग बिना किसी ऊपरी या निचली छाया वाली एक तेजी वाली मोमबत्ती एक मजबूत ऊपर की ओर प्रवृत्ति को इंगित करती है
  • एक बड़ी बॉडी वाली नकारात्मक रेखा और लगभग कोई ऊपरी या निचली छाया नहीं होना एक मजबूत नीचे की ओर प्रवृत्ति को इंगित करता है
  • ऊपरी और निचली छायाएं लंबी होती जा रही हैं, और वास्तविक शरीर सिकुड़ रहा है। प्रवृत्ति कमजोर हो रही है, इसलिए उलटफेर से सावधान रहें।
  • शरीर बहुत छोटा है, छाया लंबी है। बाजार अस्थिर है, इसलिए अभी व्यापार न करें।

कार्यान्वयन कोड और ड्राइंग:

/*backtest
start: 2025-05-01 00:00:00
end: 2025-06-06 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT","balance":1000,"stocks":0.5}]
*/

function toHeikinAshi(records) {
    if (!records || records.length == 0) {
        return null 
    }

    let haRecords = []

    for (let i = 0; i < records.length; i++) {
        let r = records[i]
        let ha = {}

        ha.Time = r.Time
        ha.Close = (r.Open + r.High + r.Low + r.Close) / 4

        if (i === 0) {
            // 第一根 Heikin Ashi 的开盘价用普通K线的开盘价和收盘价的均值
            ha.Open = (r.Open + r.Close) / 2
        } else {
            // 后续每根的开盘价 = 上一根Heikin Ashi开盘价和收盘价均值
            ha.Open = (haRecords[i - 1].Open + haRecords[i - 1].Close) / 2
        }

        ha.High = Math.max(r.High, ha.Open, ha.Close)
        ha.Low = Math.min(r.Low, ha.Open, ha.Close)

        haRecords.push(ha)
    }

    return haRecords
}

function main() {
    let c = KLineChart({
        overlay: true
    })

    while (true) {
        let r = _C(exchange.GetRecords)
        let heikinAshiRecords = toHeikinAshi(r)
        heikinAshiRecords.forEach(function (bar, index) {
            c.begin(bar)
            c.close()
        })
        Sleep(1000)
    }
}

बैकटेस्टिंग

विज़ुअल एन्हांसमेंट टूल! FMZ पर बाज़ार के रुझान को समझने के लिए ब्रिक चार्ट और औसत कैंडलस्टिक का उपयोग करें

END

रेन्को चार्ट और हेइकिन आशी ट्रेंड ट्रेडर्स के लिए शक्तिशाली उपकरण हैं:

  • रेन्को चार्ट मूल्य विस्थापन पर केंद्रित है और सफलताओं और प्रवृत्ति पुष्टि के लिए उपयुक्त है।
  • हेइकिन आशी मूल्य समतलीकरण पर ध्यान केंद्रित करता है और प्रवृत्ति स्थिति नियंत्रण के लिए उपयुक्त है।
  • दोनों के पूरक उपयोग से प्रवृत्ति रणनीति संकेतों की स्थिरता और विरोधी-झटका क्षमता में सुधार हो सकता है।

बैकटेस्टिंग और वास्तविक समय सत्यापन को संयोजित करने, अपने स्वयं के ट्रेडिंग उत्पादों और चक्रों के अनुकूल चार्ट समाधान चुनने और एक व्यक्तिगत मात्रात्मक ट्रेडिंग प्रणाली बनाने की सिफारिश की जाती है।