এই কৌশলটি ফাইবোনাচি রিট্র্যাকশন এবং এক্সটেনশন স্তরের উপর ভিত্তি করে একটি যৌগিক পরিমাণগত ট্রেডিং সিস্টেম, যা ইএমএর প্রবণতা নির্ধারণের সাথে মিলিত। কৌশলটি বাজারে গুরুত্বপূর্ণ সমর্থন এবং প্রতিরোধের স্তরগুলি সনাক্ত করে এবং প্রবণতা সংকেতগুলির উপর ভিত্তি করে বাণিজ্য সম্পাদন করে। সিস্টেমটি বাজারের প্রবণতা নির্ধারণের জন্য 20 পিরিয়ড এবং 50 পিরিয়ডের ইএমএ ব্যবহার করে এবং সর্বোত্তম ট্রেডিং সুযোগগুলি খুঁজে পেতে ফাইবোনাচি রিট্র্যাকশন স্তরগুলি ব্যবহার করে।
মূল যুক্তিতে তিনটি প্রধান উপাদান রয়েছেঃ প্রথমত, এটি মূল্যের পরিসীমা নির্ধারণের জন্য গত 10 টি সময়ের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন মূল্য গণনা করে; দ্বিতীয়ত, এটি এই পরিসরের উপর ভিত্তি করে পাঁচটি মূল ফিবোনাচি পুনরুদ্ধারের স্তর গণনা করে (0.236, 0.382, 0.5, 0.618, 0.786); অবশেষে, এটি 20 এবং 50-পরিসরের ইএমএগুলির ক্রসওভারের মাধ্যমে প্রবণতার দিক নির্ধারণ করে। যখন মূল্য একটি আপট্রেন্ডে পুনরুদ্ধারের স্তরের উপরে ভঙ্গ করে তখন ক্রয় সংকেত উত্পন্ন হয়, যখন মূল্য একটি ডাউনট্রেন্ডে পুনরুদ্ধারের স্তরের নীচে ভঙ্গ করে তখন বিক্রয় সংকেতগুলি ট্রিগার হয়।
কৌশলটি ক্লাসিকাল প্রযুক্তিগত বিশ্লেষণ সরঞ্জামগুলির সংমিশ্রণ করে একটি অপেক্ষাকৃত সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। অপ্টিমাইজেশনের ক্ষেত্র থাকলেও সামগ্রিক কাঠামোটি ভাল বাজারের অভিযোজনযোগ্যতা প্রদর্শন করে। ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে কৌশলটি প্রকৃত ট্রেডিংয়ে আরও ভাল পারফরম্যান্সের প্রতিশ্রুতি দেখায়। লাইভ ট্রেডিংয়ের আগে পুঙ্খানুপুঙ্খ historicalতিহাসিক ডেটা ব্যাকটেস্টিং এবং পরামিতি অপ্টিমাইজেশন পরিচালনা করার পরামর্শ দেওয়া হয়।
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fibonacci Retracement and Extension Strategy", overlay=true) // Define the Fibonacci levels for retracement and extension fibRetracementLevels = array.new_float(5) array.set(fibRetracementLevels, 0, 0.236) array.set(fibRetracementLevels, 1, 0.382) array.set(fibRetracementLevels, 2, 0.5) array.set(fibRetracementLevels, 3, 0.618) array.set(fibRetracementLevels, 4, 0.786) fibExtensionLevels = array.new_float(5) array.set(fibExtensionLevels, 0, 1.618) array.set(fibExtensionLevels, 1, 2.618) array.set(fibExtensionLevels, 2, 3.618) array.set(fibExtensionLevels, 3, 4.236) array.set(fibExtensionLevels, 4, 5.618) // Calculate the high and low prices for the last 10 bars highPrice = ta.highest(high, 10) lowPrice = ta.lowest(low, 10) // Calculate the Fibonacci retracement levels fibRetracement = array.new_float(5) for i = 0 to 4 array.set(fibRetracement, i, highPrice - (highPrice - lowPrice) * array.get(fibRetracementLevels, i)) // Calculate the trend using the Exponential Moving Average (EMA) shortEMA = ta.ema(close, 20) longEMA = ta.ema(close, 50) // Define the trend conditions isUptrend = shortEMA > longEMA isDowntrend = shortEMA < longEMA // Generate buy and sell signals var float lastFibRetracementLevel = na var float lastFibExtensionLevel = na // Buy condition: price crosses above the highest retracement level if (isUptrend) for i = 0 to 4 if (close > array.get(fibRetracement, i)) lastFibRetracementLevel := array.get(fibRetracement, i) strategy.entry("Buy", strategy.long) // Sell condition: price crosses below the lowest retracement level if (isDowntrend) for i = 0 to 4 if (close < array.get(fibRetracement, i)) lastFibRetracementLevel := array.get(fibRetracement, i) strategy.entry("Sell", strategy.short) // Plotting the Fibonacci levels on the chart // for i = 0 to 4 // line.new(bar_index[10], array.get(fibRetracement, i), bar_index, array.get(fibRetracement, i), color=color.new(color.blue, 70), width=1) // Plot the EMAs plot(shortEMA, color=color.red, title="Short EMA") plot(longEMA, color=color.blue, title="Long EMA")