FMZ سیمولیشن سطح بیک ٹسٹ میکانیزم کی وضاحت

مصنف:نیکی, تخلیق: 2020-06-04 09:46:50, تازہ کاری: 2023-11-01 20:32:27

img

بیک ٹسٹ فن تعمیر

ایف ایم زیڈ پلیٹ فارم بیک ٹیسٹ پروگرام ایک مکمل کنٹرول عمل ہے ، اور یہ پروگرام ایک خاص تعدد کے مطابق نان اسٹاپ پولنگ کر رہا ہے۔ ہر مارکیٹ اور ٹریڈنگ API کے ذریعہ واپس آنے والے اعداد و شمار کالنگ ٹائم کے مطابق اصل رن ٹائم کا بھی تقلید کرتے ہیں۔ یہ اس سے تعلق رکھتا ہےonTickسطح، نہیںonBarدیگر بیک ٹسٹ سسٹم کی سطح پر۔Tickerاعداد و شمار (زیادہ آپریٹنگ تعدد کے ساتھ حکمت عملی).

تخروپن کی سطح کے بیک ٹسٹ اور حقیقی مارکیٹ کی سطح کے بیک ٹسٹ کے درمیان فرق

  • سیمولیشن کی سطح کا بیک ٹسٹ

تخروپن کی سطح کے بیک ٹسٹ بیک ٹسٹ سسٹم کے نچلے K لائن کے اعداد و شمار پر مبنی ہے ، اور ایک خاص الگورتھم کے مطابق ، ٹکر ڈیٹا انٹروپولیشن کو اس نچلے K لائن بار میں دیئے گئے اعلی ، کم ، افتتاحی اور اختتامی قیمتوں کے اقدار کے فریم ورک کے اندر تخروپن کیا جاتا ہے۔Barوقت کی سیریز.

  • ریئل مارکیٹ لیول بیک ٹسٹ

حقیقی مارکیٹ کی سطح کے بیک ٹیسٹ میں حقیقی ٹکر کی سطح کے اعداد و شمار ہیںBarٹکر سطح کے اعداد و شمار پر مبنی حکمت عملیوں کے لئے ، حقیقی مارکیٹ کی سطح کے بیک ٹیسٹ کا استعمال حقیقت سے قریب ہے۔ حقیقی مارکیٹ کی سطح پر بیک ٹیسٹ ، ٹکر اصلی ریکارڈ شدہ ڈیٹا ہے ، نقلی نہیں ہے۔

سمیلیشن سطح بیک ٹیسٹ میکانزم-نیچے کی لائن

حقیقی مارکیٹ بیک ٹسٹ کے لئے کوئی نیچے K لائن آپشن نہیں ہے (کیونکہ ٹکر ڈیٹا حقیقی ہے ، پیداوار کا تقلید کرنے کے لئے نیچے K لائن کی ضرورت نہیں ہے) ۔

تخروپن کی سطح backtest میں، پیداtickerK- لائن کے اعداد و شمار کی بنیاد پر تخروپن کیا جاتا ہے۔ یہ K- لائن کا ڈیٹا نیچے K- لائن ہے۔ تخروپن کی سطح کے بیک ٹسٹ کے اصل استعمال میں ، نیچے K لائن کا دورانیہ API کو K لائن حاصل کرنے کے لئے کال کرنے کے دورانیے سے کم ہونا چاہئے جب حکمت عملی چل رہی ہو۔ بصورت دیگر ، نیچے K لائن کے بڑے سائیکل اور تیار کردہ ٹکرز کی ناکافی تعداد کی وجہ سے ، API کو کال کرتے وقت ڈیٹا کو مسخ کردیا جائے گا تاکہ مخصوص مدت کی K لائن حاصل کی جاسکے۔ جب بڑے دورانیے کے K لائن بیک ٹسٹ کا استعمال کرتے ہو تو ، آپ مناسب طریقے سے نیچے K لائن سائیکل کو بڑھا سکتے ہیں۔

نیچے K لائن کے لئے ٹکر ڈیٹا کیسے پیدا کریں

نچلی K لائن پر تخروپن ٹکرز پیدا کرنے کا طریقہ کار مشہور ٹریڈنگ سافٹ ویئر میٹا ٹریڈر 4 کے ساتھ ایک ہی ہے

img img img img

ٹکر ڈیٹا تیار کرنے کا الگورتھم کوڈ

نیچے کی لائن کے اعداد و شمار سے ٹِک ڈیٹا کی نقالی کے لئے مخصوص الگورتھم:

function recordsToTicks(period, num_digits, records) {
    // http://www.metatrader5.com/en/terminal/help/tick_generation
    if (records.length == 0) {
        return []
    }
    var ticks = []
    var steps = [0, 2, 4, 6, 10, 12, 16, 18, 23, 25, 27, 29]
    var pown = Math.pow(10, num_digits)

    function pushTick(t, price, vol) {
        ticks.push([Math.floor(t), Math.floor(price * pown) / pown, vol])
    }

    for (var i = 0; i < records.length; i++) {
        var T = records[i][0]
        var O = records[i][1]
        var H = records[i][2]
        var L = records[i][3]
        var C = records[i][4]
        var V = records[i][5]
        if (V > 1) {
            V = V - 1
        }
        if ((O == H) && (L == C) && (H == L)) {
            pushTick(T, O, V)
        } else if (((O == H) && (L == C)) || ((O == L) && (H == C))) {
            pushTick(T, O, V)
        } else if ((O == C) && ((O == L) || (O == H))) {
            pushTick(T, O, V / 2)
            pushTick(T + (period / 2), (O == L ? H : L), V / 2)
        } else if ((C == H) || (C == L)) {
            pushTick(T, O, V / 2)
            pushTick(T + (period * 0.382), (C == L ? H : L), V / 2)
        } else if ((O == H) || (O == L)) {
            pushTick(T, O, V / 2)
            pushTick(T + (period * 0.618), (O == L ? H : L), V / 2)
        } else {
            var dots = []
            var amount = V / 11
            pushTick(T, O, amount)
            if (C > O) {
                dots = [
                    O - (O - L) * 0.75,
                    O - (O - L) * 0.5,
                    L,
                    L + (H - L) / 3.0,
                    L + (H - L) * (4 / 15.0),
                    H - (H - L) / 3.0,
                    H - (H - L) * (6 / 15.0),
                    H,
                    H - (H - C) * 0.75,
                    H - (H - C) * 0.5,
                ]
            } else {
                dots = [
                    O + (H - O) * 0.75,
                    O + (H - O) * 0.5,
                    H,
                    H - (H - L) / 3.0,
                    H - (H - L) * (4 / 15.0),
                    H - (H - L) * (2 / 3.0),
                    H - (H - L) * (9 / 15.0),
                    L,
                    L + (C - L) * 0.75,
                    L + (C - L) * 0.5,
                ]
            }
            for (var j = 0; j < dots.length; j++) {
                pushTick(T + period * (steps[j + 1] / 30.0), dots[j], amount)
            }
        }
        pushTick(T + (period * 0.98), C, 1)
    }
    return ticks
}

لہذا، جب تخروپن کی سطح کے بیک ٹیسٹ کا استعمال کرتے ہوئے، وقت کی سیریز میں قیمتوں میں چھلانگ ہوگی.


متعلقہ

مزید