এই কৌশলটির মূল সূচক হল স্টোকাস্টিক কে এবং ডি লাইন। কে লাইনটি সাম্প্রতিক মূল্য গতি প্রতিফলিত করে যখন ডি লাইনটি কে লাইনের একটি চলমান গড়। তাদের আপেক্ষিক অবস্থান এবং দিক মূল্যের প্রবণতা এবং সম্ভাব্য বিপরীততা নির্ধারণ করতে পারে।
যখন উচ্চতর টাইমফ্রেম স্টোকাস্টিক একটি আপট্রেন্ড নিশ্চিত করে এবং বর্তমান টাইমফ্রেম স্টোকাস্টিক একটি আপসাইড ব্রেকআউট দেখায়, তখন একটি দীর্ঘ অবস্থান নেওয়া হয়। যখন উচ্চতর টাইমফ্রেম স্টোকাস্টিক একটি ডাউনট্রেন্ড নির্দেশ করে এবং বর্তমান স্টোকাস্টিক একটি ডাউনসাইড ভাঙ্গনের সংকেত দেয়, তখন একটি শর্ট অবস্থান শুরু হয়।
মূল অপ্টিমাইজেশান দিকগুলির মধ্যে রয়েছেঃ
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("MTF stochastic strategy", overlay=false,pyramiding=3,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD) // //this strategy is inspired to bobby thread in forexfactory forum // len = input(11, minval=1, title="Length for Main Stochastic") smoothK = input(3, minval=1, title="SmoothK for Main Stochastic") smoothD = input(3, minval=1, title="SmoothD for Main Stochastic") upLine = input(80, minval=50, maxval=90, title="Upper Line Value?") lowLine = input(20, minval=10, maxval=50, title="Lower Line Value?") trailStep=input(50,minval=10,title="Trialing step value") // current stochastic calculation k = sma(stoch(close, high, low, len), smoothK) d = sma(k, smoothD) //mtf stochastic calculation smoothed with period mtfK= sma(stoch(close, high, low, len), smoothK*3) mtfD= sma(k, smoothD*3) plot(k,"current TF k",black,style=linebr) plot(d,"current TF d",gray,style=linebr) plot(mtfK,"MTF TF k",red,style=line) plot(mtfD,"Multi TF d",green,style=line) hline(upLine) hline(50) hline(lowLine) longCondition = crossover(mtfK, 50) and k>50 and change(k,1)>0 and k>d and mtfK>mtfD if (longCondition) strategy.entry("Lungo", strategy.long) shortCondition = crossunder(mtfD, 50) and k<50 and change(k,1)<0 and k<d and mtfK<mtfD if (shortCondition) strategy.entry("Corto", strategy.short) exitlong=crossunder(mtfD, upLine) exitshort=crossover(mtfK, lowLine) if (exitlong) strategy.exit("Esci lungo","Lungo",trail_points=trailStep) if (exitshort) strategy.exit("Esci corto","Corto",trail_points=trailStep)