এটিআর এবং ভোলাটিলিটি ইনডেক্স ভিত্তিক ট্রেন্ড ট্র্যাকিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-01-04 15:31:34
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশল নীতি

  1. বাক্সের আকার গণনা করতে ATR ব্যবহার করুন এবং মূল্য প্রবণতা দিক নির্ধারণের জন্য Renko চ্যানেল তৈরি করুন।

  2. বাজারটি ট্রেডিংয়ের জন্য উপযুক্ত কিনা তা বিচার করার জন্য সিএইচওপি সূচকটি প্রয়োগ করুন। এই সূচকে সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য এবং এটিআর অন্তর্ভুক্ত রয়েছে। যখন এটি 38.2-61.8 এর মধ্যে থাকে, তখন এটি কম বাজারের অস্থিরতা নির্দেশ করে; অন্যথায়, এটি উচ্চ অস্থিরতা এবং অনুপযুক্ত ট্রেডিং বাজারের সংকেত দেয়।

  3. যখন সিএইচওপি সূচক 61.8 এর উপরের রেলটি ভেঙে দেয়, তখন দামটি নেমে যাওয়ার প্রবণতায় প্রবেশ করে। যদি স্বল্পমেয়াদী দ্রুত ইএমএও দেখায় যে দামটি নেতৃত্ব দিচ্ছে, তবে শর্ট যান। বিপরীতভাবে, যখন সিএইচওপি 38.2 এর নীচের রেলটি ভেঙে দেয় এবং স্বল্পমেয়াদী ইএমএ বৃদ্ধি পায়, তখন দীর্ঘ যান।

  4. স্টপ লস/টেক প্রফিট কৌশল ব্যবহার করুন। যখন মূল্য আবার 38.2-61.8 CHOP এর বেল্ট এলাকায় প্রবেশ করে, স্টপ লস বা লাভের সাথে অবস্থান বন্ধ করুন।

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

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

  1. এটিআর দ্বারা নির্মিত রেঙ্কো চ্যানেল কার্যকরভাবে দামের প্রবণতা ট্র্যাক করতে পারে।

  2. সিএইচওপি সূচকটি বাজারের অস্থিরতার হারকে মূল্যায়ন করে যাতে হিংস্র ওঠানামাতে ভুল ট্রেডিং এড়ানো যায়।

  3. স্বল্পমেয়াদী প্রবণতার দিকনির্দেশনা নির্ধারণের জন্য দ্রুত EMA একত্রিত করা বিপরীত অপারেশন এড়ায়।

  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)
    

আরো