মাল্টি-লেভেল বলিঙ্গার ব্যান্ডের ট্রেন্ড অনুসরণ এবং বিপরীত ট্রেডিং কৌশল

布林带 BB SMA 趋势跟踪 反转交易 移动止盈 技术分析 量化交易
সৃষ্টির তারিখ: 2025-04-01 10:16:29 অবশেষে সংশোধন করুন: 2025-04-01 10:16:29
অনুলিপি: 3 ক্লিকের সংখ্যা: 398
2
ফোকাস
319
অনুসারী

মাল্টি-লেভেল বলিঙ্গার ব্যান্ডের ট্রেন্ড অনুসরণ এবং বিপরীত ট্রেডিং কৌশল মাল্টি-লেভেল বলিঙ্গার ব্যান্ডের ট্রেন্ড অনুসরণ এবং বিপরীত ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

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

এই গেমটি দুটি ভাগে বিভক্তঃ

  1. একাধিক শর্ত তৈরি করুনঃ যখন দামগুলি বুলিন ব্যান্ডের নীচের ট্র্যাকটি অতিক্রম করে (Crossover Lower Band), বা দামগুলি নীচের ট্র্যাকের নীচে (যেমন সর্বনিম্ন দাম নীচের ট্র্যাকের নীচে কিন্তু বন্ধের দাম নীচের ট্র্যাকের উপরে) স্পর্শ করে তখন রিবাউন্ড হয়।
  2. খালি করার শর্ত: যখন দাম নীচে বুলিন ব্যান্ড অতিক্রম করে (Crossunder Upper Band), বা যখন দাম খালি হয় (Crossunder Upper Band), বা যখন দাম খালি হয় (Crossunder Upper Band) ।

