
এই কৌশলটি সরল চলমান গড় ((এসএমএ) এর প্রান্তিকতার উপর ভিত্তি করে উত্থানের প্রবণতা সনাক্ত করতে এবং নির্দিষ্ট শর্ত পূরণ হলে আরও পজিশন খোলার জন্য। একই সাথে, মুনাফা সুরক্ষার জন্য স্টপ লস মূল্যের গতিশীল সমন্বয় করে একটি বিকল্প ট্র্যাকিং স্টপ ব্যবস্থা চালু করা হয়েছে। উপরন্তু, এই কৌশলটি স্টপ লস পরে পুনরায় প্রবেশের শর্তগুলিও সেট করে যাতে দাম খুব বেশি হলে পজিশন পুনরায় স্থাপন করা যায় না। এই বৈশিষ্ট্যগুলির মাধ্যমে, কৌশলটি কার্যকরভাবে উত্থানের প্রবণতা ক্যাপচার করতে, ঝুঁকি নিয়ন্ত্রণ করতে এবং শৃঙ্খলাবদ্ধ ট্রেডিংয়ের অনুমতি দেয়।
এই কৌশলটি এসএমএ ট্রেন্ড ট্র্যাকিং, স্টপ ট্র্যাকিং এবং শৃঙ্খলাবদ্ধ পুনরায় প্রবেশের মতো প্রক্রিয়াগুলি ব্যবহার করে, উচ্চতর প্রবণতা ক্যাপচার করার সময় ঝুঁকি নিয়ন্ত্রণ করে। প্যারামিটার সেটিং অপ্টিমাইজ করা, ঝুঁকি ব্যবস্থাপনা বাড়ানো, দ্বিপাক্ষিক লেনদেন এবং মাল্টি-টাইম ফ্রেমওয়ার্ক নিশ্চিতকরণ সমর্থন করে এমন পদ্ধতিগুলি ব্যবহার করে কৌশলটির অভিযোজনযোগ্যতা এবং স্থায়িত্বকে আরও বাড়িয়ে তুলতে পারে।
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA Incline Strategy with Optional Trailing Stop-Loss", overlay=true, calc_on_every_tick=true)
// Input parameters
windowSize = input.int(20, title="Window Size")
maLength = input.int(150, title="Moving Average Length")
minSlope = input.float(0.1, title="Minimum Slope")
useTrailingStop = input.bool(true, title="Use Trailing Stop-Loss")
trailingStopPercentage = input.float(2.8, title="Trailing Stop Percentage (%)") / 100
// Calculate the moving average
ma = ta.sma(close, maLength)
// Calculate the slope of the moving average over the window size
previousMa = ta.sma(close[windowSize], maLength)
slopeMa = (ma - previousMa) / windowSize
// Check conditions
isAboveMinSlope = slopeMa > minSlope
isAboveMa = close > ma
// Buy condition
buyCondition = isAboveMinSlope and isAboveMa
// Execute strategy
if (buyCondition and strategy.opentrades == 0)
strategy.entry("Long", strategy.long)
// Trailing stop-loss (optional)
if (strategy.opentrades == 1 and useTrailingStop and isAboveMa)
// Calculate the trailing stop price
trailPrice = close * (1 - trailingStopPercentage)
// Use the built-in strategy.exit function with the trailing stop
strategy.exit("Trail Stop", "Long", stop=trailPrice)
// Exit condition
sellCondition = ta.crossover(ma, close)
if (sellCondition and strategy.opentrades == 1)
strategy.close("Long")