গতিশীল ফেয়ার ভ্যালু গ্যাপ ডে ট্রেডিং কৌশল: এসএমসি তত্ত্বের উপর ভিত্তি করে মাল্টি-টাইম ফ্রেম ব্যাকটেস্টিং সিস্টেম

FVG SMC SL TP Risk-Reward Ratio
সৃষ্টির তারিখ: 2025-03-26 15:27:29 অবশেষে সংশোধন করুন: 2025-03-26 15:27:29
অনুলিপি: 2 ক্লিকের সংখ্যা: 601
2
ফোকাস
319
অনুসারী

গতিশীল ফেয়ার ভ্যালু গ্যাপ ডে ট্রেডিং কৌশল: এসএমসি তত্ত্বের উপর ভিত্তি করে মাল্টি-টাইম ফ্রেম ব্যাকটেস্টিং সিস্টেম গতিশীল ফেয়ার ভ্যালু গ্যাপ ডে ট্রেডিং কৌশল: এসএমসি তত্ত্বের উপর ভিত্তি করে মাল্টি-টাইম ফ্রেম ব্যাকটেস্টিং সিস্টেম

ওভারভিউ

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

কৌশল নীতি

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

  1. ফাঁক সনাক্তকরণ ব্যবস্থাকৌশলঃ FVG এর দুটি প্রকারের চিহ্নিতকরণের জন্য তিনটি স্ট্রিং প্যাটার্ন ব্যবহার করা হয়েছেঃ

    • দেখুন FVG: বর্তমান স্ট্রিংয়ের সর্বনিম্ন মূল্য দুটি স্ট্রিংয়ের পূর্ববর্তী সর্বোচ্চ মূল্যের চেয়ে বেশি এবং পূর্ববর্তী স্ট্রিংয়ের সমাপ্তির মূল্য দুটি স্ট্রিংয়ের পূর্ববর্তী সর্বোচ্চ মূল্যের চেয়ে বেশি।
    • পতনশীল FVG: বর্তমান লাইনটির সর্বোচ্চ মূল্য দুটি লাইনটির পূর্ববর্তী সর্বনিম্ন মূল্যের চেয়ে কম এবং পূর্ববর্তী লাইনটির বন্ধের মূল্য দুটি লাইনটির পূর্ববর্তী সর্বনিম্ন মূল্যের চেয়ে কম।
  2. প্রবেশের যুক্তি পুনরুদ্ধার করুনএফভিজি গঠনের পর অবিলম্বে বাজারে প্রবেশ না করে, এই অঞ্চলে দামের প্রতিক্রিয়া দেখার জন্য অপেক্ষা করুনঃ

    • FVG মনিটরঃ যখন দাম FVG অঞ্চলের উপরের সীমানা ((উচ্চতম পয়েন্ট) এ ফিরে আসে, তখন মাল্টি সিগন্যাল ট্রিগার করুন।
    • বিপরীতমুখী এফভিজিঃ যখন দাম এফভিজি অঞ্চলের নিম্ন সীমানা ((নিম্ন পয়েন্ট) এ রিবাউন্ড করে, তখন একটি লঙ্ঘন সংকেত ট্রিগার করে।
  3. ঝুঁকি ব্যবস্থাপনা

    • স্টপ লস সেট করা হয় সংশ্লিষ্ট এফভিজি-র সীমানায় (যেমনঃ বেজ এফভিজি-র নিম্নতম বা বেজ এফভিজি-র উচ্চতম) ।
    • লাভের লক্ষ্যমাত্রাটি 1: 2 এর ঝুঁকি-ফেরত অনুপাত ব্যবহার করে, যা গণনা করা হয়ঃ প্রবেশের মূল্য ± ((প্রবেশের মূল্য - স্টপ লস) × 2 ) ।
  4. দিন শেষে সমতল অবস্থানকৌশলঃ প্রতিদিন বিকেল ৩ঃ১৫ (ভারতীয় মান সময়) এ স্বয়ংক্রিয়ভাবে সমস্ত হোল্ডিং প্লেইন করুন এবং পরবর্তী ট্রেডিং দিনের জন্য সমস্ত এফভিজি অ্যারে সাফ করুন।

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

এই পদ্ধতিটি বাজারের কাঠামোর মধ্যে অসঙ্গততা এবং মূল্য আচরণের তত্ত্বকে কাজে লাগায় এবং এই ভারসাম্যহীন অঞ্চলগুলি পূরণ করার সময় মূল্যের পূর্বাভাসযোগ্য আচরণকে ক্যাপচার করার চেষ্টা করে।

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

কোডটি গভীরভাবে বিশ্লেষণ করার পরে, এই কৌশলটি বেশ কয়েকটি সুবিধা প্রদর্শন করেছেঃ

  1. বস্তুনিষ্ঠ লেনদেন মানদণ্ড: কৌশলটি এফভিজি এবং এন্ট্রি পয়েন্টগুলি সনাক্ত করতে সুনির্দিষ্ট গাণিতিক শর্ত ব্যবহার করে, বিষয়গত বিচারকে সরিয়ে দেয় এবং লেনদেনের শৃঙ্খলা এবং ধারাবাহিকতা বাড়ায়।

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

  3. ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা

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

  5. অভিযোজনযোগ্যতা: কৌশলটি স্থির মূল্যের স্তরের উপর নির্ভর করে না, তবে বর্তমান বাজারের অবস্থার অধীনে গতিশীলভাবে মূল অঞ্চলগুলি সনাক্ত করে, যা বিভিন্ন বাজারের পরিবেশ এবং সরঞ্জামগুলিতে অভিযোজিত করে।

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

  7. ভিজ্যুয়াল সহায়তাকৌশলঃ FVG অঞ্চলগুলিকে চার্টে স্বজ্ঞাতভাবে প্রদর্শন করুন (সবুজ হল বিজোড় FVG, লাল হল বিজোড় FVG) যা ব্যবসায়ীদের সিস্টেমের সিদ্ধান্ত গ্রহণের প্রক্রিয়া বুঝতে সহায়তা করে।

কৌশলগত ঝুঁকি

যদিও এই কৌশলটির দৃঢ় তাত্ত্বিক ভিত্তি রয়েছে এবং এর অনেক সুবিধা রয়েছে, তবুও কয়েকটি ঝুঁকিপূর্ণ বিষয় রয়েছে যা সম্পর্কে সতর্ক হওয়া দরকারঃ

  1. ভুয়া আক্রমণের ঝুঁকি: একটি সমন্বয় বাজারে, দামগুলি একাধিকবার এফভিজি সীমানা স্পর্শ করতে পারে এবং একটি ধারাবাহিক প্রবণতা তৈরি করে না, যার ফলে একাধিক স্টপ লস আউট হয়। সমাধানের জন্য অতিরিক্ত বাজার পরিবেশ ফিল্টার বা ট্রেন্ড নিশ্চিতকরণ সূচক যুক্ত করা যেতে পারে।

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

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

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

  5. লেনদেনের পরিমাণ নিশ্চিতকরণের অভাব: কৌশলটি শুধুমাত্র মূল্যের আচরণের উপর ভিত্তি করে এবং লেনদেনের ভলিউম নিশ্চিতকরণ বিবেচনা করে না, যা কম লেনদেনের অঞ্চলে মিথ্যা সংকেত তৈরি করতে পারে। লেনদেনের ভলিউম বিশ্লেষণকে সংহত করে সংকেতের গুণমান উন্নত করা যেতে পারে।

  6. নির্দিষ্ট সময়ে প্রস্থান করার সম্ভাব্য সমস্যা: দিনের নির্দিষ্ট সময়ে বেরিয়ে যাওয়ার ফলে লাভজনক অবস্থানে অকাল বেরিয়ে যাওয়া বা নেতিবাচক অবস্থানে উত্তম বেরিয়ে যাওয়ার সুযোগ থেকে বঞ্চিত হতে পারে। দামের উপর ভিত্তি করে বেরিয়ে যাওয়ার শর্ত বিবেচনা করুন।

  7. ইতিহাসের উপর নির্ভরশীলকৌশলগত অনুমানঃ ভবিষ্যতে এফভিজি’র আচরণ অতীতে দেখা প্যাটার্নের অনুরূপ হবে। বাজারের গতিশীলতা পরিবর্তিত হতে পারে এবং এই প্যাটার্নগুলির কার্যকারিতা হ্রাস করতে পারে। নিয়মিতভাবে প্যারামিটারগুলি পুনরায় অপ্টিমাইজ করা এবং অনুমানগুলি যাচাই করা অত্যন্ত গুরুত্বপূর্ণ।

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

কোডের গভীর বিশ্লেষণের উপর ভিত্তি করে, নিম্নলিখিত কয়েকটি সম্ভাব্য অপ্টিমাইজেশান দিক রয়েছেঃ

  1. বাজার কাঠামো ফিল্টার

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

    • স্থির রিস্ক-রিটার্ন অনুপাতের পরিবর্তে বর্তমান বাজারের অস্থিরতার উপর ভিত্তি করে গতিশীল স্টপ লস এবং লাভের লক্ষ্যমাত্রা অর্জন করুন।
    • উচ্চ অস্থিরতার মধ্যে লক্ষ্যমাত্রা প্রসারিত করুন এবং নিম্ন অস্থিরতার মধ্যে লক্ষ্যমাত্রা কঠোর করুন।
    • এটিআর (অর্ধ-সত্যিকারের পরিসীমা) বা অনুরূপ সূচক ব্যবহার করে অস্থিরতা পরিমাপ করা যেতে পারে।
  3. লেনদেনের পরিমাণ

    • এফভিজি গঠনে এবং পুনর্নির্মাণে পর্যাপ্ত পরিমাণে লেনদেনের সমর্থন নিশ্চিত করার জন্য লেনদেনের পরিমাণের শর্ত যুক্ত করুন।
    • এটি কম তরল পরিবেশে মিথ্যা সংকেত হ্রাস করতে পারে।
  4. পজিশনের আকারের সাথে খাপ খাইয়ে নেওয়া

    • ঐতিহাসিক বিজয় হার, বর্তমান অস্থিরতা এবং নির্দিষ্ট এফভিজি বৈশিষ্ট্যের উপর ভিত্তি করে গতিশীল পজিশনের আকার উপলব্ধ করা হয়েছে।
    • আরো “পরিষ্কার” এফভিজি ((তিনটি স্ট্রিং প্যাটার্ন আরো স্পষ্ট) বা শক্তিশালী প্রবণতা মধ্যে গঠিত এফভিজি জন্য, পজিশন স্কেল বৃদ্ধি করা যেতে পারে।
  5. মাল্টি টাইম ফ্রেম বিশ্লেষণ

    • উচ্চতর সময় ফ্রেমের এফভিজি বিশ্লেষণকে একত্রিত করুন এবং উচ্চতর সময় ফ্রেমের এফভিজি-র সাথে সামঞ্জস্যপূর্ণ সংকেতকে অগ্রাধিকার দিন।
    • এই পদ্ধতিটি সংকেতের গুণমান এবং সামগ্রিক সাফল্যের হার বাড়িয়ে তুলতে পারে।
  6. স্মার্ট ওভারল্যাপ লেনদেন

    • ট্রেডিং লজিকের উপর ভিত্তি করে ট্রেডিংয়ের শক্তি এবং পূর্ববর্তী ট্রেডিংয়ের সাফল্যের উপর ভিত্তি করে ওভারল্যাপের পরিবর্তন।
    • ট্রেডিংয়ে লাভজনক হওয়ার পর ওভারল্যাপিংয়ের সম্ভাবনা বাড়তে পারে, কিন্তু ক্ষতিগ্রস্ত হওয়ার পর কমিয়ে আনা যায়।
  7. মেশিন লার্নিং

    • মেশিন লার্নিং অ্যালগরিদমের সাহায্যে এফভিজি-র সবচেয়ে সফল বৈশিষ্ট্যগুলো চিহ্নিত করা।
    • এটি এফভিজি-র আকার, গঠনের গতি, বাজার পরিস্থিতি এবং অন্যান্য বিষয় বিশ্লেষণ করতে পারে।
  8. পরিসংখ্যানগত ফ্রেমওয়ার্ক

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

সারসংক্ষেপ

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

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

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

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

//@version=6
strategy("Intraday FVG", overlay=true, pyramiding=5, max_bars_back=500, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent)

// 2. FVG Detection (Three-Candle Pattern)
var bullFVGHigh = array.new_float()
var bullFVGLow = array.new_float()
var bullFVGIndex = array.new_int()
var bearFVGHigh = array.new_float()
var bearFVGLow = array.new_float()
var bearFVGIndex = array.new_int()

detectFVG() =>

    // Bullish FVG: Current low > prior high AND next high < current low
    bullCondition = low > high[2] and close[1] > high[2]
    // Bearish FVG: Current high < prior low AND next low > current high
    bearCondition = high < low[2] and close[1] < low[2]


    if bullCondition 
        // log.info("bull condition met: {0} {0} {0}", high[2], close[1], low)
        array.push(bullFVGHigh, low)
        array.push(bullFVGLow, low[2])
        array.push(bullFVGIndex, bar_index)

    
    if bearCondition
        // log.info("bear condition met: {0} {0} {0}", low[2], close[1], high)
        array.push(bearFVGHigh, high[2])
        array.push(bearFVGLow, high)
        array.push(bearFVGIndex, bar_index)

detectFVG()

// 3. Retest Execution Logic
checkRetests(arrayHigh, arrayLow, barIndex, direction) =>
    // log.info("{0} : {1}", bar_index, time)
    i = array.size(arrayHigh) - 1
    
    while i >= 0

        // log.info("barIndex : {0}" , array.get(barIndex, i))
        // log.info("bar_index : {0}" , bar_index)
        
        if array.get(barIndex, i) <  bar_index
            
            fvgHigh = array.get(arrayHigh, i)
            fvgLow = array.get(arrayLow, i)
            // log.info("visting : {0} : {1} : {2} : {3} ", array.get(barIndex, i), bar_index, fvgHigh, fvgLow)
            
            if direction == "long" and low <= fvgHigh
                // log.info("entering long")
                sl = array.get(arrayLow, i)  // Previous candle's low
                entry = close
                tp = entry + (entry - sl)*2
                strategy.entry("L"+str.tostring(array.get(barIndex, i)), strategy.long)
                strategy.exit("XL"+str.tostring(array.get(barIndex, i)), "L"+str.tostring(array.get(barIndex, i)), stop=sl, limit=tp)
                array.remove(arrayHigh, i)
                array.remove(arrayLow, i)
                array.remove(barIndex, i)
            
            if direction == "short" and high >= fvgLow
                // log.info("entering short")
                sl = array.get(arrayHigh, i)   // Previous candle's low
                entry = close
                tp = entry - (sl - entry)*2
                strategy.entry("S"+str.tostring(array.get(barIndex, i)), strategy.short)
                strategy.exit("XS"+str.tostring(array.get(barIndex, i)), "S"+str.tostring(array.get(barIndex, i)), stop=sl, limit=tp)
                array.remove(arrayHigh, i)
                array.remove(arrayLow, i)
                array.remove(barIndex, i)
        
        i := i - 1


checkRetests(bullFVGHigh, bullFVGLow, bullFVGIndex, "long")
checkRetests(bearFVGHigh, bearFVGLow, bearFVGIndex,"short")

// 5. Daily Exit at 3:15 PM IST
exitTime = hour == 15 and minute >= 15
if exitTime
    strategy.close_all()
    array.clear(bullFVGHigh)
    array.clear(bullFVGLow)
    array.clear(bearFVGHigh)
    array.clear(bearFVGLow)
    array.clear(bullFVGIndex)
    array.clear(bearFVGIndex)