রিসোর্স লোড হচ্ছে... লোডিং...

4.2 জাভাস্ক্রিপ্ট ভাষায় কৌশলগত ট্রেডিং কীভাবে বাস্তবায়ন করবেন

লেখক:ভাল, তৈরিঃ 2019-04-27 11:53:15, আপডেটঃ

সংক্ষিপ্তসার

পূর্ববর্তী নিবন্ধে, আমরা মৌলিক ব্যাকরণ এবং উপকরণ সহ একটি প্রোগ্রাম লেখার জন্য জাভাস্ক্রিপ্ট ব্যবহার করার সময় মৌলিক জ্ঞান চালু করেছি। এই নিবন্ধে, আমরা একটি কার্যকর ইনট্রাডে পরিমাণগত ট্রেডিং কৌশল অর্জনের জন্য কিছু সাধারণ কৌশল মডিউল এবং প্রযুক্তিগত সূচকগুলির সাথে এটি ব্যবহার করব।

কৌশল প্রবর্তন

বোলিংজার ব্যান্ড হল সর্বাধিক ব্যবহৃত প্রযুক্তিগত সূচকগুলির মধ্যে একটি, যা ১৯৮০ এর দশকে জন বোলিংজার আবিষ্কার করেছিলেন। তত্ত্বগতভাবে, দাম সর্বদা একটি নির্দিষ্ট মানের পরিসরের চারপাশে ওঠানামা করে। বোলিংজার ব্যান্ড এই তাত্ত্বিক ভিত্তিতে ভিত্তি করে এবং মূল্য চ্যানেল এর ধারণাটি প্রবর্তন করে।

হিসাব পদ্ধতিটি হল পরিসংখ্যানগত নীতি ব্যবহার করা, প্রথমে সময়ের জন্য দামের মানক বিচ্যুতি গণনা করা, এবং তারপরে মূল্যের বিশ্বাসযোগ্য ব্যবধান খুঁজে পেতে চলমান গড়ের মানক বিচ্যুতির 2 গুণ যোগ বা বিয়োগ করা। মৌলিক প্রকারটি তিনটি রেললাইন (মধ্য রেল, উপরের রেল, নিম্ন রেল) নিয়ে গঠিত একটি স্ট্রিপ চ্যানেল। মধ্য রেলটি গড় মূল্য, এবং উপরের রেল এবং নিম্ন রেল যথাক্রমে দামের চাপ লাইন এবং সমর্থন লাইন প্রতিনিধিত্ব করে। নীচে দেখানো হয়েছেঃ

img

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

বোলিংজার ব্যান্ড সূচক গণনা পদ্ধতি

সমস্ত প্রযুক্তিগত সূচকগুলির মধ্যে, বোলিংজার ব্যান্ড গণনার পদ্ধতিটি সবচেয়ে জটিলগুলির মধ্যে একটি, যা পরিসংখ্যানের মধ্যে স্ট্যান্ডার্ড ডিভিয়েশন ধারণাটি প্রবর্তন করে, মধ্যম ট্র্যাজেক্টরি (এমবি ), উপরের ট্র্যাজেক্টরি (ইউপি) এবং নিম্ন ট্র্যাজেক্টরি (ডিএন) গণনা জড়িত। এর গণনার পদ্ধতিটি নিম্নরূপঃ

  • মাঝের রেল = N সময়ের সহজ চলমান গড়

  • উপরের রেল = মাঝের রেল + K × N সময়কালের স্ট্যান্ডার্ড বিচ্যুতি

  • নিম্ন রেল = মাঝারি রেল − K × N সময়ের মান বিচ্যুতি

function main( ) { // program entry
    while (true) { // enter the loop
        exchange.SetContactType('this_week'); // set contact type
        var records = exchange.GetRecods(); // get the k line array
        var boll = TA.B0LL(records, 50); // get the 50-cycle BOLL indicator array
        var top = boll[0]; // get the upper-rail BOLL indicator array
        var ma = boll[l]; // get the middle-rail BOLL indicator array
        var bottom = boll[2]; // get the lower-rail BOLL indicator array
        Log(top); // print the upper-rail BOLL indicator array to the log
        Log(ma); // print the middle-rail BOLL indicator array to the log
        Log(bottom);// print the lower-rail BOLL indicator array to the log
    }
}

