
মাল্টি-টাইম ফ্রেম ওয়েভ ট্রেন্ড ট্র্যাকার কৌশলটি একটি মাল্টি-টাইম ফ্রেম ট্রেন্ড ট্র্যাকিং ট্রেডিং সিস্টেম যা ওয়েভট্রেন্ড সূচকগুলির উপর ভিত্তি করে। এই কৌশলটি বিশেষত 15 মিনিটের সময় ফ্রেমের জন্য অনুকূলিত করা হয়েছে, তিনটি স্তরের সময় ফ্রেম প্রান্তিককরণ পদ্ধতি ব্যবহার করেঃ 240 মিনিটের ওয়েভট্রেন্ডটি ম্যাক্রো ট্রেন্ড ফিল্টার হিসাবে কাজ করে, 30 মিনিটের ওয়েভট্রেন্ডটি গতিশীলতা নিশ্চিতকরণের জন্য এবং 15 মিনিটের ওয়েভট্রেন্ডটি সংকেত তৈরির জন্য দায়ী। কৌশলটি বিভিন্ন সময় ফ্রেমে ওয়েভট্রেন্ড সূচকগুলির ক্রসগুলি সনাক্ত করে প্রবেশদ্বার এবং প্রস্থানগুলি নির্ধারণের উপর দৃষ্টি নিবদ্ধ করে, পাশাপাশি সর্বাধিক লাভের উপর ভিত্তি করে ট্র্যাকিং লজিক এবং শতাংশের উপর ভিত্তি করে প্রত্যাহারের সহনশীলতা সহ উন্নত ট্র্যাকিং স্টপ লস মেশিনের সাথে মিলিত হয়।
এই কৌশলটির মূল নীতিটি হ’ল ট্রেন্ডের দিকনির্দেশনা এবং বিপরীত পয়েন্টগুলি সনাক্ত করার জন্য একাধিক টাইম ফ্রেমে ওয়েভট্রেন্ড সূচকের সমন্বয় ব্যবহার করা। ওয়েভট্রেন্ড সূচকটি নিজেই দামের সাথে তার সূচকীয় মুভিং এভারেজ (ইএমএ) এর সম্পর্ক গণনা করে এবং তারপরে ওভারসোলের সাথে দামের ওভারসোলের পরিমাপ করার জন্য ভোল্টেবল ফ্যাক্টর যুক্ত করে।
কৌশল বাস্তবায়নের প্রক্রিয়াটি নিম্নরূপঃ
প্রথমত, WaveTrend ফাংশনটি সংজ্ঞায়িত করুন যা দুটি প্রধান মান গণনা করে (wt1 এবং wt2):
কৌশলটি WaveTrend সূচককে তিনটি সময় ফ্রেমে প্রয়োগ করেঃ
ভর্তির শর্ত:
স্টপ ড্যামেজ এবং আউট-অফ-পার্টি পদ্ধতির সমন্বয়ঃ
কৌশলটি প্রতিটি লেনদেনের প্রবেশের মূল্য, প্রবেশের স্তম্ভ এবং সর্বাধিক লাভের হার রেকর্ড করে এবং ট্র্যাক করে। এই প্যারামিটারগুলি আউটপুট পয়েন্টটি গতিশীলভাবে সামঞ্জস্য করার জন্য ব্যবহৃত হয়।
মাল্টিটাইম ফ্রেমওয়ার্ক সমন্বয়: বিভিন্ন টাইম ফ্রেমে ওয়েভট্রেন্ড সূচক বিশ্লেষণ করে, কৌশলটি বাজারের প্রবণতাকে আরও ব্যাপকভাবে ধরে রাখতে সক্ষম হয়, মিথ্যা সংকেত বাধাগুলি হ্রাস করে এবং লেনদেনের নির্ভুলতা উন্নত করে। নিম্ন টাইম ফ্রেমগুলি সঠিক প্রবেশের পয়েন্ট সরবরাহ করে এবং উচ্চ টাইম ফ্রেমগুলি নিশ্চিত করে যে লেনদেনের দিকটি মূল প্রবণতার সাথে সামঞ্জস্যপূর্ণ।
ডায়নামিক স্টপ লস মেকানিজমকৌশলটি একটি ট্রিপল স্টপ সুরক্ষা সিস্টেম ব্যবহার করে, যার মধ্যে রয়েছে স্থির শতাংশের স্টপ, মুনাফা ভিত্তিক ট্র্যাকিং স্টপ এবং সর্বাধিক উপার্জন সুরক্ষা ব্যবস্থা। এই যৌগিক স্টপ কৌশলটি তহবিল রক্ষা করার পাশাপাশি প্রবণতা থেকে সর্বাধিক উপার্জন ক্যাপচার করতে সক্ষম।
ভিজ্যুয়াল প্রতিক্রিয়া সিস্টেম
প্যারামিটার নমনীয়: কৌশলটি একাধিক কাস্টমাইজযোগ্য প্যারামিটার সরবরাহ করে, যার মধ্যে রয়েছে স্টপ লস ট্রিগার শতাংশ, ট্র্যাকিং অনুসরণ শতাংশ এবং সর্বাধিক অনুমোদিত প্রত্যাহারের শতাংশ, যা ব্যবহারকারীরা তাদের ঝুঁকি পছন্দ এবং বাজারের অবস্থার উপর ভিত্তি করে সামঞ্জস্য করতে পারেন।
কোডের কাঠামো পরিষ্কারনীতিমালাটি কার্যকরীভাবে ডিজাইন করা হয়েছে, প্রতিটি অংশে লজিক্যাল ডিফারেন্স রয়েছে, যা সহজেই বোঝা যায় এবং বজায় রাখা যায়, পাশাপাশি আরও অপ্টিমাইজেশন এবং সম্প্রসারণের সুবিধা দেয়।
প্রবণতা পরিবর্তনের প্রতিক্রিয়া: একটি প্রবণতা অনুসরণ কৌশল হিসাবে, প্রবণতা পাল্টানোর সময়ে একটি lag প্রতিক্রিয়া হতে পারে, যখন বাজার বিপরীত হয় তখন একটি বড় প্রত্যাহারের দিকে পরিচালিত করে। সমাধান হল স্টপ লস প্যারামিটারগুলিকে সামঞ্জস্য করা বা সহায়ক হিসাবে অতিরিক্ত প্রবণতা পাল্টানোর সূচক যুক্ত করা।
অস্থির বাজার
পরামিতি সংবেদনশীলতা: কৌশলটি WaveTrend এর প্যারামিটার সেটিং ((n1=10, n2=21) এবং স্টপ লস প্যারামিটারগুলির জন্য বেশ সংবেদনশীল। অত্যধিক আলগা প্যারামিটারগুলি দেরিতে স্টপ হতে পারে এবং অত্যধিক টাইট প্যারামিটারগুলি খুব তাড়াতাড়ি লাভজনক প্রবণতা থেকে বেরিয়ে আসতে পারে। এই প্যারামিটারগুলিকে ইতিহাসের মাধ্যমে অপ্টিমাইজ করা দরকার।
তরলতা ঝুঁকি: কোডের ডিফল্ট ব্যবহারের তুলনামূলক তহবিল পরিমাণ ((10%) লেনদেন, কিন্তু কম তরলতা বাজারে, এই স্লাইড পয়েন্ট বৃদ্ধি বা লেনদেনের অসুবিধা হতে পারে। প্রকৃত লেনদেনের জাতের তরলতা অনুযায়ী পজিশন আকার সামঞ্জস্য করা উচিত।
বাহ্যিক তথ্য নির্ভরতা অনুরোধকৌশলঃ request.security () ফাংশন ব্যবহার করে উচ্চতর টাইম ফ্রেম ডেটা প্রাপ্ত করুন, যা কিছু ট্রেডিং প্ল্যাটফর্মে বিলম্ব বা ডেটা অ্যাক্সেসযোগ্যতার ঝুঁকি নিয়ে থাকতে পারে। ট্রেডিং পরিবেশটি একাধিক টাইম ফ্রেম ডেটা অনুরোধ সমর্থন করে তা নিশ্চিত করুন।
গতিশীল প্যারামিটার সমন্বয়: বর্তমান কৌশলটি স্থির ওয়েভট্রেন্ড প্যারামিটার এবং স্টপ রেট ব্যবহার করে এবং বাজারের অস্থিরতার (যেমন এটিআর) গতিশীলতা অনুসারে এই প্যারামিটারগুলি সামঞ্জস্য করার বিষয়ে বিবেচনা করা যেতে পারে। উদাহরণস্বরূপ, উচ্চ অস্থিরতার পরিবেশে স্টপ দূরত্ব বাড়ানো এবং নিম্ন অস্থিরতার পরিবেশে স্টপ কঠোর করা, বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে।
প্রবণতা বৃদ্ধি ফিল্টার করুন: ট্রেন্ডের শক্তি পরিমাপ করার জন্য ADX বা অনুরূপ সূচক যুক্ত করা যেতে পারে, কেবলমাত্র যখন ট্রেন্ডের শক্তি একটি নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করে তখনই ট্রেডিং করা যায়, যাতে দুর্বল ট্রেন্ড বা ক্রসওভার বাজারে অত্যধিক লেনদেন করা যায়।
অপ্টিমাইজড টাইমফ্রেম নির্বাচন করুনবর্তমান কৌশলটি ১৫ মিনিট, ৩০ মিনিট এবং ৬০ মিনিটের সময় ফ্রেম ব্যবহার করে, যা ব্যাক-এন্ড বিশ্লেষণের মাধ্যমে সর্বোত্তম সময় ফ্রেমের সমন্বয় খুঁজে বের করতে পারে, অথবা বিভিন্ন ট্রেডিং জাতের বৈশিষ্ট্য অনুসারে সময় ফ্রেমগুলি সামঞ্জস্য করতে পারে।
যোগদানের পরিমাণ নিশ্চিতকরণ
খেলার পদ্ধতির উন্নতি: বর্তমান আউটপুট মূলত স্টপ লস ট্রিগারের উপর নির্ভর করে, আপনি মুনাফা লক্ষ্য বা WaveTrend সূচকটির উপর ভিত্তি করে একটি বিপরীত সংকেত যোগ করতে পারেন যা সক্রিয় আউটপুটের শর্ত হিসাবে বিবেচনা করা যেতে পারে, কেবলমাত্র প্যাসিভ স্টপ লসের উপর নির্ভর করে না।
পজিশন ম্যানেজমেন্ট লজিক যুক্ত করুনবর্তমান কৌশলটি একটি নির্দিষ্ট শতাংশের তহবিল ব্যবস্থাপনা ব্যবহার করে, স্থিতিশীলতা বা সংকেত শক্তির উপর ভিত্তি করে পজিশন আকারের পরিবর্তনশীলতা বিবেচনা করা যেতে পারে, আরও নিশ্চিত ট্রেডিংয়ে পজিশন বাড়ানো এবং উচ্চ অনিশ্চয়তার ট্রেডিংয়ে ঝুঁকির ফাঁক হ্রাস করা যায়।
মাল্টি টাইম ফ্রেম ওয়েভ ট্রেন্ড ট্র্যাকার কৌশলটি একটি সুনির্দিষ্টভাবে ডিজাইন করা ট্রেন্ড ট্র্যাকিং সিস্টেম যা মাল্টি টাইম ফ্রেম ওয়েভট্রেন্ড সূচকগুলির সমন্বয়মূলক কার্যকারিতা, নমনীয় ট্র্যাকিং স্টপ লস মেশিনের সাথে মিলিত হয়ে কার্যকরভাবে বাজার প্রবণতা ক্যাপচার করে এবং ঝুঁকি নিয়ন্ত্রণ করে। এই কৌশলটির প্রধান সুবিধা হ’ল এর বিস্তৃত বাজার দৃষ্টিভঙ্গি এবং গতিশীল ঝুঁকি ব্যবস্থাপনার পদ্ধতি, তবে এটি ওলটপালট বাজারে চ্যালেঞ্জের মুখোমুখি হতে পারে। গতিশীল প্যারামিটারগুলি সামঞ্জস্য করার জন্য এবং অতিরিক্ত ফিল্টার শর্ত যুক্ত করার জন্য আরও সময় ফ্রেমটি অপ্টিমাইজ করার মাধ্যমে কৌশলটি আরও স্থিতিশীল এবং অভিযোজিত ট্রেডিং সিস্টেম হওয়ার সম্ভাবনা রয়েছে। পেশাদার ব্যবসায়ীদের জন্য, এটি একটি গভীর গবেষণা এবং কাস্টমাইজড ট্রেন্ড ট্র্যাকিং ফ্রেমওয়ার্ক।
/*backtest
start: 2024-07-07 00:00:00
end: 2024-11-28 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("WT-FLOW: MTF WaveTrend Trend-Follower", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === WaveTrend Fonksiyonu ===
waveTrend(_src, _n1, _n2) =>
esa = ta.ema(_src, _n1)
d = ta.ema(math.abs(_src - esa), _n1)
ci = (_src - esa) / (0.015 * d)
wt1 = ta.ema(ci, _n2)
wt2 = ta.sma(wt1, 4)
[wt1, wt2]
// === Giriş Fiyatı ve Maksimum Kazanç Değişkenleri ===
var float longEntryPrice = na
var float shortEntryPrice = na
var float maxGainLong = 0.0
var float maxGainShort = 0.0
var int longEntryBar = na
var int shortEntryBar = na
var string currentPosition = ""
// === WT Değerlerini Al (Farklı Zaman Dilimleri) ===
var int n1 = 10
var int n2 = 21
ap = hlc3
[wt1_15, wt2_15] = waveTrend(ap, n1, n2)
[wt1_30, wt2_30] = request.security(syminfo.tickerid, "30", waveTrend(ap, n1, n2))
[wt1_60, wt2_60] = request.security(syminfo.tickerid, "60", waveTrend(ap, n1, n2))
// === Kullanıcı Girdileri: Trailing Stop Parametreleri ===
marginStopPerc = input.float(2.0, "Marjinal Stop (%)")
trailTriggerPerc = input.float(1.5, "Trailing Tetikleyici (%)")
trailFollowPerc = input.float(0.8, "Trailing Takip (%)")
trailMaxDropPerc = input.float(3.0, "Maksimum Düşüş (%)")
// === ATR için tr hesaplaması ===
tr = ta.tr(true)
// === Sinyal Koşulları ===
trendUp = wt1_30 > wt2_30
trendDown = wt1_30 < wt2_30
entryLong = ta.crossover(wt1_15, wt2_15) and wt1_15 > -60 and trendUp
entryShort = ta.crossunder(wt1_15, wt2_15) and wt1_15 < 20 and trendDown
// === Pozisyon Girişleri ===
if entryLong and currentPosition != "Long"
strategy.entry("Long", strategy.long)
longEntryPrice := close
maxGainLong := 0.0
longEntryBar := bar_index
currentPosition := "Long"
label.new(bar_index, high + 2 * tr, "🟢 Giriş Long #" + str.tostring(bar_index), style=label.style_label_up, color=color.green, textcolor=color.white)
if entryShort and currentPosition != "Short"
strategy.entry("Short", strategy.short)
shortEntryPrice := close
maxGainShort := 0.0
shortEntryBar := bar_index
currentPosition := "Short"
label.new(bar_index, low - 2 * tr, "🔴 Giriş Short #" + str.tostring(bar_index), style=label.style_label_down, color=color.red, textcolor=color.white)
// === Trailing Stop ve Marjinal Stop Seviyeleri ===
if currentPosition == "Long" and not na(longEntryPrice)
gainFromEntry = (close - longEntryPrice) / longEntryPrice * 100
maxGainLong := math.max(maxGainLong, gainFromEntry)
trailTriggerReached = gainFromEntry >= trailTriggerPerc
trailStop = close * (1 - trailFollowPerc / 100)
dropStop = longEntryPrice * (1 + (maxGainLong - trailMaxDropPerc) / 100)
finalStop = trailTriggerReached ? math.max(trailStop, dropStop) : longEntryPrice * (1 - marginStopPerc / 100)
if close <= finalStop
strategy.close("Long")
label.new(bar_index, low - 2 * tr, "❅ Çıkış Long #" + str.tostring(longEntryBar), style=label.style_label_down, color=color.red, textcolor=color.white)
longEntryPrice := na
longEntryBar := na
currentPosition := ""
if currentPosition == "Short" and not na(shortEntryPrice)
gainFromEntryShort = (shortEntryPrice - close) / shortEntryPrice * 100
maxGainShort := math.max(maxGainShort, gainFromEntryShort)
trailTriggerReachedShort = gainFromEntryShort >= trailTriggerPerc
trailStopShort = close * (1 + trailFollowPerc / 100)
dropStopShort = shortEntryPrice * (1 - (maxGainShort - trailMaxDropPerc) / 100)
finalStopShort = trailTriggerReachedShort ? math.min(trailStopShort, dropStopShort) : shortEntryPrice * (1 + marginStopPerc / 100)
if close >= finalStopShort
strategy.close("Short")
label.new(bar_index, high + 2 * tr, "❄ Çıkış Short #" + str.tostring(shortEntryBar), style=label.style_label_up, color=color.green, textcolor=color.white)
shortEntryPrice := na
shortEntryBar := na
currentPosition := ""