ডাবল মুভিং এভারেজ সুপারট্রেন্ড পরিমাণগত ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-০২-০৫ ১২ঃ৫ঃ১০
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য দ্বৈত চলমান গড় এবং সুপারট্রেন্ড সূচককে একত্রিত করে এবং উচ্চ মুনাফা অর্জনের জন্য বিভিন্ন চক্রের সংমিশ্রণের মাধ্যমে প্রবণতা দিক বিচার করে।

নীতি

এই কৌশলটি মার্কেট এন্ট্রি টাইমিং নির্ধারণের জন্য এমএসিডি এবং সুপারট্রেন্ড সূচক ব্যবহার করে। এমএসিডি দ্বৈত চলমান গড়গুলি স্বল্পমেয়াদী প্রবণতার দিক নির্ধারণ করে, যখন সুপারট্রেন্ড মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতার দিক নির্ধারণ করে।

যখন দ্রুত রেখা ধীর রেখার মধ্য দিয়ে যায়, তখন এটি একটি ক্রয় সংকেত। এই সময়ে, যদি মাঝারি থেকে দীর্ঘমেয়াদী সুপারট্রেন্ডও একটি উত্থান প্রবণতা হয়, তবে চূড়ান্ত ক্রয় সংকেত দীর্ঘ যেতে উত্পন্ন হয়। বিপরীতে, যখন দ্রুত রেখা ধীর রেখার মধ্য দিয়ে নীচে যায়, এটি একটি বিক্রয় সংকেত। এই সময়ে, যদি মাঝারি থেকে দীর্ঘমেয়াদী সুপারট্রেন্ডও একটি নিম্নমুখী প্রবণতা হয়, তবে চূড়ান্ত বিক্রয় সংকেত শর্ট যেতে উত্পন্ন হয়।

স্টপ লস এবং লাভ নেয়া স্থির মানের উপর সেট করা হয়।

সুবিধা বিশ্লেষণ

এই কৌশলটির সবচেয়ে বড় সুবিধা হ'ল এটি বাজারের দিকনির্দেশ নির্ধারণের জন্য ডাবল চলমান গড় এবং সুপারট্রেন্ড উভয়ই ব্যবহার করে, সিদ্ধান্ত গ্রহণের দক্ষতা উল্লেখযোগ্যভাবে উন্নত করতে এবং মিথ্যা ব্রেকআউট এড়াতে মাঝারি স্বল্পমেয়াদী এবং মাঝারি দীর্ঘমেয়াদী বিশ্লেষণগুলি একত্রিত করে। এছাড়াও, সুপারট্রেন্ড বাজারের অস্থিরতার ভিত্তিতে পরামিতিগুলিকে আরও বিস্তৃত বাজারের পরিবেশে অভিযোজিত করতে পারে।

ঝুঁকি বিশ্লেষণ

এই কৌশলটির প্রধান ঝুঁকি হ'ল স্থির স্টপ লস এবং লাভের সেটিংগুলি বৃহত্তর লাভের সুযোগগুলি মিস করতে পারে। এছাড়াও, যদি মাঝারি স্বল্পমেয়াদী এবং মাঝারি দীর্ঘমেয়াদী বিচারের মধ্যে বিচ্যুতি থাকে তবে কৌশলটি সঠিকভাবে কাজ করবে না। আমরা ভাসমান স্টপ লস এবং লাভের সেটিংগুলির মাধ্যমে এই ঝুঁকি হ্রাস করতে পারি।

অপ্টিমাইজেশান নির্দেশাবলী

এই কৌশলটি নিম্নলিখিত দিকগুলিতে অনুকূলিত করা যেতে পারেঃ

  1. স্টপ লস এবং লাভ নেওয়ার জন্য গতিশীল সমন্বয় প্রক্রিয়া বাড়ানো এবং বাজারের অস্থিরতা এবং প্রবণতা অনুযায়ী স্টপ লস এবং লাভ নেওয়ার ব্যবস্থা করা।

  2. লক্ষ্যবস্তু বৈচিত্র্যের জন্য আরো উপযুক্ত চলমান গড় প্যারামিটারগুলি খুঁজে পেতে MACD পরামিতিগুলি অপ্টিমাইজ করুন।

  3. সুপারট্রেন্ডের প্যারামিটারগুলিকে বাজারের সংবেদনশীলতার সাথে সামঞ্জস্য করার জন্য অপ্টিমাইজ করুন।

  4. আরো মাত্রিক সংকেত প্রদান এবং কৌশল কর্মক্ষমতা উন্নত করার জন্য বিচার করার জন্য অন্যান্য সূচক বৃদ্ধি।

সংক্ষিপ্তসার

এই কৌশলটি সফলভাবে দ্বৈত চলমান গড় এবং সুপারট্রেন্ড সূচকগুলির সুবিধাগুলি একত্রিত করে। বিভিন্ন চক্রের বিচারগুলি একত্রিত করে, এটি ভুল সংকেতগুলি ফিল্টার করে এবং ট্রেন্ডিং বাজারে আরও ভাল রিটার্ন অর্জন করে। আমরা পরামিতি অপ্টিমাইজেশন এবং প্রক্রিয়া সমন্বয়গুলির মাধ্যমে এই কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়িয়ে তুলতে পারি।


/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Supertrend Strategy by breizh29 using *rajandran.r* Supertrend Indicator

strategy("Super Trend 2 MACD", overlay=true)
// MACD input
source = input(close)
fastLength = input(12, minval=1, title="MACD fast moving average")
slowLength=input(26,minval=1, title="MACD slow moving average")
signalLength=input(9,minval=1, title="MACD signal line moving average")

// Calculation
fastMA = sma(source, fastLength)
slowMA = sma(source, slowLength)

Macd = fastMA - slowMA
Signal = sma(Macd, signalLength)


res = input(title="Main SuperTrend Time Frame",  defval="120")
Factor=input(1, minval=1,maxval = 100)
Pd=input(1, minval=1,maxval = 100)

tp = input(500,title="Take Profit")
sl = input(400,title="Stop Loss")


Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
MUp=request.security(syminfo.tickerid,res,hl2-(Factor*atr(Pd)))
MDn=request.security(syminfo.tickerid,res,hl2+(Factor*atr(Pd)))

Mclose=request.security(syminfo.tickerid,res,close)

TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

MTrendUp=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp
MTrendDown=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn

Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

MTrend = Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1)
MTsl = MTrend==1? MTrendUp: MTrendDown

linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")

Mlinecolor = MTrend == 1 ? blue : orange
plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend")

plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)

up = Trend == 1 and Trend[1] == -1 and MTrend == 1 
down = Trend == -1 and Trend[1] == 1 and MTrend == -1 
plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)


golong = Trend == 1 and Trend[1] == -1 and MTrend == 1 and Macd > Signal
goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1 and Macd < Signal

strategy.entry("Buy", strategy.long,when=golong)
strategy.exit("Close Buy","Buy",profit=tp,loss=sl)
   
   
strategy.entry("Sell", strategy.short,when=goshort)
strategy.exit("Close Sell","Sell",profit=tp,loss=sl)


আরো