এই কৌশলটি একটি বুদ্ধিমান ট্রেডিং সিস্টেম যা চলমান গড় ক্রসওভার এবং মোমবাতি প্যাটার্ন স্বীকৃতি সহ ক্লাসিকাল প্রযুক্তিগত বিশ্লেষণ সরঞ্জামগুলিকে একত্রিত করে। কৌশলটি দ্বৈত চলমান গড় ক্রসওভার সংকেতগুলি অন্তর্ভুক্ত করার সময় মোমবাতি ছায়া এবং দেহের মধ্যে সম্পর্ক বিশ্লেষণ করে সম্ভাব্য বাজার টার্নিং পয়েন্টগুলি সনাক্ত করে। সিস্টেমটি কেবল দামের প্রবণতার উপর দৃষ্টি নিবদ্ধ করে না বরং উন্নত অভিযোজনযোগ্যতার জন্য ডায়নামিকভাবে ট্রেডিং পরামিতিগুলি সামঞ্জস্য করার জন্য গড় ব্যাপ্তিগুলিও গণনা করে।
মূল যুক্তি দুটি প্রধান উপাদান নিয়ে গঠিতঃ
মোমবাতি প্যাটার্ন স্বীকৃতি মডিউল ছায়া এবং দেহের মধ্যে অনুপাত গণনা করে সম্ভাব্য বিপরীত সংকেত সনাক্ত করে। সিস্টেমটি সংকেতের গুণমানকে অনুকূল করতে ছায়া গুণক (wickMultiplier) এবং দেহ শতাংশ (bodyPercentage) এর জন্য সামঞ্জস্যযোগ্য পরামিতিগুলি অন্তর্ভুক্ত করে। যখন একটি মোমবাতি যোগ্য দীর্ঘ উপরের বা নীচের ছায়া প্রদর্শন করে, তখন সিস্টেমটি সংশ্লিষ্ট দীর্ঘ বা সংক্ষিপ্ত সংকেত উত্পন্ন করে।
দ্বৈত চলমান গড় ক্রসওভার সিস্টেম ট্রেন্ড সূচক হিসাবে 14 পিরিয়ড এবং 28 পিরিয়ড সহজ চলমান গড় (এসএমএ) ব্যবহার করে। যখন স্বল্পমেয়াদী এমএ দীর্ঘমেয়াদী এমএ এর উপরে ক্রস করে তখন দীর্ঘ সংকেত উত্পন্ন হয়, যখন স্বল্পমেয়াদী এমএ দীর্ঘমেয়াদী এমএ এর নীচে ক্রস করে তখন সংক্ষিপ্ত সংকেত ঘটে।
এই কৌশলটি মোমবাতি প্যাটার্ন স্বীকৃতি এবং চলমান গড় ক্রসওভার সিস্টেমগুলির সাথে একত্রিত করে একটি অপেক্ষাকৃত সম্পূর্ণ ট্রেডিং সিদ্ধান্তের কাঠামো তৈরি করে। এর শক্তি কঠোর সংকেত ফিল্টারিং প্রক্রিয়া এবং নমনীয় পরামিতি সামঞ্জস্যের ক্ষমতাতে রয়েছে, যখন প্যারামিটার অপ্টিমাইজেশন এবং বাজার পরিবেশের অভিযোজনযোগ্যতার প্রতি মনোযোগ দিতে হবে। ক্রমাগত অপ্টিমাইজেশন এবং পরিমার্জনের মাধ্যমে, কৌশলটি বিভিন্ন বাজারের অবস্থার মধ্যে স্থিতিশীল কর্মক্ষমতা বজায় রাখার সম্ভাবনা দেখায়।
/*backtest start: 2024-10-28 00:00:00 end: 2024-11-27 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 indicator("Wick Reversal Setup", overlay=true) // Input parameters wickMultiplier = input.float(3.5, title="Wick Multiplier", minval=0.5, maxval=20) bodyPercentage = input.float(0.25, title="Body Percentage", minval=0.1, maxval=1.0) // Calculate the average range over 50 periods avgRange = ta.sma(high - low, 50) // Define the lengths of wicks and bodies bodyLength = math.abs(close - open) upperWickLength = high - math.max(close, open) lowerWickLength = math.min(close, open) - low totalRange = high - low // Long signal conditions longSignal = (close > open and upperWickLength >= bodyLength * wickMultiplier and upperWickLength <= totalRange * bodyPercentage) or (close < open and lowerWickLength >= bodyLength * wickMultiplier and upperWickLength <= totalRange * bodyPercentage) or (close == open and close != high and upperWickLength >= bodyLength * wickMultiplier and upperWickLength <= totalRange * bodyPercentage) or (open == high and close == high and totalRange >= avgRange) // Short signal conditions shortSignal = (close < open and (high - open) >= bodyLength * wickMultiplier and lowerWickLength <= totalRange * bodyPercentage) or (close > open and (high - close) >= bodyLength * wickMultiplier and lowerWickLength <= totalRange * bodyPercentage) or (close == open and close != low and lowerWickLength >= bodyLength * wickMultiplier and lowerWickLength <= totalRange * bodyPercentage) or (open == low and close == low and totalRange >= avgRange) // Plot signals plotshape(series=longSignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Long") plotshape(series=shortSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Short") // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Sahaj_Beriwal //@version=5 strategy("My strategy", overlay=true, margin_long=100, margin_short=100) longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28)) if (longCondition) strategy.entry("L", strategy.long) shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) if (shortCondition) strategy.entry("S", strategy.short)