এই কৌশলটি একটি প্রবণতা-পরবর্তী ট্রেডিং সিস্টেম যা একাধিক প্রযুক্তিগত সূচককে একত্রিত করে। এটি RSI (প্রতিস্থাপক শক্তি সূচক), MACD (চলমান গড় ঘনিষ্ঠতা বৈষম্য), এবং SMA (সহজ চলমান গড়) একীভূত করে যখন বাজারের প্রবণতা স্পষ্টভাবে সংজ্ঞায়িত করা হয় তখন ট্রেডগুলি কার্যকর করে। কৌশলটি আরও ভাল ঝুঁকি পরিচালনার জন্য মুনাফা গ্রহণ, স্টপ লস এবং ট্রেলিং স্টপ প্রক্রিয়া অন্তর্ভুক্ত করে।
কৌশলটি নিম্নলিখিত মূল শর্তগুলির উপর ভিত্তি করে ট্রেডগুলি সম্পাদন করেঃ
যখন এই সমস্ত শর্তগুলি একযোগে পূরণ করা হয়, তখন সিস্টেমটি একটি দীর্ঘ সংকেত তৈরি করে। অতিরিক্তভাবে, কৌশলটি 5% লাভের লক্ষ্যমাত্রা, 3% স্টপ লস সীমা এবং 2% ট্রেলিং স্টপ সেট করে যাতে সঞ্চিত মুনাফা রক্ষা করা যায়। ট্রেডিং শর্তগুলির এই বহু-স্তরযুক্ত পদ্ধতিটি নির্ভুলতা এবং সুরক্ষা উন্নত করতে সহায়তা করে।
এই কৌশলটি একাধিক প্রযুক্তিগত সূচকগুলির সংমিশ্রণের মাধ্যমে একটি বিস্তৃত ট্রেডিং সিস্টেম প্রতিষ্ঠা করে। এটি ট্রেন্ড অনুসরণকারী যুক্তি এবং ঝুঁকি ব্যবস্থাপনা বিবেচনা উভয়কেই অন্তর্ভুক্ত করে। অপ্টিমাইজেশনের ক্ষেত্র থাকলেও সামগ্রিক কাঠামো ভাল স্কেলযোগ্যতা এবং অভিযোজনযোগ্যতা সরবরাহ করে। সফল বাস্তবায়নের জন্য ব্যবসায়ীদের প্রকৃত বাজারের অবস্থার উপর ভিত্তি করে পরামিতিগুলি অনুকূল করতে এবং কৌশল উন্নত করতে হবে।
/*backtest start: 2024-12-03 00:00:00 end: 2024-12-10 00:00:00 period: 45m basePeriod: 45m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Flexible Swing Trading Strategy with Trailing Stop and Date Range", overlay=true) // Input parameters rsiPeriod = input.int(14, title="RSI Period") macdFastLength = input.int(12, title="MACD Fast Length") macdSlowLength = input.int(26, title="MACD Slow Length") macdSignalSmoothing = input.int(9, title="MACD Signal Smoothing") smaShortPeriod = input.int(20, title="Short-term SMA Period") smaLongPeriod = input.int(50, title="Long-term SMA Period") takeProfitPercent = input.float(5.0, title="Take Profit Percentage") stopLossPercent = input.float(3.0, title="Stop Loss Percentage") trailingStopPercent = input.float(2.0, title="Trailing Stop Percentage") // Date range inputs startDate = input(timestamp("2023-01-01 00:00"), title="Start Date") endDate = input(timestamp("2023-12-31 23:59"), title="End Date") // Calculate RSI rsi = ta.rsi(close, rsiPeriod) // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing) // Calculate SMAs smaShort = ta.sma(close, smaShortPeriod) smaLong = ta.sma(close, smaLongPeriod) // Buy condition buyCondition = ta.crossover(macdLine, signalLine) and rsi < 70 and close > smaShort and smaShort > smaLong // Execute buy orders within the date range if (buyCondition ) strategy.entry("Buy", strategy.long) // Calculate take profit and stop loss levels takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPercent / 100) stopLossLevel = strategy.position_avg_price * (1 - stopLossPercent / 100) // Set take profit, stop loss, and trailing stop strategy.exit("Take Profit", "Buy", limit=takeProfitLevel) strategy.exit("Stop Loss", "Buy", stop=stopLossLevel) strategy.exit("Trailing Stop", "Buy", trail_price=close * (1 - trailingStopPercent / 100), trail_offset=trailingStopPercent / 100) // Plot Buy signals plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") // Plot SMAs plot(smaShort, color=color.blue, title="20 SMA") plot(smaLong, color=color.red, title="50 SMA") // Plot MACD and Signal Line plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.orange, title="Signal Line") // Plot RSI hline(70, "Overbought", color=color.red) hline(30, "Oversold", color=color.green) plot(rsi, color=color.purple, title="RSI") // Debugging plots plotchar(buyCondition , char='B', location=location.belowbar, color=color.green, size=size.small) plotchar(strategy.opentrades > 0, char='T', location=location.abovebar, color=color.blue, size=size.small) plot(stopLossLevel, color=color.red, title="Stop Loss Level") plot(takeProfitLevel, color=color.green, title="Take Profit Level")