4
ফোকাস
1271
অনুসারী

ভিজ্যুয়াল এনহ্যান্সমেন্ট টুল! FMZ-তে বাজারের প্রবণতা বুঝতে ব্রিক চার্ট এবং গড় ক্যান্ডেলস্টিক ব্যবহার করুন

তৈরি: 2025-06-06 09:27:29, আপডেট করা হয়েছে: 2025-06-06 17:34:58
comments   2
hits   571

[TOC]

ভিজ্যুয়াল এনহ্যান্সমেন্ট টুল! FMZ-তে বাজারের প্রবণতা বুঝতে ব্রিক চার্ট এবং গড় ক্যান্ডেলস্টিক ব্যবহার করুন

পরিমাণগত ট্রেডিংয়ে, ঐতিহ্যবাহী ক্যান্ডেলস্টিক চার্ট হল সবচেয়ে বেশি ব্যবহৃত ডেটা উপস্থাপনা ফর্মগুলির মধ্যে একটি, তবে এর কিছু সীমাবদ্ধতাও রয়েছে, যেমন ওঠানামার প্রতি সংবেদনশীলতা বা অতিরিক্ত শব্দ। দামের প্রবণতা আরও স্পষ্টভাবে পর্যবেক্ষণ করার জন্য, ব্যবসায়ীরা প্রায়শই কিছু উন্নত চার্ট ব্যবহার করেন, যেমন:

  • রেনকো: সময়ের পরিবর্তে মূল্য পরিবর্তনের উপর ভিত্তি করে ড্র করা হয়, যা কার্যকরভাবে বাজারের গোলমালকে ফিল্টার করে।
  • হাইকিন আশি: এটি মূল্যের তথ্য মসৃণ করে প্রবণতার দিকটি আরও স্বজ্ঞাতভাবে দেখায়।

এই প্রবন্ধে FMZ পরিমাণগত ট্রেডিং প্ল্যাটফর্মে সাধারণ K-লাইনের উপর ভিত্তি করে ইটের চার্ট এবং গড় K-লাইন ডেটা কীভাবে গণনা করা যায় তা উপস্থাপন করা হবে এবং কৌশল বিকাশকারীদের বাজারের প্রবণতা আরও স্বজ্ঞাতভাবে বিশ্লেষণ করতে সহায়তা করার জন্য অঙ্কনের প্রভাব দেখানো হবে।

ইটের চার্ট (রেনকো)

রেনকো চার্টে “ইট” কে ইউনিট হিসেবে ব্যবহার করা হয় এবং একটি নতুন ইট তখনই টানা হয় যখন দাম একটি নির্দিষ্ট সীমার (যেমন $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

ট্রেন্ড ট্রেডারদের জন্য রেনকো চার্ট এবং হাইকিন আশি শক্তিশালী হাতিয়ার:

  • রেনকো চার্ট মূল্য স্থানচ্যুতির উপর দৃষ্টি নিবদ্ধ করে এবং অগ্রগতি এবং প্রবণতা নিশ্চিতকরণের জন্য উপযুক্ত।
  • হাইকিন আশি মূল্য মসৃণকরণের উপর মনোযোগ দেন এবং ট্রেন্ড অবস্থান নিয়ন্ত্রণের জন্য উপযুক্ত।
  • দুটির পরিপূরক ব্যবহার ট্রেন্ড কৌশল সংকেতের স্থিতিশীলতা এবং শক-বিরোধী ক্ষমতা উন্নত করতে পারে।

ব্যাকটেস্টিং এবং রিয়েল-টাইম যাচাইকরণ একত্রিত করার পরামর্শ দেওয়া হচ্ছে, আপনার নিজস্ব ট্রেডিং পণ্য এবং চক্রের জন্য উপযুক্ত একটি চার্ট সমাধান বেছে নিন এবং একটি ব্যক্তিগতকৃত পরিমাণগত ট্রেডিং সিস্টেম তৈরি করুন।