ক্রসিং মুভিং এভারেজ ট্রেন্ড ট্র্যাকিং কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি ডাবল চলমান গড়ের ক্রস গণনা করে মূল্যের প্রবণতা বিচার করে এবং নির্দিষ্ট পরামিতি সীমাবদ্ধতার সাথে ক্রয় এবং বিক্রয় সংকেত ইস্যু করে। এটি মূলত তিনটি অংশ নিয়ে গঠিতঃ প্রথমত, দ্রুত এবং ধীর চলমান গড়ের ক্রস গণনা করে দামের প্রবণতা বিচার করুন; দ্বিতীয়ত, ভুল বাণিজ্য এড়াতে নির্দিষ্ট পরামিতি সীমাবদ্ধতা সেট করুন; তৃতীয়ত, ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লাভ এবং স্টপ লস ব্যবহার করুন।

কৌশল নীতি

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

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

অবশেষে, ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস এবং স্টপ লস ব্যবহার করা হয়। যদি ওপেন লস স্টপ লস পয়েন্টের চেয়ে কম বা স্টপ লস পয়েন্টের চেয়ে বড় হয় তবে অবস্থানগুলি বন্ধ হয়ে যাবে। এটি কার্যকরভাবে একটি একক ব্যবসায়ের ক্ষতি সীমাবদ্ধ করে।

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

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

উপরন্তু, সিদ্ধান্তের থ্রেশহোল্ড, স্টপ লাভ এবং স্টপ লস এর মতো প্যারামিটারগুলি উচ্চতা এবং বিক্রয় নিম্নতা এড়ানোর মাধ্যমে ট্রেডিং ঝুঁকিগুলিকে ব্যাপকভাবে হ্রাস করতে পারে।

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

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

এছাড়াও, স্টপ লাভ এবং স্টপ লস পয়েন্টের ভুল সেটিংগুলিও ঝুঁকি বাড়িয়ে তুলবে। অত্যধিক উচ্চ লাভের লক্ষ্য এবং কম স্টপ লস পয়েন্ট প্রত্যাশার বাইরে ক্ষতির দিকে পরিচালিত করতে পারে। বিভিন্ন ট্রেডিং পণ্য এবং অস্থিরতার বৈশিষ্ট্য অনুসারে যুক্তিসঙ্গত পরামিতি নির্ধারণ করা দরকার।

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

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

  1. চলমান গড় সময়ের অপ্টিমাইজ করা, বিভিন্ন চক্রের মূল্যের উত্তোলনকে আরও ভালভাবে মডেল করার জন্য অভিযোজিত চলমান গড় নির্ধারণ করা;

  2. স্টপ লস এবং স্টপ লাভের জন্য গতিশীল ট্র্যাকিং প্রক্রিয়া সেট করুন, বাজারের অবস্থার উপর ভিত্তি করে রিয়েল টাইমে অস্থিরতা গণনা করুন, যাতে স্টপ পয়েন্টগুলি গতিশীলভাবে পরিবর্তিত হতে পারে;

  3. দামের প্রবণতা নির্ধারণের জন্য মেশিন লার্নিং মডেল বাড়ানো, বর্তমান মূল্যের গতিবিধি নির্ধারণের জন্য আরও ঐতিহাসিক তথ্য ব্যবহার করা এবং ভুল সংকেত হ্রাস করা।

সিদ্ধান্ত

সাধারণভাবে, এটি একটি ক্লাসিক সহজ এবং কার্যকর ট্রেন্ড ট্রেডিং কৌশল। এটি প্রবণতা নির্ধারণের জন্য ডাবল চলমান গড় ক্রস ব্যবহার করে, ঝুঁকি নিয়ন্ত্রণের জন্য পরামিতি সেট করে এবং মাল্টি-পণ্য ট্রেডিংয়ের জন্য উচ্চ কনফিগারযোগ্যতা রয়েছে। যদি মেশিন লার্নিংয়ের মতো আরও বুদ্ধিমান বিচারের উপায় চালু করা যায় তবে সামগ্রিক প্রভাব আরও গবেষণার জন্য আরও ভাল হতে পারে।


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Trade Signal", shorttitle="Trade Alert", overlay=true )
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-10.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=100.00, title="Target Point in $", type=float, step=1)
ot=1
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
confidence=(request.security(syminfo.tickerid, '5', close[1])-request.security(syminfo.tickerid, '60', close[1]))/request.security(syminfo.tickerid, '60', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD
if (shortCondition)
    strategy.entry("Short",strategy.short)

//alerts
alertcondition(closelong, title='Close Buy Position', message='Close Buy Position')
alertcondition(closeshort, title='Close Short Position', message='Close Short Position')
alertcondition(longCondition, title='Buy Signal', message='Buy Signal Alert')
alertcondition(shortCondition, title='Sell Signal', message='Sell Signal Alert')

//a1=plot(n1,color=c)
//a2=plot(n2,color=c)plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart

আরো