এই কৌশলটি দ্রুত চলমান গড়, ধীর চলমান গড় এবং এমএসিডি সূচক গণনা করে দামের প্রবণতা বিচার করে এবং সোনার ক্রস এবং মৃত ক্রস ট্রেডিং সংকেত তৈরি করে। এটি মুনাফা লক করতে এবং ধারাবাহিকভাবে প্রবণতা ট্র্যাক করতে লাভ, স্টপ লস এবং ট্রেলিং স্টপ লসকে একত্রিত করে।
এই কৌশল মূলত তিনটি সূচকের উপর ভিত্তি করে তৈরি করা হয়েছে।
প্রথমত, এটি দ্রুত চলমান গড় এবং দুটি ধীর চলমান গড় গণনা করে। যখন দ্রুত এমএ দুটি ধীর এমএ এর উপরে যায়, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দ্রুত এমএ দুটি ধীর এমএ এর নীচে যায়, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এটি স্বর্ণ ক্রস এবং মৃত ক্রস ট্রেডিং উপলব্ধি করতে স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী প্রবণতার মধ্যে সম্পর্ক বিচার করে।
দ্বিতীয়ত, এটি এমএসিডি সূচক, এমএসিডি লাইন, সংকেত লাইন এবং হিস্টোগ্রাম সহ গণনা করে। যখন এমএসিডি হিস্টোগ্রাম > 0, এটি একটি উত্থান সূচক; যখন এমএসিডি হিস্টোগ্রাম < 0, এটি একটি হ্রাস সূচক। এটি সোনার ক্রস এবং মৃত ক্রস সংকেতগুলির নির্ভরযোগ্যতা বিচার করতে সহায়তা করে।
অবশেষে, এটি লাভ গ্রহণ, স্টপ লস এবং ট্রেলিং স্টপ লস প্রক্রিয়া অন্তর্ভুক্ত করে। লাভ গ্রহণ এবং স্টপ লস পয়েন্টগুলি লাভ এবং নিয়ন্ত্রণ ঝুঁকিতে লক করতে ব্যবহৃত হয়; ট্রেলিং স্টপ লস লাভগুলি ট্র্যাক রাখতে ব্যবহৃত হয়।
এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ
এছাড়াও কিছু ঝুঁকি আছেঃ
সমাধানগুলো হল:
কৌশলটি নিম্নলিখিত দিকগুলি থেকেও অপ্টিমাইজ করা যেতে পারেঃ
সংক্ষেপে, এটি একটি সহজ তবে কার্যকর কৌশল যা প্রবণতা বিচার করতে এবং ট্রেলিং স্টপ লস উপলব্ধি করতে সোনার ক্রস, ডেড ক্রস এবং এমএসিডি ব্যবহার করে। সুবিধাগুলি হ'ল উচ্চ কাস্টমাইজযোগ্যতার সাথে প্রবণতা ট্র্যাকিং এবং মুনাফা লকিং। এটি বিভিন্ন ট্রেডিং যন্ত্রের জন্য উপযুক্ত একটি সর্বজনীন পরামিতি অপ্টিমাইজেশন কৌশল। এখনও কিছু ঝুঁকি এবং অপ্টিমাইজেশান স্পেস রয়েছে তবে সামগ্রিকভাবে এটি একটি নির্ভরযোগ্য এবং ব্যবহারিক ট্রেডিং কৌশল।
/*backtest start: 2023-12-14 00:00:00 end: 2023-12-21 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy('The Puria Method', shorttitle = 'Puria',overlay = true) //=== GENERAL INPUTS === // short ma maFastSource = input(defval = close, title = "Fast MA Source") maFastLength = input(defval = 5, title = "Fast MA Period", minval = 1) // long ma 1 maSlow1Source = input(defval = low, title = "Slow MA1 Source") maSlow1Length = input(defval = 85, title = "Slow MA Period", minval = 1) // long ma 2 maSlow2Source = input(defval = low, title = "Slow MA2 Source") maSlow2Length = input(defval = 75, title = "Slow MA Period", minval = 1) //macd macdFastLength = input(defval = 12, title = "Fast MACD Period", minval = 1) macdSlowLength = input(defval = 26, title = "Slow MACD Period", minval = 1) macdSmaLength = input(defval = 9, title = "SMA MACD Period", minval = 1) // the risk management inputs inpTakeProfit = input(defval = 30, title = "Take Profit", minval = 0) inpStopLoss = input(defval = 10, title = "Stop Loss", minval = 0) inpTrailStop = input(defval = 5, title = "Trailing Stop Loss", minval = 0) inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0) // if an input is less than 1, assuming not wanted so we assign 'na' value to disable it. useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na // === SERIES SETUP === maFast = ema(maFastSource, maFastLength) maSlow1 = wma(maSlow1Source, maSlow1Length) maSlow2 = wma(maSlow2Source, maSlow2Length) [_, signal, histLine] = macd(close, macdFastLength, macdSlowLength, macdSmaLength) // === PLOTTING === fast = plot(maFast, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50) slow1 = plot(maSlow1, title = "Slow MA1", color = red, linewidth = 2, style = line, transp = 50) slow2 = plot(maSlow2, title = "Slow MA2", color = red, linewidth = 2, style = line, transp = 50) // === LOGIC === signalUp = crossover(maFast, maSlow1) and crossover(maFast, maSlow2) and histLine > 0 signalDown = crossunder(maFast, maSlow1) and crossunder(maFast, maSlow2) and histLine < 0 // ===STRATEGY=== strategy.entry(id = "Long", long = true, when = signalUp) strategy.entry(id = "Short", long = false, when = signalDown) strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset) strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)