
এই কৌশলটি প্রথমে দ্রুত চলমান গড় ma_fast এবং ধীর চলমান গড় ma_slow গণনা করে, এবং তারপর FRAMA এর সাথে মিলিত হয় যা স্বনির্ধারিত চলমান গড়ের সাথে মিলিত হয়, যখন ma_slow পরা হয় তখন অতিরিক্ত কাজ করে, যখন ma_slow পরা হয় তখন ma_fast পরা হয় বা FRAMA এর অধীনে বন্ধের দামের সময় প্লেইন হয়।
১৩ দিনের সরল চলমান গড় ma_fast এবং ২৬ দিনের সরল চলমান গড় ma_slow গণনা করুন।
FRAMA এর গণনা সূত্রটি জটিল, মূল ধারণাটি হ’ল দামের সর্বোচ্চ, সর্বনিম্ন এবং অস্থির গতিশীলতার উপর ভিত্তি করে গড়ের সমতলতা নির্ধারণ করা।
ma_fast এ ma_slow পরার সময় আরো বেশি করুন। এটি নির্দেশ করে যে স্বল্পমেয়াদী গড় লাইন উপরে উঠতে শুরু করেছে এবং দীর্ঘমেয়াদী গড় লাইনকে জয় করতে চলেছে, যা প্রবণতার সাথে সামঞ্জস্যপূর্ণ।
ma_slow এর নিচে ma_fast পেরিয়ে অথবা FRAMA এর নিচে বন্ধের মূল্য পেরিয়ে প্লেইন করুন। এটি ট্রেন্ড রিভার্সনের সংকেত দেয়।
দ্বৈত সমান্তরাল সিস্টেম এবং স্বনির্ধারিত সমান্তরাল সিস্টেমের সুবিধাগুলির সমন্বয়। দ্বৈত সমান্তরাল সিস্টেমগুলি প্রবণতা ক্যাপচার করতে ভাল, স্বনির্ধারিত সমান্তরাল সিস্টেমগুলি আরও ভালভাবে গোলমাল ফিল্টার করতে পারে।
FRAMA সূচকটি প্যারামিটারগুলিকে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে পারে, ম্যানুয়ালি নির্বাচিত প্যারামিটারগুলির স্বতন্ত্রতা এড়াতে পারে।
একই সময়ে দুটি এক্সট্রিম সিগন্যাল ব্যবহার করে, ট্রেন্ড রিভার্স সময়মত ধরা যায়।
ডাবল-ইউনিভার্সাল ক্রসিংয়ের ভুল অবস্থানের সম্ভাবনা, যা বিরতিতে ক্ষতি হতে পারে।
চলমান গড়ের সাথে সামঞ্জস্য রেখে কৌশলটির প্যারামিটার বাড়ানো হয়, যা অতিরিক্ত অপ্টিমাইজেশনের দিকে নিয়ে যেতে পারে।
শুধু দামের দিকটা বিবেচনা করুন, কিন্তু লেনদেনের ভলিউম ফিল্টার করবেন না, তাহলে আপনি সুযোগ হারাতে পারেন।
সর্বোত্তম প্যারামিটার খুঁজতে বিভিন্ন পিরিয়ডের গড়রেখার সমন্বয় পরীক্ষা করা যায়।
ট্রানজাকশন নিশ্চিতকরণ যোগ করা যেতে পারে, যাতে অকার্যকর সংকেত এড়ানো যায়। যেমন ট্রানজাকশন স্প্রিংক শর্ত যুক্ত করা।
পজিশন খোলার এবং পজিশনের শর্তগুলি অনুকূলিতকরণ করা যেতে পারে, কৌশলটিকে আরও স্থিতিশীল করে তোলে। উদাহরণস্বরূপ, কেবলমাত্র ধারাবাহিক মডেল ব্রেকআউটের সময় পজিশন খোলার জন্য।
এই কৌশলটি দ্বৈত সমান্তরাল ক্রস এবং FRAMA স্বনির্ধারিত সমান্তরালকে একত্রিত করে, গতিশীলভাবে প্যারামিটারগুলিকে সামঞ্জস্য করে বাজার পরিবেশের সাথে স্বয়ংক্রিয়ভাবে খাপ খাইয়ে নেয়। দ্বৈত সমান্তরালটি প্রবণতা ধরতে ভাল, FRAMA শব্দটি ফিল্টার করতে পারে। একই সাথে দুটি সমান্তরাল সংকেত ব্যবহার করে কৌশলটি আরও স্থিতিশীল করে তোলে। পরবর্তী ধাপে প্যারামিটারগুলি আরও অপ্টিমাইজ করা যেতে পারে, ডেলিভারি নিশ্চিতকরণ যুক্ত করা, কৌশলটিকে আরও নিখুঁত করে তোলে।
/*backtest
start: 2023-01-14 00:00:00
end: 2024-01-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Fractal Adaptive Moving Average",shorttitle="FRAMA",overlay=true)
ma_fast = sma(close,13)
ma_slow = sma(close,26)
plot(ma_fast,color = green)
plot(ma_slow, color = yellow)
price = input(hl2)
len = input(defval=16,minval=1)
FC = input(defval=1,minval=1)
SC = input(defval=198,minval=1)
len1 = len/2
w = log(2/(SC+1))
H1 = highest(high,len1)
L1 = lowest(low,len1)
N1 = (H1-L1)/len1
H2 = highest(high,len)[len1]
L2 = lowest(low,len)[len1]
N2 = (H2-L2)/len1
H3 = highest(high,len)
L3 = lowest(low,len)
N3 = (H3-L3)/len
dimen1 = (log(N1+N2)-log(N3))/log(2)
dimen = iff(N1>0 and N2>0 and N3>0,dimen1,nz(dimen1[1]))
alpha1 = exp(w*(dimen-1))
oldalpha = alpha1>1?1:(alpha1<0.01?0.01:alpha1)
oldN = (2-oldalpha)/oldalpha
N = (((SC-FC)*(oldN-1))/(SC-1))+FC
alpha_ = 2/(N+1)
alpha = alpha_<2/(SC+1)?2/(SC+1):(alpha_>1?1:alpha_)
out = (1-alpha)*nz(out[1]) + alpha*price
plot(out,title="FRAMA",color=purple,transp=0)
entry() => crossover(ma_fast, ma_slow) and (out < close)
exit() => crossover(ma_slow, ma_fast) or crossunder(out, close)
strategy.entry(id= "MA cross", long = true, when = entry())
strategy.close(id= "MA cross", when = exit())