ATR এবং উদ্বায়ীতা সূচকের উপর ভিত্তি করে প্রবণতা অনুসরণ করা কৌশল


সৃষ্টির তারিখ: 2024-01-04 15:31:34 অবশেষে সংশোধন করুন: 2024-01-04 15:31:34
অনুলিপি: 1 ক্লিকের সংখ্যা: 590
1
ফোকাস
1621
অনুসারী

ATR এবং উদ্বায়ীতা সূচকের উপর ভিত্তি করে প্রবণতা অনুসরণ করা কৌশল

ওভারভিউ

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

কৌশল নীতি

  1. এটিআর ব্যবহার করে, আপনি আপনার বাক্সের আকারের হিসাব করতে পারেন, রাইপোক চ্যানেল তৈরি করতে পারেন, এবং দামের প্রবণতা নির্ধারণ করতে পারেন।
  2. CHOP সূচক ব্যবহার করে বাজারটি ট্রেড করার জন্য উপযুক্ত কিনা তা নির্ধারণ করুন, এটি সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য এবং এটিআর যুক্ত করে, যখন এটি 38.2-61.8 এর মধ্যে থাকে তখন বাজারটি ধীর গতিতে থাকে; অন্যথায় বাজারটি বড় ওঠানামা করে এবং ট্রেড করা উচিত নয়।
  3. যখন CHOP সূচকটি 61.8 এর উপরের ট্র্যাক থেকে নীচে নেমে আসে, তখন দামগুলি একটি নেমে যাওয়ার প্রবণতাতে প্রবেশ করে, এবং যদি স্বল্পমেয়াদী দ্রুত EMA দামের নেতৃত্বও দেখায় তবে এটি খালি করে; বিপরীতভাবে যখন CHOP 38.2 এর নীচের ট্র্যাক থেকে উপরে উঠে যায় এবং স্বল্পমেয়াদী EMA দাম বাড়িয়ে তোলে।
  4. স্টপ-স্টপ স্ট্র্যাটেজি ব্যবহার করে, যখন দাম CHOP-এর 38.2-61.8 এর ব্যান্ডেড অঞ্চলে ফিরে আসে তখন স্টপ-স্টপ বা স্টপ-স্টপ।

কৌশলগত শক্তি বিশ্লেষণ

এই কৌশলটি প্রবণতা বিচার এবং অস্থিরতা নিয়ন্ত্রণের সাথে মিলিত হয়, যা মূল্যের প্রবণতাকে ক্যাপচার করে এবং ঝুঁকি নিয়ন্ত্রণ করে, যা একটি অপেক্ষাকৃত স্থিতিশীল প্রবণতা ট্র্যাকিং কৌশল।

  1. এটিআর দ্বারা নির্মিত রিপোক চ্যানেল ব্যবহার করে, মূল্যের প্রবণতা কার্যকরভাবে ট্র্যাক করা যায়।
  2. CHOP সূচকটি বাজারের ওঠানামা বোঝায় এবং তীব্র ওঠানামার মধ্যে ভুল লেনদেন এড়ায়।
  3. দ্রুত ইএমএ দ্বারা সংযুক্ত, স্বল্পমেয়াদী প্রবণতা দিক নির্ণয় করা, বিপরীত অপারেশন এড়ানো
  4. স্টপ লস স্ট্র্যাটেজি একক ক্ষতি নিয়ন্ত্রণ করে।

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

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

  1. কম্পনের ক্ষেত্রে, এটিআর চ্যানেল এবং সিওপিএসের সূচকগুলি ভুল সংকেত তৈরি করতে পারে। ভুল সংকেত অপসারণের জন্য প্যারামিটারগুলি যথাযথভাবে সামঞ্জস্য করা যেতে পারে।
  2. একটি একক প্রযুক্তিগত সূচক প্যাকেজ সম্পূর্ণরূপে ক্ষতি এড়াতে পারে না এবং বড় প্রবণতা নির্ধারণের জন্য মানুষের হস্তক্ষেপ প্রয়োজন।
  3. স্টপ লস পজিশনটি খুব হালকাভাবে সেট করা হয়েছে, একক ক্ষতি খুব বেশি হতে পারে। স্টপ লস প্রস্থটি যথাযথভাবে হ্রাস করা উচিত।

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

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

  1. অন্যান্য সহায়ক সূচকগুলি সংকেতগুলি যেমন কে লাইন আকৃতি, ট্র্যাফিক পরিমাণ ইত্যাদি যুক্ত করে সংকেতের নির্ভুলতা বাড়ায়।
  2. ATR এবং CHOP এর প্যারামিটারগুলিকে অপ্টিমাইজ করা হয়েছে যাতে এটি মূল্যের অস্থিরতাকে আরও ভালভাবে ধরতে পারে।
  3. ডায়নামিক স্টপ-ডাউন অবস্থান সেট করুন, যাতে স্টপ-ডাউন স্পেস আরও বড় এবং স্টপ-ডাউন আরও দ্রুত হয়।
  4. ট্রেন্ডের বড় স্তরে বিচার করার পর, ট্রেন্ডের মধ্যে আরও বেশি লাভ অর্জনের জন্য যথাযথভাবে স্টপ লস স্পেসে প্রশস্ত করুন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © sharatgbhat

