এই কৌশলটির মূল ধারণাটি হল শেষ N মোমবাতিগুলির রঙের উপর ভিত্তি করে দীর্ঘ বা সংক্ষিপ্ত নির্ধারণ করা। যদি শেষ N মোমবাতিগুলি সবুজ হয় তবে দীর্ঘ যান; যদি শেষ N মোমবাতিগুলি লাল হয় তবে সংক্ষিপ্ত যান। অনন্য অংশটি হ'ল একটি
এই কৌশল প্রধানত নিম্নলিখিত গুরুত্বপূর্ণ পরামিতিগুলির উপর নির্ভর করেঃ
মূল যুক্তি হ'ল ফর লুপের মাধ্যমে সর্বশেষ নুম ক্যান্ডলসটোচেক মোমবাতিগুলি অতিক্রম করা এবং রিয়েল টাইমে পরপর সবুজ এবং লাল মোমবাতিগুলি গণনা করা। যদি পরপর লাল মোমবাতিগুলি ≥নুম ক্যান্ডলসটোচেক হয় তবে lastNCandlesRed সত্য হিসাবে চিহ্নিত করুন। যদি পরপর সবুজ মোমবাতিগুলি ≥নুম ক্যান্ডলসটোচেক হয় তবে lastNCandlesGreen সত্য হিসাবে চিহ্নিত করুন।
যখন lastNCandlesGreen সত্য হয়, যদি inverseLogic মিথ্যা হয় তবে দীর্ঘ যান, অন্যথায় সংক্ষিপ্ত যান। বিপরীতে, যখন lastNCandlesRed সত্য হয়, যদি inverseLogic মিথ্যা হয় তবে সংক্ষিপ্ত যান, অন্যথায় দীর্ঘ যান।
দীর্ঘ বা সংক্ষিপ্ত যাই হোক না কেন, barsSinceEntry কাউন্টারটি খোলার অবস্থানের পরে 0 এ পুনরায় সেট করা হবে। যখন barsSinceEntry numCandlesToExit এর চেয়ে বড় বা সমান হয়, তখন বর্তমান অবস্থানটি বন্ধ হয়ে যাবে।
এটি একটি আকর্ষণীয় কৌশল যা সিদ্ধান্ত নেওয়ার জন্য মোমবাতি রঙ ব্যবহার করে, একটি
এই কৌশলটির জন্য কিছু ঝুঁকিও রয়েছেঃ
এই ঝুঁকি মোকাবেলায় নিয়ন্ত্রণ ও অপ্টিমাইজেশনের জন্য নিম্নলিখিত ব্যবস্থা গ্রহণ করা যেতে পারেঃ
এই কৌশলটির মূল অপ্টিমাইজেশান দিকগুলি হলঃ
এই কৌশলটির সামগ্রিক ধারণাটি স্পষ্ট এবং সহজেই বোঝা যায়, কেবল মোমবাতি রঙের নির্ধারণের উপর ভিত্তি করে ট্রেডিং সংকেত উত্পাদন করে। পরামিতিগুলি সামঞ্জস্য করা বিভিন্ন বাজার পরিবেশ এবং পণ্যগুলিকে লক্ষ্য করে অপ্টিমাইজেশনের জন্য সমৃদ্ধ সংমিশ্রণ বৈচিত্র্য গঠন করতে পারে। কিছু সম্ভাব্য ঝুঁকির দিকেও মনোযোগ দিতে হবে এবং সেগুলি নিয়ন্ত্রণের জন্য প্রয়োজনীয় ব্যবস্থা গ্রহণ করতে হবে। কৌশল সামগ্রীকে ক্রমাগত সমৃদ্ধ করে, এই কৌশলটি দীর্ঘমেয়াদী ব্যবসায়ের জন্য অপ্টিমাইজ করা চালিয়ে যাওয়ার জন্য একটি মূল্যবান হয়ে উঠতে পারে।
/*backtest start: 2022-12-25 00:00:00 end: 2023-12-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Last Number of Candles", overlay=true) // Define the condition for a green candle isGreenCandle(candle) => close[candle] > open[candle] // Define the condition for a red candle isRedCandle(candle) => close[candle] < open[candle] // Input to specify the number of candles to check numCandlesToCheck = input(5, title="Number of Candles to Check") numCandlesToExit = input(2, title="Number of Candles To Exit") // Corrected the input title // Initialize variables to count consecutive green and red candles var int consecutiveGreenCandles = 0 var int consecutiveRedCandles = 0 // Initialize barsSinceEntry outside the loop var int barsSinceEntry = 0 // Loop through the last "numCandlesToCheck" candles for i = 0 to numCandlesToCheck - 1 if isGreenCandle(i) consecutiveGreenCandles := consecutiveGreenCandles + 1 consecutiveRedCandles := 0 // Reset the count for consecutive red candles else if isRedCandle(i) consecutiveRedCandles := consecutiveRedCandles + 1 consecutiveGreenCandles := 0 // Reset the count for consecutive green candles // Check if the last "numCandlesToCheck" candles are green or red lastNCandlesGreen = consecutiveGreenCandles >= numCandlesToCheck lastNCandlesRed = consecutiveRedCandles >= numCandlesToCheck // Calculate the quantity based on the investment value and current asset price investmentValue = input(10000, title="Investment Value") var assetPrice = close var quantity = investmentValue / assetPrice inverseLogic = input(false, title="inverseLogic") // Entry condition: Open a buy order if the last "numCandlesToCheck" candles are green if lastNCandlesGreen if inverseLogic strategy.entry("Short", strategy.long, qty = quantity) else strategy.entry("Buy", strategy.long, qty = quantity)// Reset barsSinceEntry when entering a trade barsSinceEntry := 0 // Entry condition: Open a short order if the last "numCandlesToCheck" candles are red if lastNCandlesRed if inverseLogic strategy.entry("Buy", strategy.long, qty = quantity) else strategy.entry("Short", strategy.short, qty = quantity) // Reset barsSinceEntry when entering a trade barsSinceEntry := 0 // Increment barsSinceEntry barsSinceEntry := barsSinceEntry + 1 // Exit condition: Close the position after 2 bars if barsSinceEntry >= numCandlesToExit strategy.close("Buy") strategy.close("Short")