গতিশীল ট্রেইলিং স্টপ সহ কৌশল অনুসরণ করে কোণ-ভিত্তিক VWMA প্রবণতা

VWMA EMA MA PVSRA Angle BIAS
সৃষ্টির তারিখ: 2025-02-18 13:42:01 অবশেষে সংশোধন করুন: 2025-02-18 13:42:01
অনুলিপি: 2 ক্লিকের সংখ্যা: 356
1
ফোকাস
1617
অনুসারী

গতিশীল ট্রেইলিং স্টপ সহ কৌশল অনুসরণ করে কোণ-ভিত্তিক VWMA প্রবণতা

ওভারভিউ

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

কৌশল নীতি

কৌশলটির মূল যুক্তি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করে:

  1. প্রধান প্রবণতা সূচক হিসেবে 25 চক্রের VWMA ব্যবহার করা হয়েছে
  2. 8 পিরিয়ড ভিডাব্লুএমএ দ্বারা দ্রুত সংকেত লাইন হিসাবে
  3. 50 চক্রের ইএমএ ব্যবহার করে দীর্ঘমেয়াদী প্রবণতা নির্ধারণ করা
  4. 50 পিরিয়ড EMA এর কোণ গণনা করুন ((45 ডিগ্রি থ্রেশহোল্ড সেট করুন)
  5. বাজার বিচ্যুতি ফিল্টার হিসাবে 200 চক্রের ইএমএ এন্ট্রি সিগন্যালটি দ্রুত চলমান গড়ের সাথে প্রধান ভিডাব্লুএমএর ক্রস হওয়ার সময় ট্রিগার করা হয় এবং দামের কোণটি শর্ত পূরণ করে। কৌশলটি 1% গতিশীল ট্র্যাকিং স্টপ লস দিয়ে মুনাফা রক্ষা করে।

কৌশলগত সুবিধা

  1. একাধিক টাইমফ্রেম যাচাইকরণ - কৌশলটি H1 এর উপরে এবং M1 টাইমফ্রেমে ভাল কাজ করে
  2. অ্যাঙ্গেল ফিল্টারিং - মূল্য আন্দোলনের অ্যাঙ্গেলের শর্তগুলি প্রবর্তন করে মিথ্যা ব্রেকআউট হ্রাস করে
  3. দুর্দান্ত ঝুঁকি ব্যবস্থাপনা - স্টপ লস ট্র্যাকিং, ডায়নামিক প্রটেকশন প্রফিট ব্যবহার করে
  4. অভিযোজনযোগ্যতা - বিভিন্ন বাজারের অবস্থার সাথে সামঞ্জস্য করতে প্যারামিটারগুলি সামঞ্জস্য করতে পারে
  5. প্রবণতা নিশ্চিতকরণ সম্পূর্ণ - একাধিক চলমান গড় ব্যবহার করে ক্রস-নিশ্চিত প্রবণতা

কৌশলগত ঝুঁকি

  1. অস্থির বাজার দুর্বল - প্রায়শই মিথ্যা সংকেত হতে পারে
  2. প্রবেশের সময় বিলম্বিত - একাধিক নিশ্চিতকরণের ব্যবহারের কারণে প্রবণতার প্রথম দিকে কিছু সুযোগ মিস হতে পারে
  3. M15 টাইমফ্রেমটি কার্যকর নয় - এই টাইমফ্রেমটি এড়িয়ে চলুন
  4. প্যারামিটার সংবেদনশীলতা - কোণ থ্রেশহোল্ড এবং চলমান গড়ের সময়কালের পছন্দগুলি কৌশলটির কার্যকারিতার উপর প্রভাব ফেলে
  5. ট্র্যাকিং স্টপগুলি অল্প সময়ের জন্য প্রয়োগ করা যেতে পারে - বিপুল অস্থিরতার বাজারে অল্প সময়ের জন্য স্টপ হতে পারে

কৌশল অপ্টিমাইজেশনের দিকনির্দেশনা

  1. উদ্বায়ীতা স্ব-অনুকূলিতকরণ ব্যবস্থা প্রবর্তন করা - বাজার ওঠানামা অনুযায়ী গতিশীল সমন্বয় ট্র্যাকিং স্টপ লস শতাংশ
  2. ট্রানজিট ফিল্টার বৃদ্ধি করুন - ট্রানজিট নিশ্চিতকরণের মাধ্যমে সংকেতের গুণমান উন্নত করুন
  3. অপ্টিমাইজড কোণ গণনা পদ্ধতি - স্বনির্ধারিত কোণ থ্রেশহোল্ড ব্যবহার বিবেচনা করুন
  4. মার্কেট স্ট্যাটাস আইডেন্টিফিকেশনে যোগদান - ট্রেন্ড / ঝড়ের বাজার আইডেন্টিফিকেশন প্রক্রিয়া বিকাশ করুন
  5. আউটপুট প্রক্রিয়া উন্নত করুন - দামের আকৃতি এবং গতিশীল সূচকগুলির সাথে আউটপুট সময়কে অনুকূলিত করুন

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-02-18 00:00:00
end: 2024-10-16 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("PVSRA Trailing Strategy with Angle Condition (40-50 degrees)", overlay=true)

// === INPUTS ===
priceData = input.source(close, title="Price Data")
maLength  = input.int(25, title="Moving Average Length", minval=2)
useBias   = input.bool(false, title="Long/Short just above/below 200 EMA")
useTrailing = input.bool(true, title="Use Trailing Stop")
trailPerc  = input.float(1.0, title="Trailing Stop Percentage", minval=0.1)
anglePeriod = input.int(14, title="Period for Angle Calculation", minval=1)

// === CÁLCULOS ===
maValue = ta.vwma(priceData, maLength)
maLong  = ta.ema(high, 50)
maShort = ta.ema(low, 50)
maFast  = ta.vwma(close, 8)
bias    = ta.ema(close, 200)
longBias  = useBias ? close > bias : true
shortBias = useBias ? close < bias : true

// === CÁLCULO DO ÂNGULO DA MÉDIA MÓVEL DE 50 ===
ma50 = ta.ema(close, 50)
angle = math.atan((ma50 - ma50[anglePeriod]) / anglePeriod) * (180 / math.pi)  // Converte radianos para graus

// === CONDIÇÃO DE ÂNGULO ===
validAngleL = angle >= 45
validAngleS = angle <= 45

// === PLOTS ===
plot(maValue, color=color.orange, title="Moving Average")
plot(maFast, color=color.green, title="Fast MA")
plot(ma50, color=color.blue, title="50 EMA")

plotshape(series=(strategy.position_size > 0) ? maValue : na,
     color=color.red, style=shape.circle, location=location.absolute,
     title="Long Stop")

plotshape(series=(strategy.position_size < 0) ? maValue : na,
     color=color.red, style=shape.cross, location=location.absolute,
     title="Short Stop")

// === CONDIÇÕES DE ENTRADA ===
enterLong  = close > maValue and ta.crossover(maFast, maValue) and close > maLong and longBias and validAngleL
enterShort = close < maValue and ta.crossunder(maFast, maValue) and close < maShort and shortBias and validAngleS

// === CONDIÇÕES DE SAÍDA ===
exitLong  = ta.crossunder(maFast, maValue) and strategy.position_size > 0
exitShort = ta.crossover(maFast, maValue) and strategy.position_size < 0

// === EXECUÇÃO DA ESTRATÉGIA ===
if (enterLong)
    strategy.entry("EL", strategy.long)

if (enterShort)
    strategy.entry("ES", strategy.short)

if (exitLong or exitShort)
    strategy.close_all()

// === TRAILING STOP ===
if (useTrailing and strategy.position_size > 0)
    trailPrice = close * (1 - trailPerc / 100)
    strategy.exit("Trailing Long", from_entry="EL", stop=trailPrice)

if (useTrailing and strategy.position_size < 0)
    trailPrice = close * (1 + trailPerc / 100)
    strategy.exit("Trailing Short", from_entry="ES", stop=trailPrice)