এই কৌশলটির মূল ধারণাটি হ'ল ট্রেন্ডগুলি সনাক্ত এবং অনুসরণ করার জন্য কেএসটি সূচক এবং ইএমএ লাইনগুলি একত্রিত করা। এটি কেএসটি সূচকটি যখন 0 এর উপরে অতিক্রম করে এবং ইএমএ লাইনের উপরে বন্ধ হয় তখন এটি ক্রয় সংকেত উত্পন্ন করে এবং যখন এটি 0 এর নীচে অতিক্রম করে এবং ইএমএ লাইনের নীচে বন্ধ হয় তখন বিক্রয় সংকেত দেয়। এই সহজ এবং ব্যবহারিক কৌশলটি স্বয়ংক্রিয়ভাবে প্রবণতা ট্র্যাক করতে পারে এবং মাঝারি থেকে দীর্ঘমেয়াদী হোল্ডিংয়ের জন্য উপযুক্ত।
KST সূচক গণনা করুনঃ 10, 15, 20 এবং 30 সময়ের ROC গণনা করুন, একটি ওজনযুক্ত যোগফল নিন এবং KST সূচক প্রাপ্ত করতে 9 সময়ের SMA এর সাথে এটি সমতল করুন।
ইএমএ লাইন গণনা করুনঃ ৫০ পেরিওডের ইএমএ লাইন গণনা করুন।
ক্রয় সংকেত উৎপন্ন করুনঃ যখন দ্রুত KST লাইন ধীর KST লাইনের (গোল্ডেন ক্রস) উপরে অতিক্রম করে এবং 0 এর নিচে থাকে, যখন বন্ধ EMA লাইনের উপরে থাকে, তখন একটি ক্রয় সংকেত সক্রিয় হয়।
বিক্রয় সংকেত উৎপন্ন করুনঃ যখন দ্রুত KST লাইন ধীর KST লাইনের নীচে (মৃত ক্রস) অতিক্রম করে এবং 0 এর উপরে থাকে, যখন বন্ধটি EMA লাইনের নীচে থাকে, তখন একটি বিক্রয় সংকেত সক্রিয় হয়।
ট্রেলিং স্টপ লস সেট করুনঃ স্বয়ংক্রিয় স্টপ লস উপলব্ধি করতে স্টপ লস অ্যাকাউন্টের মূল্যের 1% ট্র্যাক করে।
কেএসটি ট্রেন্ড পরিবর্তন চিহ্নিত করে, ইএমএ দিকনির্দেশ নিশ্চিত করে। উভয়কে একত্রিত করে সঠিকভাবে প্রবেশের সময় সনাক্ত করে।
দ্রুত / ধীর ক্রসওভার এবং ০-লাইন ব্যবহার করে অপ্রয়োজনীয় লেনদেন এড়ানো যায়।
ইএমএ সমর্থন/প্রতিরোধের সাথে মিথ্যে সংকেত ফিল্টার করে।
স্বয়ংক্রিয় স্টপ লস ঝুঁকি নিয়ন্ত্রণ করে এবং মুনাফা চালানোর অনুমতি দেয়।
সহজ প্যারামিটারগুলি বাস্তবায়ন এবং অপ্টিমাইজেশন সহজ করে তোলে।
কেএসটি ট্রেন্ড পরিবর্তন সনাক্ত করতে বিলম্ব করেছে, কিছু সুযোগ মিস করতে পারে। সময়কাল সংক্ষিপ্ত করতে বা ওজনকে অনুকূল করতে পারে।
ইএমএ প্রবণতা বিপরীতমুখী হওয়ার ক্ষেত্রে পিছিয়ে আছে। অন্যান্য সূচক বা এমএ কম্বো আরও ভাল কাজ করতে পারে।
স্টপ লস খুব বড় হারে হ্রাস বাড়ায়, খুব টাইট স্পাইক দ্বারা বন্ধ করা হয়.
ঘন ঘন সিগন্যালগুলি লেনদেনের খরচ বাড়িয়ে তুলতে পারে। লেনদেন হ্রাস করার জন্য প্রবেশের নিয়মগুলি কঠোর করতে পারে।
নির্দিষ্ট যন্ত্রের প্রতি সংবেদনশীলতার জন্য কেএসটি সময়কালকে অনুকূল করা।
এমএ, ডব্লিউএমএ এর মতো অন্যান্য চলমান গড়গুলি পরীক্ষা করে দেখুন কেএসটির সাথে কোনটি সবচেয়ে ভালভাবে মিলিত হয়।
এটিআর-এর মত ভোল্টেবিলিটি মেট্রিকের উপর ভিত্তি করে ডায়নামিক স্টপ পরীক্ষা করুন।
ফাঁদ এড়াতে ভলিউম স্পাইক এর মত ফিল্টার যোগ করুন।
আরও মাত্রার জন্য RSI, MACD এর মতো সূচকগুলির সাথে একত্রিত করার কথা বিবেচনা করুন।
প্রতিটি যন্ত্রের জন্য অপ্টিমাইজ করার জন্য বিভিন্ন যন্ত্রের মধ্যে পরীক্ষার পরামিতি।
এই কৌশলটির একটি পরিষ্কার, নির্ভরযোগ্য যুক্তি রয়েছে যা বাস্তবায়ন করা সহজ। কেএসটি ট্রেন্ড টার্নগুলি সনাক্ত করে, ইএমএ আরও ফিল্টার করে এবং ঝুঁকি নিয়ন্ত্রণ বন্ধ করে দেয়। এটি স্বয়ংক্রিয়ভাবে মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা ট্র্যাক করে। যুক্তিসঙ্গত পরামিতিগুলি বড় অপ্টিমাইজেশান স্পেস সরবরাহ করে। ব্যবহারকারীরা বিভিন্ন যন্ত্রের জন্য টুইট করতে পারে। শিখতে এবং পেশাদারদের জন্য প্রযোজ্য। আরও অপ্টিমাইজেশনের সাথে এটি একটি শক্তিশালী প্রবণতা অনুসরণকারী সিস্টেম হিসাবে প্রতিশ্রুতি দেখায়।
/*backtest start: 2022-10-31 00:00:00 end: 2023-11-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Know Sure Thing and EMA Strategy by JLX", shorttitle="KST EMA JLX", format=format.price, precision=4, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value = 100) roclen1 = input(10, minval=1, title = "ROC Length #1") roclen2 = input(15, minval=1, title = "ROC Length #2") roclen3 = input(20, minval=1, title = "ROC Length #3") roclen4 = input(30, minval=1, title = "ROC Length #4") smalen1 = input(10, minval=1, title = "SMA Length #1") smalen2 = input(10, minval=1, title = "SMA Length #2") smalen3 = input(10, minval=1, title = "SMA Length #3") smalen4 = input(15, minval=1, title = "SMA Length #4") siglen = input(9, minval=1, title = "Signal Line Length") smaroc(roclen, smalen) => sma(roc(close, roclen), smalen) kst = smaroc(roclen1, smalen1) + 2 * smaroc(roclen2, smalen2) + 3 * smaroc(roclen3, smalen3) + 4 * smaroc(roclen4, smalen4) sig = sma(kst, siglen) plot(kst, color=color.green, title="KST") plot(sig, color=color.red, title="Signal") hline(0, title="Zero") len = input(50, minval=1, title="Length EMA") src = input(close, title="Source EMA") offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500) fastEMA = ema(src, len) delta = kst - sig buySignal = crossover(delta, 0) and kst < 0 and close > fastEMA sellSignal = crossunder(delta, 0) and kst > 0 and close < fastEMA longTrailPerc = input(title="Trail Long Loss (%)", type=input.float, minval=0.0, step=0.1, defval=1) * 0.01 shortTrailPerc = input(title="Trail Short Loss (%)",type=input.float, minval=0.0, step=0.1, defval=1) * 0.01 // STEP 2: // Determine trail stop loss prices longStopPrice = 0.0, shortStopPrice = 0.0 longStopPrice := if (strategy.position_size > 0) stopValue = close * (1 - longTrailPerc) max(stopValue, longStopPrice[1]) else 0 shortStopPrice := if (strategy.position_size < 0) stopValue = close * (1 + shortTrailPerc) min(stopValue, shortStopPrice[1]) else 999999 // Submit entry orders if (buySignal) strategy.entry(id="EL", long=true) if (sellSignal) strategy.entry(id="ES", long=false) // STEP 3: // Submit exit orders for trail stop loss price if (strategy.position_size > 0) strategy.exit(id="XL TRL STP", stop=longStopPrice) if (strategy.position_size < 0) strategy.exit(id="XS TRL STP", stop=shortStopPrice) alertcondition(crossover(delta, 0) and kst < 0 and close > fastEMA,'Long alert', 'You should buy') alertcondition(crossunder(delta, 0) and kst > 0 and close < fastEMA, 'Short alert', 'You should sell')