
এই কৌশলটি দুটি ভিন্ন দৈর্ঘ্যের সূচকীয় চলমান গড় ((EMA) এর স্লাইড ক্রস ব্যবহার করে একটি প্রবণতা অনুসরণকারী সংকেত তৈরি করে। ডিফল্ট 130 এবং 400 দৈর্ঘ্যের EMA ব্যবহার করে, এই দুটি প্যারামিটারের সমন্বয় ভাল কাজ করে।
যখন শর্ট লাইন EMA স্লাইডের উপরে ধীর লাইন EMA স্লাইড অতিক্রম করে এবং দাম 200 চক্রের EMA এর উপরে থাকে তখন বেশি করুন; যখন শর্ট লাইন EMA স্লাইডের নীচে ধীর লাইন EMA স্লাইড অতিক্রম করে এবং দাম 200 চক্রের EMA এর নীচে থাকে তখন শূন্য করুন।
সমতল স্থিতিশীলতা যখন বিপরীত দিকে ক্রস করা হয়।
এই কৌশলটি বিটকয়েন এবং উচ্চতর তরলতা, উচ্চতর মার্কেটপ্লেস Altcoin এর জন্য সর্বোত্তম কাজ করে, তবে এটি উচ্চতর অস্থিরতা সম্পদের জন্যও ভাল কাজ করে, বিশেষত যখন এই সম্পদগুলি প্রায়শই ট্রেন্ডে থাকে।
৪ ঘন্টার সময়সীমার মধ্যে।
এছাড়াও একটি ঐচ্ছিক ওঠানামা ফিল্টার রয়েছে, যা শুধুমাত্র যখন দুটি প্রান্তিকের মধ্যে পার্থক্য একটি নির্দিষ্ট থ্রেশহোল্ডের চেয়ে বড় হয় তখনই পজিশন খোলার অনুমতি দেয়, যার উদ্দেশ্য হল যখন দামের অনুভূমিক অস্থিরতা সংকেতের চেয়ে অনেক বেশি শব্দ হয় তখন পজিশন খোলার এড়ানো।
আশ্চর্যজনক ফলাফল, উপভোগ করুন!
এই কৌশলটির মূল বিষয় হল দুটি ভিন্ন দৈর্ঘ্যের ইএমএ সূচকের চলমান গড়ের তির্যকতার তুলনা করা।
প্রথমে ১৩০ এবং ৪০০ দৈর্ঘ্যের ইএমএ গণনা করা হয়, তারপর তাদের সংশ্লিষ্ট স্লাইড গণনা করা হয়, তারপর তাদের সংশ্লিষ্ট স্লাইডের জন্য ৩ দৈর্ঘ্যের ইএমএ গণনা করা হয় যাতে মসৃণ স্লাইড কার্ভ পাওয়া যায়।
যখন শর্ট লাইন EMA ঢালু উপর দীর্ঘ লাইন EMA ঢালু অতিক্রম করে একটি কেনার সংকেত উত্পন্ন; যখন শর্ট লাইন EMA ঢালু নীচে দীর্ঘ লাইন EMA ঢালু অতিক্রম করে একটি বিক্রয় সংকেত উত্পন্ন।
ঝাঁকুনি ফিল্টার করার জন্য, 200-চক্রের ইএমএকে ট্রেন্ড ফিল্টার হিসাবে বেছে নেওয়া যেতে পারে, কেবলমাত্র যখন দামটি ইএমএর চেয়ে বেশি হয় তখনই অতিরিক্ত সংকেত বিবেচনা করা হয় এবং যখন এটি কম হয় তখনই খালি সংকেত বিবেচনা করা হয়।
এছাড়াও, একটি ওভারল্যাপ ফিল্টার নির্বাচন করা যেতে পারে যা কেবলমাত্র যখন দুটি স্লাইডের মধ্যে পার্থক্যটি ডিফল্ট থ্রেশহোল্ডের চেয়ে বড় হয় তখনই সংকেত উত্পন্ন করে, যার ফলে স্লাইড ক্রস কিন্তু কম ওভারল্যাপের ক্ষেত্রে ফিল্টার করা যায়।
যখন ধীরে ধীরে বিপরীত দিকের স্লাইড ক্রস হয়, তখন পজিশনটি সমতল করা বন্ধ হয়ে যায়।
প্রবণতা কার্যকরভাবে ট্র্যাক করার জন্য স্কেলেন্স ক্রস ব্যবহার করে সংকেত তৈরি করা
বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে EMA চক্রের প্যারামিটার সমন্বয়
প্রবণতা ফিল্টারগুলি ধাক্কা-ধাক্কা দ্বারা বিভ্রান্ত হওয়া এড়ায়
ভোল্টেজ রেট ফিল্টার মিথ্যা সংকেত ফিল্টার করে
নিয়মগুলি সহজ, সুস্পষ্ট এবং সহজে বোঝা যায়
একাধিক সময় ফ্রেমে ব্যবহার করা যেতে পারে
বড় ধরনের ঝড়ের সময় ঘন ঘন খোলা এবং বন্ধ হতে পারে
EMA চক্রের ভুল প্যারামিটারগুলি প্রবণতা বিপরীত পয়েন্টটি মিস করতে পারে
পরিবর্তিত বাজার পরিবেশের সাথে সামঞ্জস্য রেখে প্যারামিটার সমন্বয়কে যথাযথভাবে সামঞ্জস্য করতে হবে
এমএ সিস্টেমের মতো, বড় প্রবণতার শেষে ক্ষতির বিপরীত হতে পারে
বিভিন্ন EMA চক্রের সমন্বয় পরামিতি চেষ্টা করুন এবং সর্বোত্তম প্যারামিটার খুঁজুন
বিভিন্ন মুদ্রার বৈশিষ্ট্য এবং বাজারের পরিবেশের উপর ভিত্তি করে প্যারামিটার নির্বাচন করুন
স্টপ লস কৌশল কন্ট্রোল ঝুঁকি যোগ করার জন্য বিবেচনা করা যেতে পারে
EMA চক্রের প্যারামিটারগুলিকে গতিশীলভাবে সামঞ্জস্য করতে পারে
বিভিন্ন প্রবণতা থ্রেশহোল্ড প্যারামিটার চেষ্টা করুন
বিভিন্ন সময় ফ্রেমে পরীক্ষা
এই কৌশলটির সামগ্রিক ধারণাটি পরিষ্কার এবং সহজেই বোঝা যায়, ইএমএর ক্রস-স্কেলিংয়ের মাধ্যমে সংকেত উত্পন্ন করে, যা কার্যকরভাবে প্রবণতা অনুসরণ করতে পারে; প্রবণতা ফিল্টার এবং ওঠানামা ফিল্টার সহ্য করা নয়েজ ট্রেডিংকে হ্রাস করতে পারে। ইএমএ চক্রের প্যারামিটার প্যাকেজটি সামঞ্জস্য করে বিভিন্ন বাজারের পরিবেশের সাথে খাপ খাইয়ে নিতে পারে। সামগ্রিকভাবে এটি একটি সহজ ব্যবহারিক প্রবণতা অনুসরণ কৌশল, যা রিয়েল-টাইমে পরীক্ষার জন্য উপযুক্ত।
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// strategy(title="Slopes",initial_capital=1000, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.06, slippage = 2, default_qty_value=30, overlay=false)
//definizione input
start = timestamp(input(2018, "start year"), input(1, "start month"), input(1, "start day"), 00, 00)
end = timestamp(input(2020, "end year"), input(1, "end month"), input(1, "end day"), 00, 00)
average = input (title="Source MA Type", type=input.string, defval="EMA",options=["EMA","SMA"])
len1=input(130,title="Fast MA Length")
len2=input(400,title="Slow MA Length")
smoothingavg = input (title="Smoothing MAs Type", type=input.string, defval="EMA",options=["EMA","SMA"])
smoothingavglen = input (3,title="Smoothing MAs Length")
trendfilter=input(true,title="Trend Filter")
trendfilterperiod=input(200,title="Trend Filter MA Period")
trendfiltertype=input (title="Trend Filter MA Type", type=input.string, defval="EMA",options=["EMA","SMA"])
volatilityfilter=input(false,title="Volatility Filter")
volatilitydelta=input(0.0003,step=0.0001,title="Delta Slopes EMA")
//variabili
m1 = if average == "EMA"
ema(close,len1)
else
sma(close,len1)
m2=if average == "EMA"
ema(close,len2)
else
sma(close,len2)
slp1=(m1-m1[1])/m1
slp2=(m2-m2[1])/m2
e1=if smoothingavg == "EMA"
ema(slp1,smoothingavglen)
else
sma(slp1,smoothingavglen)
e2=if smoothingavg == "EMA"
ema(slp2,smoothingavglen)
else
sma(slp2,smoothingavglen)
plot(e1,color=color.yellow)
plot(e2,color=color.red)
//plot (abs(e1-e2),color=color.white)
//plot (ema(e1-e2,9),color=color.yellow)
//variabili accessorie e condizioni
TrendConditionL=if trendfiltertype =="EMA"
close>ema(close,trendfilterperiod)
else
close>sma(close,trendfilterperiod)
TrendConditionS=if trendfiltertype =="EMA"
close<ema(close,trendfilterperiod)
else
close<sma(close,trendfilterperiod)
VolatilityCondition = abs(e1-e2) > volatilitydelta
ConditionEntryL= if trendfilter == true
if volatilityfilter == true
e1>e2 and TrendConditionL and VolatilityCondition
else
e1>e2 and TrendConditionL
else
if volatilityfilter == true
e1>e2 and VolatilityCondition
else
e1>e2
ConditionEntryS= if trendfilter == true
if volatilityfilter == true
e1<e2 and TrendConditionS and VolatilityCondition
else
e1<e2 and TrendConditionS
else
if volatilityfilter == true
e1<e2 and VolatilityCondition
else
e1<e2
ConditionExitL=crossunder(e1,e2)
ConditionExitS=crossover(e1,e2)
if true
if ConditionExitS
if strategy.position_size < 0
strategy.close("SLPShort")
if true
if ConditionExitL
if strategy.position_size > 0
strategy.close("SLPLong")
if true
if ConditionEntryL
strategy.entry ("SLPLong",long=true)
if true
if ConditionEntryS
strategy.entry("SLPShort",long=false)