
এই কৌশলটি মুভিং এভারেজ ক্রসওভার এবং RSI সূচকের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং সিস্টেম, যা মূলত অপশন মার্কেটে ট্রেডিংয়ের জন্য ব্যবহৃত হয়। এই কৌশলটি দ্রুত এবং ধীর গতিশীল গড়ের ক্রসওভার সংকেত ব্যবহার করে, লেনদেনের সময় নির্ধারণের জন্য RSI অতিরিক্ত কেনা এবং অতিরিক্ত বিক্রিত স্তরের সাথে মিলিত হয়, এবং ঝুঁকি নিয়ন্ত্রণের জন্য টেক-প্রফিট এবং স্টপ-লস নির্ধারণ করে। এই কৌশলটি ৫ মিনিটের সময়সীমার ট্রেডিংয়ের জন্য উপযুক্ত।
কৌশলটি দুটি মূল প্রযুক্তিগত সূচক ব্যবহার করে: মুভিং এভারেজ (MA) এবং আপেক্ষিক শক্তি সূচক (RSI)। বিশেষভাবে:
এই কৌশলটি মুভিং এভারেজ ক্রসওভার এবং RSI সূচকগুলিকে একত্রিত করে একটি তুলনামূলকভাবে সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। কৌশলটির সুবিধাগুলি একাধিক সংকেত নিশ্চিতকরণ এবং নিখুঁত ঝুঁকি ব্যবস্থাপনার মধ্যে নিহিত, তবে কৌশলটির কার্যকারিতার উপর বাজার পরিবেশের প্রভাবের দিকেও মনোযোগ দেওয়া প্রয়োজন। ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে, এই কৌশলটি বিকল্প বাজারে স্থিতিশীল কর্মক্ষমতা অর্জন করবে বলে আশা করা হচ্ছে। রিয়েল-টাইম ব্যবহারের আগে ব্যবসায়ীদের পর্যাপ্ত ব্যাকটেস্টিং এবং প্যারামিটার অপ্টিমাইজেশন পরিচালনা করার পরামর্শ দেওয়া হচ্ছে।
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA Crossover with RSI Debugging", overlay=true)
// Inputs
fastLength = input.int(7, title="Fast MA Length", minval=1)
slowLength = input.int(13, title="Slow MA Length", minval=1)
rsiLength = input.int(17, title="RSI Length", minval=1)
rsiOverbought = input.int(64, title="RSI Overbought Level", minval=50, maxval=100)
rsiOversold = input.int(43, title="RSI Oversold Level", minval=0, maxval=50)
takeProfitPerc = input.float(4, title="Take Profit (%)", minval=0.1)
stopLossPerc = input.float(0.5, title="Stop Loss (%)", minval=0.1)
// Moving Averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)
// RSI
rsi = ta.rsi(close, rsiLength)
// Entry Conditions
longCondition = ta.crossover(fastMA, slowMA) and rsi < rsiOversold
shortCondition = ta.crossunder(fastMA, slowMA) and rsi > rsiOverbought
// Plot Debugging Shapes
plotshape(ta.crossover(fastMA, slowMA), color=color.green, style=shape.circle, location=location.belowbar, title="Fast MA Crossover")
plotshape(ta.crossunder(fastMA, slowMA), color=color.red, style=shape.circle, location=location.abovebar, title="Fast MA Crossunder")
plotshape(rsi < rsiOversold, color=color.blue, style=shape.triangleup, location=location.belowbar, title="RSI Oversold")
plotshape(rsi > rsiOverbought, color=color.orange, style=shape.triangledown, location=location.abovebar, title="RSI Overbought")
// Entry and Exit Execution
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Sell", strategy.short)
takeProfitPrice = strategy.position_avg_price * (1 + takeProfitPerc / 100)
stopLossPrice = strategy.position_avg_price * (1 - stopLossPerc / 100)
if (strategy.position_size > 0)
strategy.exit("Exit Buy", from_entry="Buy", limit=takeProfitPrice, stop=stopLossPrice)
if (strategy.position_size < 0)
strategy.exit("Exit Sell", from_entry="Sell", limit=takeProfitPrice, stop=stopLossPrice)
// Plot Moving Averages
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
// RSI Levels
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)