//@version=4
strategy("Weis Chop Strategy", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 10,max_lines_count = 500, max_labels_count = 500)
maxIdLossPcnt = input(1, "Max Intraday Loss(%)", type=input.float)
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

method = input(defval="ATR", options=["ATR", "Traditional", "Part of Price"], title="Renko Assignment Method")
methodvalue = input(defval=14.0, type=input.float, minval=0, title="Value")
pricesource = input(defval="Close", options=["Close", "Open / Close", "High / Low"], title="Price Source")
useClose = pricesource == "Close"
useOpenClose = pricesource == "Open / Close" or useClose
useTrueRange = input(defval="Auto", options=["Always", "Auto", "Never"], title="Use True Range instead of Volume")
isOscillating = input(defval=false, type=input.bool, title="Oscillating")
normalize = input(defval=false, type=input.bool, title="Normalize")
vol = useTrueRange == "Always" or useTrueRange == "Auto" and na(volume) ? tr : volume
op = useClose ? close : open
hi = useOpenClose ? close >= op ? close : op : high
lo = useOpenClose ? close <= op ? close : op : low

if method == "ATR"
    methodvalue := atr(round(methodvalue))
if method == "Part of Price"
    methodvalue := close / methodvalue

currclose = float(na)
prevclose = nz(currclose[1])
prevhigh = prevclose + methodvalue
prevlow = prevclose - methodvalue
currclose := hi > prevhigh ? hi : lo < prevlow ? lo : prevclose

direction = int(na)
direction := currclose > prevclose ? 1 : currclose < prevclose ? -1 : nz(direction[1])
directionHasChanged = change(direction) != 0
directionIsUp = direction > 0
directionIsDown = direction < 0

barcount = 1
barcount := not directionHasChanged and normalize ? barcount[1] + barcount : barcount
vol := not directionHasChanged ? vol[1] + vol : vol
res = barcount > 1 ? vol / barcount : vol

plot(isOscillating and directionIsDown ? -res : res, style=plot.style_columns, color=directionIsUp ? color.green : color.red, transp=75, linewidth=3, title="Wave Volume")

length = input(14, minval=1)
ci = 100 * log10(sum(atr(1), length) / (highest(length) - lowest(length))) / log10(length)
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(ci, "CHOP", color=#2962FF, offset = offset)
band1 = hline(61.8, "Upper Band", color=#787B86, linestyle=hline.style_dashed)
band0 = hline(38.2, "Lower Band", color=#787B86, linestyle=hline.style_dashed)
fill(band1, band0, color = color.rgb(33, 150, 243, 90), title = "Background")

MomentumBull = close>ema(close,8)
MomentumBear = close<ema(close,8)
Tradecon = crossunder(ci,61.8)

if (MomentumBull and directionIsUp and Tradecon)
	strategy.entry("Buy", strategy.long)
if (MomentumBear and directionIsDown and Tradecon )
    strategy.entry("Sell", strategy.short)
    strategy.exit("exit","Buy",when=directionIsDown,qty_percent=100,profit=20,loss=10)
    strategy.exit("exit","Sell",when=directionIsUp,qty_percent=100,profit=20,loss=10)