Type/to search
8
Follow
1364
Followers
উদ্ভাবকের পরিমাণগত সিমুলেশন স্তরের ব্যাকটেস্টিং প্রক্রিয়ার বর্ণনা
Tutorials
Created 2017-02-07 13:04:57  Updated 2023-09-07 17:49:15
 34
 15370

উদ্ভাবকের পরিমাণগত সিমুলেশন স্তরের ব্যাকটেস্টিং প্রক্রিয়ার বর্ণনা


  • ১, ব্যাক-টেস্টিং আর্কিটেকচার

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

  • ২. অ্যানালগ এবং রিয়েল ডিস্ক লেভেলের মধ্যে পার্থক্য

    • অ্যানালগ-স্তরের প্রতিক্রিয়া

      সিমুলেশন স্তরের পুনরাবৃত্তি হল একটি অ্যালগরিদমের মাধ্যমে একটি প্রদত্ত বেসলাইন কে-লাইনের বারের সর্বোচ্চ, সর্বনিম্ন, খোলা এবং বন্ধের মানের মানের ফ্রেমওয়ার্কের মধ্যে, পুনরাবৃত্তি সিস্টেমের বেসলাইন কে-লাইনের ডেটা অনুসারে, টিকার ডেটা এই বারের টাইম সিকোয়েন্সের মধ্যে সন্নিবেশিত করে।

    • রিয়েল-ডিস্ক পর্যায়ের পুনরাবৃত্তি

      রিয়েল ডিস্ক লেভেল রিটার্নিং হল Bar এর টাইম সিকোয়েন্সের মধ্যে সত্যিকারের টিকার লেভেল ডেটা। টিকার লেভেল ডেটা ভিত্তিক কৌশলগুলির জন্য, রিয়েল ডিস্ক লেভেল রিটার্নিং ব্যবহার করা সত্যিকারের কাছাকাছি।
      রিয়েল-ডিস্ক লেভেলের রিটার্নিং, টিকারগুলি বাস্তব রেকর্ড করা ডেটা, সিমুলেশন-উত্পাদিত নয়।

  • ৩। অ্যানালগ স্তর প্রতিক্রিয়া প্রক্রিয়া - নীচের K লাইন

    রিয়েল-ডিস্ক লেভেল রিটার্নিং কোন বেসলাইন K লাইন অপশন নেই (যেহেতু টিকার ডেটা বাস্তব, বেসলাইন K লাইন ব্যবহার করে মডেল তৈরি করা হয় না) ।
    সিমুলেশন স্তরের পুনরুদ্ধারে, K-লাইন ডেটা ভিত্তিক সিমুলেশন দ্বারা উত্পন্ন টিকার। এই K-লাইন ডেটা হ'ল বেসলাইন K-লাইন। সিমুলেশন স্তরের পুনরুদ্ধারের ব্যবহারের ক্ষেত্রে, বেসলাইন K-লাইন পিরিয়ডটি কৌশলটি চালানোর সময় K-লাইন পাওয়ার জন্য API কল করার চেয়ে কম হওয়া উচিত। অন্যথায়, বেসলাইন K-লাইন পিরিয়ডের পরিমাণ বেশি এবং উত্পন্ন টিকার সংখ্যা কম হওয়ার কারণে, API নির্দিষ্ট পিরিয়ডের K-লাইন পাওয়ার জন্য কল করার সময় ডেটা ভুল হয়ে যায়। বড়-পিরিয়ড K-লাইন পুনরুদ্ধারের সময়, বড়-পিরিয়ড K-লাইন পিরিয়ডটি যথাযথভাবে সামঞ্জস্য করা যেতে পারে।

  • ৪, কিভাবে K-লাইন টিকার ডেটা তৈরি করে

    নিম্ন স্তরের K-লাইনটি MT4 এর মতই অ্যানালগ টিকার তৈরি করে।

    img
    img
    img
    img

  • ৫। অ্যালগরিদম কোড যা টিকার ডেটা তৈরি করে

    টিক ডেটা মডেল করার জন্য নিম্নলিখিত অ্যালগরিদম ব্যবহার করা হয়ঃ

function recordsToTicks(period, num_digits, records) { 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 }

সুতরাং, সিমুলেশন স্তরের রিটার্নিং ব্যবহার করার সময় সময়সূচীর উপর দামের ঝাঁকুনি দেখা দেয়।

Related Recommendations
Comment
All comments (7)

    带上下影线的K线为什么模拟成12个tick呢?仅仅是为了增加tick数量吗?

    3 years ago

    可以自定义增加模拟点位吗,目前的模拟级别生成的tick点位与实际差异很大

    4 years ago

    底层K线周期使用一分钟,数据粒度就很小了。可以用实盘级别回测,或者使用自定义数据源,提供自己收集的数据也可以。

    4 years ago

    合约回测能模拟爆仓吗?

    4 years ago

    本身回测系统没有爆仓机制, 不过自己在策略中可以增加爆仓检测。持仓亏损的数值大于账户可用资产就是爆仓了。

    4 years ago

    模拟回测的周期里面,1小时之后就直接是1天了,为什么没有2小时,4小时,6小时,12小时,这些常用的周期?

    9 years ago

    回测系统 设定了 一些 比较常用的周期,如果 需要任意周期的K线 可以看下 “策略广场” 有一些 可以转换 K线周期的模版 。

    9 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)