এই প্রসঙ্গে, আমরা তিনটি স্তরের সুরক্ষার ব্যবস্থা নিয়েছিঃ

  1. প্রথম স্তর ((আঞ্চলিক বিচার): খোলার পরে এক্স-রেজিন কে লাইন থেকে শুরু করে, যখন বন্ধের দামগুলি ব্রিনের নির্দিষ্ট অঞ্চলে প্রবেশ করে তখন বাইরে বেরিয়ে আসে। বিশেষত, যখন দামগুলি নীচের ট্র্যাক এবং গড়ের মধ্যবর্তী প্রথম ১/৩ অঞ্চলে নেমে আসে, তখন এটি প্লেইন হয়; যখন খালি হয়, যখন দামগুলি উপরের ট্র্যাক এবং গড়ের মধ্যবর্তী প্রথম ১/৩ অঞ্চলে উঠে যায়, তখন এটি প্লেইন হয়।
  2. দ্বিতীয় স্তরঃ মধ্যরেখা অতিক্রমঃ প্রবেশের পর Y-রুটের K-রেখা থেকে শুরু করে, যদি ক্লোজ-আপ মূল্য 20-মেয়াদী মধ্যরেখা অতিক্রম করে (MA20) তাহলে প্লেইন পজিশন।
  3. তৃতীয় স্তর (মোবাইল স্টপ): যখন দাম বুলিন ব্যান্ডের অন্য প্রান্তে ভেঙে যায় তখন একটি মোবাইল স্টপ প্রক্রিয়া শুরু হয়, যখন মুনাফা Z% প্রত্যাহার করে তখন এটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায় এবং বেশিরভাগ লাভকে লক করে দেয়।

ব্রিনের প্যারামিটারগুলি নমনীয়ভাবে সামঞ্জস্য করা যায়, গড় লাইন সময়কাল (ডিফল্ট 20) এবং স্ট্যান্ডার্ড ডিফারেনশিয়াল মাল্টিপল (ডিফল্ট 2.0) অন্তর্ভুক্ত করে। আউটপুট সেটিংগুলি বাজারের বৈশিষ্ট্যগুলির সাথে সামঞ্জস্য করা যায়, যার মধ্যে রয়েছে এক্স (ডিফল্ট 3), ওয়াই (ডিফল্ট 10) এবং মোবাইল স্টপ রিটার্ন শতাংশ (ডিফল্ট 30%) ।

কৌশলগত সুবিধা

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

  2. বহুস্তরীয় ঝুঁকি নিয়ন্ত্রণঃ তিনটি স্তরের বিভিন্ন প্রক্রিয়াকরণের বহির্গমনের জন্য ডিজাইন করা, কৌশলটি বিভিন্ন পরিস্থিতিতে তহবিল রক্ষা করতে সক্ষম। প্রথম স্তরের আঞ্চলিক বিচারটি দ্রুত ট্রেডিংয়ের দিকের ভুলগুলি সনাক্ত করতে পারে; দ্বিতীয় স্তরটি মধ্যমেয়াদী প্রবণতা পরিবর্তনের জন্য উপযুক্ত সমান্তরাল লাইনটি অতিক্রম করে; তৃতীয় স্তরটি একটি চলমান স্টপ এবং একটি বড় লাভের পরে লাভের সুরক্ষা দেয়।

  3. প্যারামিটারগুলির নমনীয়তাঃ কৌশলটি একাধিক সমন্বয়যোগ্য প্যারামিটার সরবরাহ করে, যা ব্যবসায়ীদের বিভিন্ন বাজার এবং সময়কালের বৈশিষ্ট্য অনুসারে সিস্টেমটি অপ্টিমাইজ করতে দেয়। ব্রিনের ব্যান্ডের দৈর্ঘ্য এবং গুণকগুলি বাজারের অস্থিরতার সাথে খাপ খাইয়ে নিতে পারে, আউটপুট অবস্থার সময় প্যারামিটারগুলি (X এবং Y) এবং মোবাইল স্টপ-ড্রপ-রিড্রপ অনুপাত (Z) ব্যবসায়ীর ঝুঁকি পছন্দ অনুসারে সেট করা যেতে পারে।

  4. ভিজ্যুয়ালাইজেশন সুবিধাঃ ব্রিনস এবং নতুন মধ্যবর্তী রেফারেন্স লাইনগুলি সরাসরি চার্টে আঁকা হয়, যা ব্যবসায়ীদের মূল্যের অবস্থান এবং সম্ভাব্য সমর্থন / প্রতিরোধের অঞ্চলগুলিকে সহজেই বিশ্লেষণ করতে সহায়তা করে, সিদ্ধান্ত গ্রহণের দক্ষতা বাড়ায়।

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

কৌশলগত ঝুঁকি

  1. সুনির্দিষ্ট স্টপ মেশিনের অভাবঃ বর্তমান কৌশলটিতে ঐতিহ্যগত অর্থে স্টপ-অপ শর্ত নেই, যা চরম বাজার পরিস্থিতিতে বড় ক্ষতির কারণ হতে পারে। এটি পরামর্শ দেওয়া হয় যে ব্যবসায়ীরা ব্যক্তিগত ঝুঁকি বহনযোগ্যতার উপর ভিত্তি করে ম্যানুয়ালি স্থির স্টপ বা এটিআর-ভিত্তিক গতিশীল স্টপ লজিক যুক্ত করতে পারে।

  2. বুলিন ব্যান্ডের উপর অত্যধিক নির্ভরশীলতা: উচ্চ ওঠানামা বা কম তরলতাযুক্ত বাজারে, বুলিন ব্যান্ডটি খুব প্রশস্ত বা খুব সংকীর্ণ হতে পারে, যার ফলে সংকেতের গুণমান হ্রাস পায়। বিভিন্ন বাজার পরিবেশে বিভিন্ন বুলিন ব্যান্ড প্যারামিটার সেটিং পরীক্ষা করার পরামর্শ দেওয়া হয়।

  3. প্যারামিটার সংবেদনশীলতা: কৌশলগত কর্মক্ষমতা প্যারামিটার সেটিং যেমন বুইলিনের দৈর্ঘ্য, স্ট্যান্ডার্ড ডিফারেনশিয়ালের গুণক এবং খেলার শর্তের সময় প্যারামিটারগুলির প্রতি সংবেদনশীল হতে পারে। ভুল প্যারামিটার নির্বাচনগুলি অত্যধিক লেনদেন বা গুরুত্বপূর্ণ সুযোগগুলি মিস করতে পারে।

  4. চলমান স্টপ ট্রিগার শর্ত স্থিরঃ বর্তমান কোডে, চলমান স্টপের ট্রিগার শর্তটি স্থির 2x ঝুঁকির দূরত্বের জন্য সেট করা হয়েছে, যা সমস্ত বাজার পরিবেশে প্রযোজ্য নাও হতে পারে। অত্যধিক ওঠানামা বাজারগুলিতে, স্টপটি খুব বেশি দূরে সেট করা হতে পারে এবং লাভের কার্যকর সুরক্ষা করতে পারে না।

  5. মাল্টি-হাওয়ার কন্ডিশনাল সিমুলেশন ঝুঁকিঃ কৌশলটি মাল্টি-হাওয়ার দিকের জন্য সিমুলেশনযুক্ত ইন-এন্ড-আউট লজিক ব্যবহার করে, তবে বাস্তব বাজারে, পতন-পতন আচরণটি প্রায়শই অসম্পূর্ণ হয় (যেমন স্টক মার্কেট সাধারণত উত্থানের চেয়ে দ্রুত হ্রাস পায়) । মাল্টি-হাওয়ার দিকের জন্য বিভিন্ন প্যারামিটার সেট করার বিষয়টি বিবেচনা করার পরামর্শ দেওয়া হয়েছে।

কৌশল অপ্টিমাইজেশনের দিকনির্দেশনা

  1. স্মার্ট স্টপ মেশিন যুক্ত করা হয়েছেঃ এটির উপর ভিত্তি করে গতিশীল স্টপ চালু করা যেতে পারে, বা ব্রিন ব্যান্ডউইথের উপর ভিত্তি করে স্টপ দূরত্ব সেট করা যেতে পারে, যাতে স্টপগুলি বাজারের প্রকৃত ওঠানামার সাথে আরও উপযুক্ত হয়। এটি কৌশল.এন্ট্রি ফাংশনে স্টপ প্যারামিটার যুক্ত করে বা কৌশল.এক্সিট ফাংশনের স্টপ_লস প্যারামিটার ব্যবহার করে বাস্তবায়ন করা যেতে পারে।

  2. প্রবেশের ফিল্টারিং শর্তগুলি অনুকূলিত করুনঃ নিম্নমানের সংকেতগুলি ফিল্টার করার জন্য একটি প্রবণতা নিশ্চিতকরণ সূচক যেমন দিকনির্দেশক চলমান সূচক ((ডিএমআই) বা আপেক্ষিকভাবে দুর্বল সূচক ((আরএসআই)) যুক্ত করার বিষয়টি বিবেচনা করা যেতে পারে। উদাহরণস্বরূপ, কেবলমাত্র এডিএক্স> 25 এ ট্রেন্ড ট্র্যাকিং সংকেত গ্রহণ করুন বা কেবলমাত্র আরএসআই ওভারবয় / ওভারসোল্ড অঞ্চলে বিপরীত সংকেত গ্রহণ করুন।

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

  4. মোবাইল স্টপিংয়ের উন্নত ব্যবস্থাঃ মোবাইল স্টপের ট্রিগার শর্ত এবং ট্র্যাকিং দূরত্বটি ঝুঁকির দূরত্বের দ্বিগুণ স্থির করার পরিবর্তে সামঞ্জস্যযোগ্য করে তোলে। বিভিন্ন সময়কালের প্রকৃতির উপর নির্ভর করে মোবাইল স্টপের প্রত্যাহারের শতাংশটি সামঞ্জস্য করুন।

  5. সময় ফিল্টার যুক্ত করুনঃ ট্রেডিং সময় ফিল্টার চালু করুন, বাজার খোলার এবং বন্ধ হওয়ার আগে উচ্চ ওঠানামা সময়গুলি এড়িয়ে চলুন, বা নির্দিষ্ট বাজারের জন্য সেরা ট্রেডিং সময় ফিল্টার যুক্ত করুন।

  6. মাল্টি-পিরিয়ড বিশ্লেষণঃ মাল্টি-পিরিয়ড বিশ্লেষণের কাঠামো একত্রিত করে, সিগন্যালের গুণমান উন্নত করার জন্য উচ্চতর পিরিয়ডের প্রবণতা দিকটি বর্তমান ব্যবসায়ের দিকের সাথে সামঞ্জস্যপূর্ণ বলে দাবি করা হয়। উদাহরণস্বরূপ, কেবলমাত্র 4 ঘন্টা চার্টের উপর মাল্টি-সিগন্যাল গ্রহণ করুন যখন সূর্যমুখী ট্রেন্ডিং হয়।

  7. অপ্টিমাইজড ফান্ড ম্যানেজমেন্টঃ ঝুঁকি ও লাভের মধ্যে ভারসাম্য বজায় রাখার জন্য কম ওঠানামা পরিস্থিতিতে পজিশন বাড়ানো এবং উচ্চ ওঠানামা পরিস্থিতিতে পজিশন হ্রাস করার জন্য স্থিতিশীলতার উপর ভিত্তি করে পজিশন গণনা লজিক যুক্ত করুন।

সারসংক্ষেপ

মাল্টি-লেভেল বুলিনব্যান্ড ট্রেন্ড ট্র্যাকিং এবং রিভার্স ট্রেডিং কৌশলটি একটি বিস্তৃত ট্রেডিং সিস্টেম যা বুলিনব্যান্ড সূচকগুলির গতিশীল বৈশিষ্ট্যগুলির মাধ্যমে, একাধিক স্তরের প্রস্থান নিয়মের সাথে মিলিত হয়ে, বাজার সুযোগগুলি ক্যাপচার করার সময় কার্যকরভাবে ঝুঁকি পরিচালনা করে। এই কৌশলটির সর্বাধিক সুবিধা হ’ল এর নমনীয়তা এবং অভিযোজনযোগ্যতা, বিভিন্ন বাজার পরিবেশে ব্যবসায়ের সুযোগগুলি খুঁজে পাওয়ার ক্ষমতা এবং বিভিন্ন ধরণের ব্যবসায়ের ধরণ এবং সময়কালের সাথে প্যারামিটারগুলি সামঞ্জস্য করে।

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

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

কৌশল সোর্স কোড
/*backtest
start: 2024-04-01 00:00:00
end: 2025-03-31 00:00:00
period: 6d
basePeriod: 6d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Bollinger Bands Strategy", overlay=true)

// 輸入參數
length = input.int(20, "BB Length", minval=1, group="布林帶設定")
mult = input.float(2.0, "BB Multiplier", minval=0.001, maxval=50, group="布林帶設定")
X = input.int(3, "Exit Condition 1 Bars (X)", minval=1, group="出場設定")
Y = input.int(10, "Exit Condition 2 Bars (Y)", minval=1, group="出場設定")
Z = input.float(30.0, "Trail Profit Retreat Z%", minval=1.0, maxval=100.0, step=1.0, group="出場設定")

// 計算布林帶
source = close
basis = ta.sma(source, length)          // 20 期均線
dev = mult * ta.stdev(source, length)   // 標準差
upper = basis + dev                     // 上緣
lower = basis - dev                     // 下緣
mid1 = upper - (upper - basis)/3
mid2 = lower + (basis - lower)/3

// 繪製布林帶
plot(basis, "Basis", color=color.gray)
plot(upper, "Upper", color=color.blue)
plot(lower, "Lower", color=color.blue)
plot(mid1,"mid1",color = color.yellow)
plot(mid2,"mid2",color = color.yellow)
//fill(upper, lower, color=color.new(color.blue, 90), title="BB Fill")

// 進場條件
longEntry = ta.crossover(source, lower) or (low < lower and close > lower)
shortEntry = ta.crossunder(source, upper) or (high > upper and close < upper)

// 進場執行
if (longEntry)
    strategy.entry("Long", strategy.long)

if (shortEntry)
    strategy.entry("Short", strategy.short)

// 出場條件變數
var float longEntryPrice = na
var float shortEntryPrice = na
var int longBarsSinceEntry = 0
var int shortBarsSinceEntry = 0

// 更新持倉狀態
if (strategy.position_size > 0)  // 做多持倉
    if (na(longEntryPrice))      // 記錄進場價格和起始計數
        longEntryPrice := strategy.position_avg_price
        longBarsSinceEntry := 0
    longBarsSinceEntry := longBarsSinceEntry + 1

if (strategy.position_size < 0)  // 做空持倉
    if (na(shortEntryPrice))
        shortEntryPrice := strategy.position_avg_price
        shortBarsSinceEntry := 0
    shortBarsSinceEntry := shortBarsSinceEntry + 1

// 做多出場條件
if (strategy.position_size > 0)
    // 條件 1:第 X 根 K 線後,收盤價 < lower + (basis - lower) / 3
    longExitLevel1 = lower + (basis - lower) / 3
    if (longBarsSinceEntry >= X and close < longExitLevel1)
        strategy.close("Long", comment="Long Exit Condition 1")
    
    // 條件 2:第 Y 根 K 線後,收盤價 < basis
    if (longBarsSinceEntry >= Y and close < basis)
        strategy.close("Long", comment="Long Exit Condition 2")
    
    // 條件 3:移動停利(收盤價 > upper 觸發)
    distanceLong = longEntryPrice - lower
    trailPriceLong = longEntryPrice + (distanceLong * 2)  // 假設 2 倍風險距離作為觸發點,可調整
    trailOffsetLong = distanceLong * (1 - Z / 100)
    strategy.exit("Long Trail", "Long", trail_price=trailPriceLong, trail_offset=trailOffsetLong)

// 做空出場條件
if (strategy.position_size < 0)
    // 條件 1:第 X 根 K 線後,收盤價 > upper - (upper - basis) / 3
    shortExitLevel1 = upper - (upper - basis) / 3
    if (shortBarsSinceEntry >= X and close > shortExitLevel1)
        strategy.close("Short", comment="Short Exit Condition 1")
    
    // 條件 2:第 Y 根 K 線後,收盤價 > basis
    if (shortBarsSinceEntry >= Y and close > basis)
        strategy.close("Short", comment="Short Exit Condition 2")
    
    // 條件 3:移動停利(收盤價 < lower 觸發)
    distanceShort = upper - shortEntryPrice
    trailPriceShort = shortEntryPrice - (distanceShort * 2)  // 假設 2 倍風險距離作為觸發點,可調整
    trailOffsetShort = distanceShort * (1 - Z / 100)
    strategy.exit("Short Trail", "Short", trail_price=trailPriceShort, trail_offset=trailOffsetShort)

// 清除變數(當持倉結束時)
if (strategy.position_size == 0)
    longEntryPrice := na
    shortEntryPrice := na
    longBarsSinceEntry := 0
    shortBarsSinceEntry := 0