লং-শর্ট অভিযোজিত গতিশীল গ্রিড কৌশল
সারসংক্ষেপ
এটি একটি Pine Script ভিত্তিক মাল্টি-লং এবং শর্ট অ্যাডাপটিভ ডায়নামিক গ্রিড ট্রেডিং স্ট্র্যাটেজি। এই স্ট্র্যাটেজির মূল ধারণা হলো সাম্প্রতিক মূল্যের উচ্চ ও নিম্নবিন্দু অথবা সরল মুভিং এভারেজের ভিত্তিতে একটি গ্রিডের উপরের ও নিচের সীমা স্বয়ংক্রিয়ভাবে গণনা করা এবং তারপর সেই পরিসরকে সমানভাবে একাধিক গ্রিড লাইনে বিভক্ত করা। যখন দাম কোনো গ্রিড লাইন স্পর্শ করে, তখন সেই অবস্থানে লং পজিশন খোলা হয় বা বন্ধ করা হয়। এইভাবে, স্ট্র্যাটেজিটি অস্থির বাজারে ক্রমাগত পজিশন খোলা ও বন্ধ করে মূল্যের পার্থক্য থেকে লাভ অর্জন করতে সক্ষম হয়। একইসাথে গ্রিডের সীমানা গতিশীলভাবে সমন্বয় করার মাধ্যমে এটি ভিন্ন বাজারের ট্রেন্ডের সাথেও খাপ খাইয়ে নিতে পারে।
স্ট্র্যাটেজির নীতি
-
গ্রিডের ঊর্ধ্ব ও নিম্ন সীমা গণনা। ব্যবহারকারীর পছন্দ অনুসারে, ঊর্ধ্ব ও নিম্ন সীমা সাম্প্রতিক N ক্যান্ডেলের সর্বোচ্চ ও সর্বনিম্ন মূল্যের ভিত্তিতে হতে পারে এবং সেটি একটি নির্দিষ্ট শতাংশ বাড়ানো বা কমানো যেতে পারে; অথবা সাম্প্রতিক N ক্যান্ডেলের ক্লোজিং মূল্যের সরল মুভিং এভারেজের ভিত্তিতে হতে পারে এবং একটি নির্দিষ্ট ঊর্ধ্ব ও নিম্ন বিচ্যুতি অনুপাত সেট করা যেতে পারে।
-
গ্রিড লাইন অ্যারে তৈরি। সেট করা গ্রিড লাইনের সংখ্যা অনুসারে, গ্রিডের পরিসরকে সমানভাবে ভাগ করে সংশ্লিষ্ট মূল্যের গ্রিড লাইনের একটি অ্যারে তৈরি করা হয়।
-
এন্ট্রি/অ্যাড পজিশন। নিচ থেকে উপরের দিকে গ্রিড লাইনগুলি অতিক্রম করে দেখা হয়, যদি বর্তমান ক্লোজিং মূল্য কোনো গ্রিড লাইনের মূল্যের চেয়ে কম হয় এবং সেই গ্রিড লাইনে এখনও কোনো পজিশন না থাকে, তাহলে সেই অবস্থানে একটি লং অর্ডার খোলা হয়। এইভাবে, যখন দাম উচ্চতর গ্রিড লাইনে পৌঁছায়, তখন ক্রমাগত পজিশন যুক্ত হয়।
-
এক্সিট/রিডিউস পজিশন। উপরে থেকে নিচের দিকে গ্রিড লাইনগুলি অতিক্রম করে দেখা হয়, যদি বর্তমান ক্লোজিং মূল্য কোনো গ্রিড লাইনের মূল্যের চেয়ে বেশি হয় এবং তার এক ধাপ নিচের গ্রিড লাইনে একটি পজিশন থাকে, তাহলে সেই নিচের গ্রিড লাইনের লং পজিশন বন্ধ করা হয়। এইভাবে, যখন দাম কমতে থাকে, তখন ক্রমাগত পজিশন কমানো হয়।
-
গতিশীল সমন্বয়। যদি ডায়নামিক গ্রিড ফাংশন নির্বাচন করা হয়, তাহলে প্রতিটি ক্যান্ডেলে গ্রিডের ঊর্ধ্ব ও নিম্ন সীমা এবং গ্রিড লাইন অ্যারে পুনরায় গণনা করা হয়, যাতে গ্রিড বাজারের পরিবর্তনের সাথে ক্রমাগত নিজেকে খাপ খাইয়ে নিতে পারে।
সুবিধা বিশ্লেষণ
-
উচ্চ অভিযোজনযোগ্যতা। গ্রিড ট্রেডিং স্ট্র্যাটেজি অস্থির এবং ট্রেন্ডিং উভয় বাজারেই খাপ খাইয়ে নিতে পারে। অস্থির বাজারে, গ্রিড স্ট্র্যাটেজি ক্রমাগত পজিশন খুলে ও বন্ধ করে মূল্যের পার্থক্য থেকে লাভ করে; ট্রেন্ডিং বাজারে, গ্রিড যেহেতু মূল্যের সাথে চলে, তাই একটি নির্দিষ্ট পজিশন বজায় রেখে ট্রেন্ড থেকেও লাভ করা সম্ভব।
-
নিয়ন্ত্রণযোগ্য ঝুঁকি। প্রতিটি পজিশন খোলার আকার সেট করা গ্রিড লাইনের সংখ্যার দ্বারা নির্ধারিত হয়, ফলে একক ঝুঁকি ক্ষুদ্র এবং নিয়ন্ত্রণযোগ্য। একইসাথে, যেহেতু দাম উপরের গ্রিড লাইনে পৌঁছালে পজিশন বন্ধ করে লাভ নেওয়া হয়, এটি সম্ভাব্য লোকসানের কিছুটা হলেও প্রতিরোধ করে।
-
উচ্চ স্বয়ংক্রিয়তা। এই স্ট্র্যাটেজিটি মূলত সম্পূর্ণ স্বয়ংক্রিয়ভাবে চলতে পারে, মানব হস্তক্ষেপের প্রয়োজন হয় না, এবং এটি এমন বিনিয়োগকারীদের জন্য উপযুক্ত যারা দীর্ঘমেয়াদী স্থিতিশীল আয় চান।
-
নমনীয় প্যারামিটার। ব্যবহারকারী বাজারের বৈশিষ্ট্য অনুসারে গ্রিড লাইনের সংখ্যা, ডায়নামিক গ্রিড প্যারামিটার ইত্যাদি নমনীয়ভাবে সেট করতে পারেন, যাতে স্ট্র্যাটেজির পারফরম্যান্স অপ্টিমাইজ করা যায়।
ঝুঁকি বিশ্লেষণ
-
ব্ল্যাক সোয়ান ঝুঁকি। যদি চরম বাজার পতন ঘটে এবং দাম সরাসরি সর্বনিম্ন গ্রিড লাইনের নিচে চলে যায়, তাহলে এই স্ট্র্যাটেজি সম্পূর্ণ পজিশনে পরিণত হবে এবং বড় ড্রডাউনের মুখোমুখি হবে। এই ঝুঁকি কমাতে, স্টপ লস শর্ত নির্ধারণ করা যেতে পারে, যাতে লোকসান একটি নির্দিষ্ট সীমায় পৌঁছালে সমস্ত পজিশন বন্ধ হয়ে যায়।
-
গ্রিড প্যারামিটার সঠিকভাবে সেট না করা। যদি গ্রিডের ঘনত্ব খুব বেশি হয়, তাহলে প্রতিটি পজিশন খোলা ও বন্ধ করার মূল্যের পার্থক্য খুব ছোট হবে এবং কমিশন অধিকাংশ লাভ গ্রাস করতে পারে। যদি গ্রিডের প্রস্থ খুব বেশি হয়, তাহলে একটি পজিশনে অনুপাত বেশি হবে এবং ঝুঁকির পরিমাণ বড় হবে। লক্ষ্য সম্পদের বৈশিষ্ট্য ভালোভাবে মূল্যায়ন করে উপযুক্ত গ্রিড প্যারামিটার নির্বাচন করতে হবে।
-
বেসিস ঝুঁকি। এই স্ট্র্যাজিটি বর্তমান মূল্যের উপর ভিত্তি করে পজিশন খোলা ও বন্ধ করার শর্ত নির্ধারণ করে। ফিউচার ইত্যাদি বাজারে যদি কন্ট্রাক্টের মূল্য এবং লক্ষ্য মূল্যের মধ্যে বড় পার্থক্য থাকে, তাহলে প্রকৃত পজিশন খোলা ও বন্ধের দাম প্রত্যাশিত থেকে অনেকটাই ভিন্ন হতে পারে।
অপ্টিমাইজেশনের দিক
-
ট্রেন্ড ফিল্টার যোগ করা। গ্রিড স্ট্র্যাটেজি একমুখী ট্রেন্ডিং বাজারে ভালো পারফর্ম করে না। ট্রেন্ড নির্দেশকের সাহায্যে ফিল্টার যোগ করা যেতে পারে, যেমন শুধুমাত্র ADX যখন কোনো থ্রেশহোল্ডের নিচে থাকে তখন গ্রিড সক্রিয় করা, এবং যখন ট্রেন্ড স্পষ্ট হয় তখন গ্রিড বন্ধ করে শুধুমাত্র একমুখী পজিশন রাখা।
-
সিগন্যাল অপ্টিমাইজেশন। গ্রিডের উপর অন্যান্য সিগন্যাল যুক্ত করা যেতে পারে, যেমন গ্রিড + মুভিং এভারেজ। অর্থাৎ পজিশন খোলা ও বন্ধের মূল নিয়ন্ত্রক হলো গ্রিড, কিন্তু দাম যখন কোনো এভারেজ অতিক্রম করে তখনই পজিশন খোলা হবে, অন্যথায় নয়। এতে ঘন ঘন পজিশন খোলা ও বন্ধের খরচ কমানো সম্ভব।
-
পজিশন ম্যানেজমেন্ট। বর্তমান স্ট্র্যাটেজিতে প্রতি গ্রিডের পজিশনের আকার স্থির। দাম যখন বাজারের গড় মূল্য থেকে অনেক দূরে থাকে তখন প্রতি গ্রিডের পজিশন কমানো যেতে পারে, এবং গড় মূল্যের কাছে গেলে পজিশন বাড়ানো যেতে পারে, যাতে মূলধনের ব্যবহার দক্ষতা বৃদ্ধি পায়।
-
অ্যাডাপটিভ গ্রিড ঘনত্ব। মূল্যের অস্থিরতার ভিত্তিতে গ্রিডের ঘনত্ব গতিশীলভাবে সমন্বয় করা। অস্থিরতা বেশি হলে গ্রিডের সংখ্যা বাড়ানো যেতে পারে, এবং অস্থিরতা কম হলে গ্রিডের সংখ্যা কমানো যেতে পারে। এটি গ্রিডের প্রস্থ অপ্টিমাইজ করে এবং মূলধনের ব্যবহার দক্ষতা বাড়ায়।
সারসংক্ষেপ
এই স্ট্র্যাটেজিটি অ্যাডাপটিভ ডায়নামিক গ্রিডের মাধ্যমে অস্থির বাজারে ঘন ঘন পজিশন খুলে ও বন্ধ করে মূল্যের পার্থক্য থেকে লাভ করতে সক্ষম, এবং ট্রেন্ডিং বাজারে একটি নির্দিষ্ট এক্সপোজার রেখে ট্রেন্ডের সুবিধাও নিতে পারে। এটি একটি মাঝারি থেকে দীর্ঘমেয়াদী কোয়ান্টিটেটিভ স্ট্র্যাটেজি যার অভিযোজন ক্ষমতা বেশ ভালো। গ্রিড ট্রিগারের যুক্তি এবং পজিশন ম্যানেজমেন্ট যথাযথভাবে সেট করলে স্থিতিশীল আয় অর্জন সম্ভব। তবে চরম বাজার পরিস্থিতি এবং মূল্যের গ্যাপ ঝুঁকির প্রতি মনোযোগ দেওয়া প্রয়োজন, যার জন্য যথাযথ স্টপ লস শর্ত নির্ধারণ করে নিয়ন্ত্রণ করা উচিত। এছাড়াও, প্যারামিটার সেটিং এবং ঝুঁকি ব্যবস্থাপনায় আরও অপ্টিমাইজেশনের সুযোগ রয়েছে; যেমন ট্রেন্ড ফিল্টার, সিগন্যাল সংযোজন, পজিশন ম্যানেজমেন্ট, অ্যাডাপটিভ গ্রিড ঘনত্ব ইত্যাদি ব্যবহার করে স্ট্র্যাটেজির স্থিতিশীলতা এবং লাভজনকতা বৃদ্ধি করা যেতে পারে। সর্বোপরি, এই স্ট্র্যাটেজিটি গ্রিডের মৌলিক যুক্তির উপর ভিত্তি করে গতিশীল স্বয়ং-সমন্বয়কারী প্রক্রিয়া যোগ করেছে, যা মাঝারি থেকে দীর্ঘমেয়াদী কোয়ান্টিটেটিভ বিনিয়োগকারীদের জন্য নতুন ধারণা এবং রেফারেন্স প্রদান করতে পারে।
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jcloyd
//@version=4
strategy("(IK) Grid Script", overlay=true, pyramiding=14, close_entries_rule="ANY", default_qty_type=strategy.cash, initial_capital=100.0, currency="USD", commission_type=strategy.commission.percent, commission_value=0.1)
i_autoBounds = input(group="Grid Bounds", title="Use Auto Bounds?", defval=true, type=input.bool) // calculate upper and lower bound of the grid automatically? This will theorhetically be less profitable, but will certainly require less attention
i_boundSrc = input(group="Grid Bounds", title="(Auto) Bound Source", defval="Hi & Low", options=["Hi & Low", "Average"]) // should bounds of the auto grid be calculated from recent High & Low, or from a Simple Moving Average
i_boundLookback = input(group="Grid Bounds", title="(Auto) Bound Lookback", defval=250, type=input.integer, maxval=500, minval=0) // when calculating auto grid bounds, how far back should we look for a High & Low, or what should the length be of our sma
i_boundDev = input(group="Grid Bounds", title="(Auto) Bound Deviation", defval=0.10, type=input.float, maxval=1, minval=-1) // if sourcing auto bounds from High & Low, this percentage will (positive) widen or (negative) narrow the bound limits. If sourcing from Average, this is the deviation (up and down) from the sma, and CANNOT be negative.
i_upperBound = input(group="Grid Bounds", title="(Manual) Upper Boundry", defval=0.285, type=input.float) // for manual grid bounds only. The upperbound price of your grid
i_lowerBound = input(group="Grid Bounds", title="(Manual) Lower Boundry", defval=0.225, type=input.float) // for manual grid bounds only. The lowerbound price of your grid.
i_gridQty = input(group="Grid Lines", title="Grid Line Quantity", defval=8, maxval=15, minval=3, type=input.integer) // how many grid lines are in your grid- 1

