avatar of 发明者量化-小小梦 发明者量化-小小梦
پر توجہ دیں نجی پیغام
4
پر توجہ دیں
1271
پیروکار

بصری بڑھانے کا آلہ! FMZ پر مارکیٹ کے رجحانات کو سمجھنے کے لیے اینٹوں کے چارٹ اور اوسط موم بتی کا استعمال کریں۔

میں تخلیق کیا: 2025-06-06 09:27:29, تازہ کاری: 2025-06-06 17:34:58
comments   2
hits   571

[TOC]

بصری بڑھانے کا آلہ! FMZ پر مارکیٹ کے رجحانات کو سمجھنے کے لیے اینٹوں کے چارٹ اور اوسط موم بتی کا استعمال کریں۔

مقداری تجارت میں، روایتی کینڈل سٹک چارٹ سب سے زیادہ استعمال ہونے والے ڈیٹا کی نمائندگی کی شکلوں میں سے ایک ہے، لیکن اس کی کچھ حدود بھی ہیں، جیسے اتار چڑھاؤ یا ضرورت سے زیادہ شور کے لیے غیر حساسیت۔ قیمت کے رجحانات کو زیادہ واضح طور پر دیکھنے کے لیے، تاجر اکثر کچھ بہتر چارٹ استعمال کرتے ہیں، جیسے:

  • Renko: وقت کی بجائے قیمتوں میں تبدیلی پر مبنی ڈرا، مؤثر طریقے سے مارکیٹ کے شور کو فلٹر کرتا ہے۔
  • Heikin Ashi: یہ رجحان کی سمت کو زیادہ بدیہی طور پر دکھانے کے لیے قیمت کے ڈیٹا کو ہموار کرتا ہے۔

یہ مضمون متعارف کرائے گا کہ FMZ مقداری تجارتی پلیٹ فارم پر عام K-line کی بنیاد پر اینٹوں کے چارٹس اور اوسط 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 پر مارکیٹ کے رجحانات کو سمجھنے کے لیے اینٹوں کے چارٹ اور اوسط موم بتی کا استعمال کریں۔

ہیکن ایشی

Heikin Ashi روایتی K-line کا ایک ہموار عمل ہے۔

  • فوائد: واضح رجحان کی سمت فراہم کرتا ہے اور قیمت کے اعداد و شمار کو ہموار کرکے غلط سگنلز کو کم کرتا ہے۔
  • قابل اطلاق منظرنامے: مندرجہ ذیل حکمت عملیوں کے رجحان پر لاگو، تاجروں کو رجحانات میں زیادہ دیر تک پوزیشن رکھنے میں مدد کرتے ہیں۔

حساب کتاب کا طریقہ درج ذیل ہے:

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

رینکو چارٹ اور ہیکن ایشی ٹرینڈ ٹریڈرز کے لیے طاقتور ٹولز ہیں:

  • رینکو چارٹ قیمت کی نقل مکانی پر مرکوز ہے اور کامیابیوں اور رجحان کی تصدیق کے لیے موزوں ہے۔
  • Heikin Ashi قیمت کو ہموار کرنے پر توجہ مرکوز کرتا ہے اور ٹرینڈ پوزیشن کنٹرول کے لیے موزوں ہے۔
  • دونوں کا تکمیلی استعمال ٹرینڈ سٹریٹیجی سگنلز کے استحکام اور اینٹی شاک صلاحیت کو بہتر بنا سکتا ہے۔

بیک ٹیسٹنگ اور ریئل ٹائم تصدیق کو یکجا کرنے، ایک ایسا چارٹ حل منتخب کرنے کی سفارش کی جاتی ہے جو آپ کی اپنی تجارتی مصنوعات اور سائیکلوں کے مطابق ہو، اور ایک ذاتی نوعیت کا مقداری تجارتی نظام بنائیں۔