ক্রয় এবং বিক্রয় কৌশল অনুসরণকারী প্রবণতা

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

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

কৌশলটি প্রবণতা দিক নির্ধারণের জন্য সহজ চলমান গড় (এসএমএ) ব্যবহার করে। একটি আপট্রেন্ডে, যখন মোমবাতি কর্ম একটি dip প্রস্তাব করে, যখন বর্তমান মোমবাতির উচ্চতা পূর্ববর্তী মোমবাতির উচ্চতা ভঙ্গ করে তখন কৌশলটি দীর্ঘ হবে। একটি ডাউনট্রেন্ডে, যখন মোমবাতি কর্ম একটি blip প্রস্তাব করে, যখন বর্তমান মোমবাতি কর্মের সর্বনিম্নটি পূর্ববর্তী মোমবাতির সর্বনিম্নটি ভঙ্গ করে তখন কৌশলটি সংক্ষিপ্ত হবে।

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

কৌশলটি শুধুমাত্র লং, শুধুমাত্র শর্ট, বা উভয়ই যেতে পারে। শুরু মাস এবং বছর সেই বিন্দু থেকে এখন পর্যন্ত ব্যাকটেস্টিংয়ের অনুমতি দেয়। সমস্ত পরামিতি যেমন এসএমএ সময়কাল, % কে সময়কাল, % ডি সময়কাল, এমএসিডি পরামিতি ইত্যাদি কাস্টমাইজযোগ্য।

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

  • প্রবণতা নির্ধারণের জন্য এসএমএ ব্যবহার করা হুইপস এবং ভুল ট্রেডগুলি এড়ায়
  • Blanchflower Oscillator প্রয়োগ সময়মত ট্রেন্ড বিপরীত সনাক্ত এবং ঝুঁকি নিয়ন্ত্রণ
  • ম্যাকডি এবং সিগন্যাল ফিল্টার প্রবণতার বিপরীতে গোলমাল ব্যবসায় হ্রাস করে
  • কাস্টমাইজযোগ্য পরামিতিগুলি বিভিন্ন মূল্য আচরণের সাথে খাপ খায়
  • শুধুমাত্র লং, শুধুমাত্র শর্ট বা দ্বিমুখী ট্রেডিং বাজার ব্যবস্থার সাথে মানিয়ে নেয়

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

এই কৌশলটির প্রধান ঝুঁকিগুলি হলঃ

  • এসএএমএ এর বিশাল অনুপ্রবেশ থেকে বড় ক্ষতির ঝুঁকি। এসএএমএ সময়কাল বাড়াতে পারে ঝুঁকি কম করতে।
  • ব্যাপ্তি-সীমাবদ্ধ বাজারে ঘন ঘন ট্রেডিং এবং ওভারট্রেডিং। ট্রেডিং ফ্রিকোয়েন্সি কমাতে %K সময় বাড়াতে পারে।
  • ম্যাকডি এবং সিগন্যাল প্যারামিটার সেটিং থেকে অকার্যকর ফিল্টারিং।
  • ডুয়াল ডাইরেকশন ট্রেডিংয়ের ফলে বড় পজিশনের পরিমাণ হ্রাস পেয়েছে।

উন্নতির সুযোগ

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

  • প্রবণতা সনাক্তকরণ ক্ষমতা বজায় রেখে উইপসা ফিল্টার করতে এসএমএ সময়কাল অপ্টিমাইজ করুন
  • হুইপসা হ্রাস করার সময় প্রবণতা বিপরীত ক্যাপচার করতে %K, %D পরামিতি অপ্টিমাইজ করুন
  • আরও কার্যকর গোলমাল ফিল্টারিংয়ের জন্য MACD পরামিতিগুলি অপ্টিমাইজ করুন
  • পজিশন সাইজিং কন্ট্রোল যোগ করুন, উদাহরণস্বরূপ, স্থির পরিমাণ, মূলধনের চলমান শতাংশ ইত্যাদি।
  • স্টপ লস মেকানিজম যোগ করুন, যেমন ট্রেলিং স্টপ, টাইম স্টপ, এটিআর স্টপ ইত্যাদি।

সিদ্ধান্ত

ট্রেন্ড অনুসরণ কিনে এবং বিক্রয় কৌশল একটি সহজ এবং সরল যুক্তি আছে ট্রেড pullbacks প্রবণতা দ্বারা চিহ্নিত SMA এবং সূচক দ্বারা ফিল্টার। সূক্ষ্ম সমন্বয় পরামিতি এবং ঝুঁকি নিয়ন্ত্রণ শালীন ফলাফল হতে পারে, কিন্তু সংমিশ্রণ encapsulation এখনও overfit প্রতিরোধ এবং robustness উন্নত করার প্রয়োজন হয়। সামগ্রিকভাবে এটি একটি ব্যবহারিক intraday ট্রেডিং কৌশল।


/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Higher High / Lower Low Strategy", overlay=true)

// Getting inputs
longOnly = input(true, title="Long or Short Only")
useMACD = input(true, title="Use MACD Filter")
useSignal = input(true, title="Use Signal Filter")
//Filter backtest month and year
startMonth = input(10, minval=1, maxval=12, title="Month")
startYear = input(2020, minval=2000, maxval=2100, title="Year")
//Filter funtion inputs
periodA = input(20, minval=1, title="Period SMA")
periodK = input(5, minval=1, title="Period %K")
fast_length = input(title="Period Fast", type=input.integer, defval=5)
slow_length = input(title="Period Slow", type=input.integer, defval=20)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 30)

//Calculations
smoothD = 3 //input(3, minval=1, title="Smooth %D")
smoothK = 2 //input(2, minval=1, title="Smooth %K")
ma50 = sma(close, periodA)
k = sma(stoch(close, high, low, periodK), smoothK) - 50
d = sma(k, smoothD)
macd = ema(close,fast_length) - ema(close,slow_length)
signal = ema(macd,signal_length)
hist = macd - signal

if (not na(k) and not na(d) and not na(macd) and not na(signal) and longOnly and month>=startMonth and year>=startYear)//	if(k > k[1] and k[2] >= k[1] and (ma50 > ma50[1]) and (not useK or k[1] <= -threshold_k) and (not useMACD or macd > macd[1]) and (not useSignal or signal > signal[1]) and (not useHHLL or close >= high[1]) and (not useD or d <= -threshold_d))
    if(high[2] >= high[1] and high > high[1] and (ma50 > ma50[1]) and (not useMACD or macd > macd[1]) and (not useSignal or signal > signal[1]))
		strategy.order("HH_LE", strategy.long, when=strategy.position_size == 0, comment="HH_LE")
    if (k < k[1])
		strategy.order("HH_SX", strategy.short, when=strategy.position_size != 0, comment="HH_SX")

if (not na(k) and not na(d) and not na(macd) and not na(signal) and not longOnly and month>=startMonth and year>=startYear)
    if(low[2] <= low[1] and low < low[1] and (ma50 < ma50[1]) and (not useMACD or macd < macd[1]) and (not useSignal or signal < signal[1]))
		strategy.order("HH_SE", strategy.short, when=strategy.position_size == 0, comment="HH_SE")
    if (k > k[1])
		strategy.order("HH_LX", strategy.long, when=strategy.position_size != 0, comment="HH_LX")

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


আরো