কৌশলগত যুক্তি

বোলিংজার ব্যান্ড বিভিন্ন উপায়ে ব্যবহার করা হয় এবং একা বা অন্যান্য সূচকগুলির সাথে একত্রে ব্যবহার করা যেতে পারে। টিউটোরিয়ালের এই বিভাগে আমরা এটি সবচেয়ে সহজ উপায়ে ব্যবহার করব, যা হলঃ যখন দাম উপরের রেলটি ভেঙে যায়, তখন লং পজিশন খুলুন; যখন দাম নিম্ন রেলটি ভেঙে যায়, তখন শর্ট পজিশন খুলুন।

img

লং পজিশন খোলার পর যদি দাম আবারও বোলিংজার ব্যান্ডের মাঝের রেলের দিকে ফিরে যায়, তাহলে আমরা বিশ্বাস করি যে ক্রয় ক্ষমতা দুর্বল হচ্ছে, অথবা বিক্রয় ক্ষমতা শক্তিশালী হচ্ছে, তাই, এখানেই বন্ধ পজিশনের সংকেত আসে।

ট্রেডিং শর্তাবলী

  • লং পজিশন ওপেনঃ যদি কোন পজিশন না থাকে এবং বন্ধের মূল্য উপরের রেলের চেয়ে বেশি হয়।

  • শর্ট পজিশনঃ যদি কোনও পজিশন না থাকে এবং বন্ধের মূল্য নিম্ন রেলের চেয়ে কম হয়।

  • লং পজিশন বন্ধ করুনঃ যদি লং পজিশন ধরে রাখা হয় এবং বন্ধের মূল্য মধ্যম রেলের চেয়ে কম হয়,

  • শর্ট পজিশন বন্ধ করুনঃ যদি শর্ট পজিশন ধরে রাখা হয়, এবং বন্ধের মূল্য মধ্যম রেলের চেয়ে বেশি হয়,

কৌশল কোড বাস্তবায়ন

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

পদক্ষেপ 1: সিটিএ কৌশল কাঠামো ব্যবহার করুন

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

function main() {
    $.CTA("this_week", function(st) {
        // write your strategy here
    })
}

উপরে সিটিএ কৌশল ফ্রেমওয়ার্কটি এফএমজেড কোয়ান্ট সরঞ্জাম ব্যবহার করে। এটি একটি স্থির কোড ফর্ম্যাট, এবং সমস্ত ট্রেডিং লজিক কোড লাইন 3 থেকে শুরু হয়। ব্যবহৃত বৈচিত্র্য কোডটি সংশোধন করার প্রয়োজন ছাড়াও অন্য কোথাও কোনও পরিবর্তন প্রয়োজন হয় না।

মনে রাখবেন যে উপরের ট্রেডিং বৈচিত্র্য কোডটি this_week যার অর্থ এটি সাপ্তাহিক k-লাইন ব্যবহার করে, সাপ্তাহিক ডেটা ব্যবহার করে ট্রেডিং ডেটা উপস্থাপন করে।

২য় ধাপঃ সব ধরনের তথ্য সংগ্রহ করুন

চিন্তা করুন, আমাদের কোন ধরনের তথ্যের প্রয়োজন? আমাদের কৌশল ট্রেডিং লজিক থেকে, আমাদের প্রথমে বর্তমান পজিশনের অবস্থা পেতে হবে, এবং তারপর বন্ধের মূল্য তুলনা করতে হবে বোলিংজার ব্যান্ড সূচকের উপরের, মাঝের এবং নীচের রেলের সাথে।

  • K লাইন ডেটা পান

প্রথমটি হল K-লাইন ডেটা অ্যারে এবং পূর্ববর্তী K-লাইন বন্ধের মূল্য পাওয়া, K-লাইন অ্যারে দিয়ে, আমরা বোলিঞ্জার ব্যান্ড সূচক গণনা করতে পারি। এটি এভাবে লেখা যেতে পারেঃ

function main() {
    $.CTA("this_week", function(st) {

        var r = st.records; // get the k line data
        if (r.length < 20) return; // filter the length of k line data
        var close = r[r.length - 2].Close; // get the previous k line closing price

    })
}

উপরে যেমন দেখানো হয়েছে:

লাইন ৪ঃ K লাইন অ্যারে পান, যা একটি ফিক্সড ফরম্যাট।

লাইন ৫: K রেখার দৈর্ঘ্য ফিল্টার করুন, কারণ Bollinger Band সূচক গণনার পরামিতি হল ২০, যখন K রেখা ২০ এর কম হয়, তখন Bollinger Band সূচক গণনা করা অসম্ভব। সুতরাং এখানে আমাদের K রেখার দৈর্ঘ্য ফিল্টার করতে হবে। যদি K রেখা ২০ এর কম হয়, এটি সরাসরি ফিরে আসবে এবং পরবর্তী K রেখার জন্য অপেক্ষা করতে থাকবে।

লাইন ৬: প্রাপ্ত কে-লাইন অ্যারে থেকে, প্রথমে পূর্ববর্তী কে-লাইন এর বস্তুটি পান, এবং তারপরে এই বস্তু থেকে বন্ধের মূল্য পান। এই অ্যারেতে penultimate উপাদান পাওয়া, যা এই অ্যারে বিয়োগ 2 ((r[r.length - 2) এর দৈর্ঘ্য) ।

কে-লাইন অ্যারে উপাদানগুলি সমস্ত বস্তু, বস্তুটি খোলার, সর্বোচ্চ, সর্বনিম্ন এবং বন্ধের মূল্য ধারণ করে; এছাড়াও ট্রেডিং ভলিউম এবং সময়।

উদাহরণস্বরূপ, বন্ধের মূল্য পেতে, কেবল ". " যোগ করুন এর পরে বৈশিষ্ট্য নাম (r[r.length - 2].Close) ।

  • K লাইন টাইম ডেটা পান

যেহেতু এটি একটি ইনট্রাডে কৌশল, তাই আমাদের কিছু নির্দিষ্ট সময়ের আগে সমস্ত অবস্থান বন্ধ করতে হবে ((বেশিরভাগ ক্রিপ্টো ট্রেডিং এক্সচেঞ্জ সাধারণত 24/7 খোলা থাকে), তাই আমাদের বিচার করতে হবে যে বর্তমান কে লাইনটি সেই নির্দিষ্ট সময়ের কাছাকাছি কিনা যখন আমরা কি ট্রেডিং বন্ধ করতে বা বিরতি নিতে পারি। যদি এটি সেই বন্ধের সময় কে লাইনের কাছাকাছি হয় তবে সমস্ত অবস্থান বন্ধ করুন। যদি তা না হয় তবে কৌশলটি চালিয়ে যান। কোডটি এভাবে লেখা আছেঃ

function main() {
    $.CTA("this_week", function(st) {

        var r = st.records; // get the k line data
        if (r.length < 20) return; // filter the length of k line data
        var close = r[r.length - 2].Close; // get the previous k line closing price

        var time = new Date(r[r.length - 1].Time); // according the current k-line timestamp, create a time object
        var isClose = time.getHours() == 14 && time.getMinutes() == 45; // judging whether the current k-line is 14:45. this is just a example, you can specify any time you want during the 24 hours
    })
}

উপরে যেমন দেখানো হয়েছে:

লাইন ৮ঃ K লাইন টাইমস্ট্যাম্প অ্যাট্রিবিউট বস্তুগুলি পান এবং তারপর একটি টাইম অবজেক্ট তৈরি করুন ((নতুন তারিখ (টাইমস্ট্যাম্প)).

লাইন 9: সময় বস্তু অনুযায়ী ঘন্টা এবং মিনিট গণনা করুন, এবং বর্তমান K লাইন সময় 14:45 হয় কিনা তা নির্ধারণ করুন।

  • অবস্থান তথ্য পান

অবস্থান তথ্য পরিমাণগত ট্রেডিং কৌশল একটি খুব গুরুত্বপূর্ণ শর্ত. যখন ট্রেডিং শর্ত প্রতিষ্ঠিত হয়, এটি অবস্থান অবস্থা এবং অবস্থান সংখ্যা দ্বারা একটি অর্ডার স্থাপন করা উচিত কিনা বিচার করা প্রয়োজন. উদাহরণস্বরূপ, যখন দীর্ঘ অবস্থান খোলার জন্য শর্ত প্রতিষ্ঠিত হয়, যদি হোল্ডিং অবস্থান আছে, অর্ডার স্থাপন না; যদি কোন অবস্থান হোল্ডিং নেই, অর্ডার স্থাপন. এই মতঃ

function main() {
    $.CTA("this_week", function(st) {

        var r = st.records; // get the k line data
        if (r.length < 20) return; // filter the length of k line data
        var close = r[r.length - 2].Close; // get the previous k line closing price

        var time = new Date(r[r.length - 1].Time); // according the current k-line timestamp, create a time object
        var isClose = time.getHours() == 14 && time.getMinutes() == 45; // judging whether the current k-line is 14:45. this is just a example, you can specify any time you want during the 24 hours

        var mp = st.position.amount; // get the holding position information

    })
}

উপরে যেমন দেখানো হয়েছে:

লাইন 11: বর্তমান অবস্থানের অবস্থা পান। যদি লং পজিশন থাকে, তাহলে মান হল 1; যদি শর্ট পজিশন থাকে, তাহলে মান হল -1; যদি কোন পজিশন না থাকে, তাহলে মান হল 0।

  • বোলিংজার ব্যান্ডের তথ্য পান

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

এটি বোঝা সহজ যে একটি দ্বি-মাত্রিক অ্যারে, যা একটি অ্যারেতে অ্যারে। মান পাওয়ার আদেশটি হ'লঃ প্রথমে অ্যারেতে নির্দিষ্ট অ্যারেটি পান এবং তারপরে নির্দিষ্ট অ্যারে থেকে নির্দিষ্ট উপাদানটি পান, নীচে দেখানো হয়েছেঃ

var arr = [[100, 200, 300],[10,20,30],[1,2,3]]; // this is a two-dimensional array
var test = arr[0]; //first obtain the specified array in the array and assign the value to variable "test"
var demo1 = test[0]; //then get a value from the test array
demo1; // the result is : 100

var demo2 = arr[0][0]; // you also can write like this
demo2; // the result is the same : 100

নীচে, 13 থেকে 19 তম লাইনগুলি বোলিংজার ব্যান্ড উপরের, মাঝারি এবং নীচের রেল কোডিং অংশটি পাচ্ছে, যেখানে 13 নম্বর লাইনটি এফএমজেড ক্যান্ট এপিআই সরঞ্জাম ব্যবহার করে, যা সরাসরি বোলিংজার ব্যান্ড অ্যারেতে অ্যাক্সেস করতে পারে; লাইন 14 থেকে লাইন 16 পর্যন্ত উপরের, মাঝারি এবং নীচের রেল অ্যারেগুলির জন্য যথাক্রমে দ্বি-মাত্রিক অ্যারেটি পাচ্ছে; লাইন 17 থেকে লাইন 19 পর্যন্ত উপরের, মাঝারি এবং নীচের রেল অ্যারে থেকে নির্দিষ্ট মান পাচ্ছে।

function main() {
    $.CTA("this_week", function(st) {

        var r = st.records; // get the k line data
        if (r.length < 20) return; // filter the length of k line data
        var close = r[r.length - 2].Close; // get the previous k line closing price

        var time = new Date(r[r.length - 1].Time); // according the current k-line timestamp, create a time object
        var isClose = time.getHours() == 14 && time.getMinutes() == 45; // judging whether the current k-line is 14:45. this is just a example, you can specify any time you want during the 24 hours

        var mp = st.position.amount; // get the holding position information

        var boll = TA.BOLL(r, 20, 2); //calucating the Bollinger Band indicator
        var upLine = boll[0]; // get the up-rail array
        var midLine = boll[1]; // get the middle-rail array
        var downLine = boll[2]; // get the lower-rail array
        var upPrice = upLine[upLine.length - 2];  // get the previous K-line upper rail value
        var midPrice = midLine[midLine.length -2]; // get the previous K-line middle rail value
        var downPrice = downLine[downLine.length -2]; // get the previous K-line lower rail value

    })
}

ধাপ ৩ঃ অর্ডার দেওয়া এবং ট্রেড করা

উপরের তথ্য দিয়ে, আমরা এখন ট্রেডিং লজিক এবং অর্ডার দেওয়ার অংশ লিখতে পারি। এটি খুব সহজ, সর্বাধিক ব্যবহৃত হয় if বিবৃতি, যা বর্ণনা করা যেতে পারেঃ যদি শর্ত 1 এবং শর্ত 2 সত্য হয়, অর্ডার স্থাপন করুন; যদি শর্ত 3 বা শর্ত 4 সত্য হয়, অর্ডার স্থাপন করুন। নীচে দেখানো হয়েছেঃ

function main() {
    $.CTA("this_week", function(st) {

        var r = st.records; // get the k line data
        if (r.length < 20) return; // filter the length of k line data
        var close = r[r.length - 2].Close; // get the previous k line closing price

        var time = new Date(r[r.length - 1].Time); // according the current k-line timestamp, create a time object
        var isClose = time.getHours() == 14 && time.getMinutes() == 45; // judging whether the current k-line is 14:45. this is just a example, you can specify any time you want during the 24 hours

        var mp = st.position.amount; // get the holding position information

        var boll = TA.BOLL(r, 20, 2); //calucating the Bollinger Band indicator
        var upLine = boll[0]; // get the up-rail array
        var midLine = boll[1]; // get the middle-rail array
        var downLine = boll[2]; // get the lower-rail array
        var upPrice = upLine[upLine.length - 2]; // get the previous K-line upper rail value
        var midPrice = midLine[midLine.length -2]; // get the previous K-line middle rail value
        var downPrice = downLine[downLine.length -2]; // get the previous K-line lower rail value

        if (mp == 1 && (close < midPrice || isClose)) return -1; // if holding long position, and the closing price is less than the mid-rail, or the current time is 14:45, closing long position.
        if (mp == -1 && (close > midPrice || isClose)) return 1; // if holding short position, and the closing price is greater than the mid-rail, or the current time is 14:45, closing short position.
        if (mp == 0 && close > upPrice && !isClose) return 1; // if there are no holding position, and the closing price is greater than the upper-rail, or the current time is not 14:45, open long position.
        if (mp == 0 && close < downPrice && !isClose) return -1;// if there are no holding position, and the closing price is less than the lower-rail, or the current time is not 14:45, open short position.

    })
}

উপরের চিত্রটিতে, 21 থেকে 24 লাইনগুলি হল ট্রেডিং লজিক এবং অর্ডার দেওয়ার কোডিং অংশ। উপরের থেকে নীচে তারা হলঃ দীর্ঘ অবস্থান বন্ধ করা, সংক্ষিপ্ত অবস্থান বন্ধ করা, খোলা দীর্ঘ অবস্থান এবং খোলা সংক্ষিপ্ত অবস্থান।

উদাহরণস্বরূপ খোলা লং পজিশন নিন। এটি একটি if বিবৃতি। যদি এই বিবৃতিতে কোডের কেবল একটি লাইন কার্যকর করা হয়, তবে কোঁকড়ানো বন্ধনী " {} " বাদ দেওয়া যেতে পারে। বিবৃতিটি পাঠ্য অর্থের মধ্যে অনুবাদ করা হয়ঃ যদি বর্তমান অবস্থান 0 হয় এবং বন্ধের মূল্য উপরের রেলের চেয়ে বড় হয় এবং কে-লাইন সময় 14:45 নয়, তবে " ফেরত 1 "

আপনি দেখতে পারেন যে এই লাইনগুলিতে "return 1" এবং "return -1" রয়েছে, যা একটি নির্দিষ্ট ফর্ম্যাট, যার অর্থঃ যদি এটি কেনার দিক হয়, তবে "return 1" লিখুন; যদি এটি বিক্রয় দিক হয়, তবে "return -1" লিখুন। খোলা লং পজিশন এবং বন্ধ করা শর্ট পজিশন সবই কেনার দিক, তাই return 1 লিখুন; এবং বিপরীতভাবে।

সম্পূর্ণ কৌশল কোড

এই পর্যায়ে, একটি সম্পূর্ণ কৌশল কোড লেখা হয়। যদি ট্রেডিং কাঠামো, ট্রেডিং ডেটা, ট্রেডিং লজিক এবং অর্ডার স্থাপন আলাদাভাবে লেখা হয়, এটা খুব সহজ? নিম্নলিখিত এই কৌশল সম্পূর্ণ কোডঃ

function main() {
    $.CTA("this_week", function(st) {
        var r = st.records; // get the k line data
        if (r.length < 20) return; // filter the length of k line data
        var close = r[r.length - 2].Close; // get the previous k line closing price
        var time = new Date(r[r.length - 1].Time); // according the current k-line timestamp, create a time object
        var isClose = time.getHours() == 14 && time.getMinutes() == 45; // judging whether the current k-line is 14:45. this is just a example, you can specify any time you want during the 24 hours
        var mp = st.position.amount; // get the holding position information
        var boll = TA.BOLL(r, 20, 2); //calucating the Bollinger Band indicator
        var upLine = boll[0]; // get the up-rail array
        var midLine = boll[1]; // get the middle-rail array
        var downLine = boll[2]; // get the lower-rail array
        var upPrice = upLine[upLine.length - 2]; // get the previous K-line upper rail value
        var midPrice = midLine[midLine.length -2]; // get the previous K-line middle rail value
        var downPrice = downLine[downLine.length -2]; // get the previous K-line lower rail value
        if (mp == 1 && (close < midPrice || isClose)) return -1; // if holding long position, and the closing price is less than the mid-rail, or the current time is 14:45, closing long position.
        if (mp == -1 && (close > midPrice || isClose)) return 1; // if holding short position, and the closing price is greater than the mid-rail, or the current time is 14:45, closing short position.
        if (mp == 0 && close > upPrice && !isClose) return 1; // if there are no holding position, and the closing price is greater than the upper-rail, or the current time is not 14:45, open long position.
        if (mp == 0 && close < downPrice && !isClose) return -1;// if there are no holding position, and the closing price is less than the lower-rail, or the current time is not 14:45, open short position.
    })
}

দুটি বিষয় সম্পর্কে সতর্ক থাকতে হবে:

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

  2. সাধারণভাবে, বন্ধ পজিশনের যুক্তি খোলা পজিশনের যুক্তির সামনে লিখতে হবে। এর উদ্দেশ্য হ'ল কৌশল যুক্তিটি আপনার প্রত্যাশা পূরণ করার চেষ্টা করা। উদাহরণস্বরূপ, যদি কৌশল যুক্তিটি কেবল এমন পরিস্থিতি পূরণ করে যেখানে এটি একটি অবস্থান বন্ধ করার পরে বিপরীত দিকের ট্রেডিং করার প্রয়োজন হয়, এই ধরণের পরিস্থিতির নিয়মটি হ'ল প্রথমে অবস্থানটি বন্ধ করা এবং তারপরে নতুন অবস্থানটি খুলতে হবে। যদি আমরা খোলার অবস্থানের যুক্তির সামনে বন্ধ পজিশনের যুক্তি লিখি তবে এটি এই নিয়মটি পুরোপুরি পূরণ করবে।

সংক্ষেপে

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

পরিমাণগত ট্রেডিং কৌশল একটি স্বতন্ত্র ট্রেডিং অভিজ্ঞতা বা সিস্টেমের সংক্ষিপ্তসার ছাড়া আর কিছুই নয়। যদি আমরা পরিমাণগত কৌশল লেখার আগে স্বতন্ত্র ট্রেডিংয়ে ব্যবহৃত অভিজ্ঞতা বা সিস্টেমটি লিখে রাখি এবং তারপরে এটিকে একের পর এক কোডে অনুবাদ করি, আপনি দেখতে পাবেন যে একটি পরিমাণগত কৌশল লেখা অনেক সহজ হবে।

পরবর্তী বিভাগের বিজ্ঞপ্তি

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

স্কুলের পর ব্যায়াম

  1. ডাবল মুভিং মিডিয়ার কৌশল বাস্তবায়নের জন্য এই বিভাগে জ্ঞান ব্যবহার করার চেষ্টা করুন।

  2. FMZ Quant প্ল্যাটফর্মে জাভাস্ক্রিপ্ট ভাষা ব্যবহার করে KDJ সূচক কৌশল বাস্তবায়নের চেষ্টা করুন।


আরো