এই কৌশলটি দ্বৈত চলমান গড়ের মাধ্যমে দীর্ঘ এবং সংক্ষিপ্ত সংকেত উত্পন্ন করে এবং স্টপ লস ট্র্যাকিং বাস্তবায়ন করে। মূল ধারণাটি হল চলমান গড়ের সাথে প্রবণতা দিক নির্ধারণ করা, প্রবণতা বরাবর দীর্ঘ বা সংক্ষিপ্ত যেতে এবং স্টপ লস ট্র্যাকিংয়ের জন্য স্টপ লস গণনা করতে এটিআর ব্যবহার করা।
এই কৌশলটি উত্স মূল্য হিসাবে hl2 ব্যবহার করে এবং স্টপ লস পরিসীমা হিসাবে একটি নির্দিষ্ট সময়ের ATR গণনা করে। উপরের এবং নীচের ব্যান্ডগুলি একটি নির্দিষ্ট ফ্যাক্টর দ্বারা গুণিত ATR এর উপর ভিত্তি করে গণনা করা হয়। যখন দাম উপরের ব্যান্ডের উপরে ভেঙে যায়, তখন লং যাওয়ার জন্য একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দাম নিম্ন ব্যান্ডের নীচে ভেঙে যায়, তখন শর্ট যাওয়ার জন্য একটি বিক্রয় সংকেত উত্পন্ন হয়।
ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং স্টপ লস ট্রেডিং
এই কৌশলটি ট্রেডিংয়ের দিকনির্দেশনা এবং ঝুঁকি নিয়ন্ত্রণ নিশ্চিত করতে ATR-এর উপর ভিত্তি করে স্টপ লস ট্র্যাকিং প্রক্রিয়া অন্তর্ভুক্ত করে।
এই কৌশলটির সবচেয়ে বড় সুবিধা হ'ল ঝুঁকি নিয়ন্ত্রণে। প্রচলিত চলমান গড় কৌশলগুলি কেবলমাত্র দিকনির্দেশক রায় বিবেচনা করে এবং সহজেই অ্যাকাউন্টগুলিকে উড়িয়ে দিতে পারে। স্টপ লস ট্র্যাকিংয়ের জন্য এটিআর অন্তর্ভুক্ত করে, এই কৌশলটি কার্যকরভাবে ট্রেডিং ঝুঁকি নিয়ন্ত্রণের জন্য বাজারের অস্থিরতার উপর ভিত্তি করে স্টপ লসকে গতিশীলভাবে সামঞ্জস্য করতে পারে।
এছাড়াও, এই কৌশলটি দ্বিমুখী ট্রেডিংকে একত্রিত করে। একমুখী কৌশলগুলির তুলনায়, এটি প্রবণতা বিপরীত হলে অবস্থান দিকগুলি দ্রুত সামঞ্জস্য করতে পারে, এক দিকের ফাঁদে পড়া এড়ানো এবং কৌশল লাভজনকতা উন্নত করে।
এই কৌশলটির প্রধান ঝুঁকিগুলি এটিআর সময়কাল এবং মাল্টিপ্লায়ারের প্যারামিটার সেটিং থেকে আসে। যদি এটিআর সময়কাল খুব ছোট বা মাল্টিপ্লায়ার খুব বড় হয় তবে ঝুঁকিগুলি কার্যকরভাবে নিয়ন্ত্রণ করার জন্য স্টপ লস পরিসীমা খুব ছোট হবে। যদি এটিআর সময়কাল খুব দীর্ঘ বা মাল্টিপ্লায়ার খুব ছোট হয় তবে লাভের জন্য স্টপ লস খুব আলগা হবে। এছাড়াও, দামগুলি চলমান গড়ের মধ্যে প্রবেশ করার সময় মিথ্যা ব্রেকআউটের ঝুঁকি রয়েছে।
এটিআর সময়কাল এবং গুণককে স্টপ লস এবং লাভের লক্ষ্যগুলির মধ্যে ভারসাম্য বজায় রাখতে এবং মিথ্যা ব্রেকআউটগুলি ফিল্টার করতে এবং সংকেতের গুণমান উন্নত করতে অন্যান্য সূচকগুলি অন্তর্ভুক্ত করে ঝুঁকিগুলি পরিচালনা করা যেতে পারে।
এই কৌশল নিম্নলিখিত দিক থেকে উন্নত করা যেতে পারেঃ
সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে চলমান গড় সময়ের অপ্টিমাইজ করুন।
সিগন্যাল ফিল্টার করতে এবং মান উন্নত করতে এমএসিডি, কেডিজে ইত্যাদির মতো অন্যান্য সূচক যুক্ত করুন।
মুনাফা বৃদ্ধির জন্য স্থির ভগ্নাংশ, মার্টিনগেল ইত্যাদির মতো পজিশন সাইজিং অন্তর্ভুক্ত করুন।
অপ্টিমাইজেশনের জন্য বিভিন্ন পণ্যের মধ্যে পার্থক্য গবেষণা পরামিতি।
প্যারামিটার প্রশিক্ষণ এবং অপ্টিমাইজেশনের জন্য জেনেটিক অ্যালগরিদমের মতো মেশিন লার্নিং প্রয়োগ করুন।
এই কৌশলটি প্রবণতা বিচার এবং ঝুঁকি নিয়ন্ত্রণকে পুরোপুরি বিবেচনা করে, ড্রাউনডাউন হ্রাস করার সময় মুনাফা অর্জন করে। প্যারামিটার অপ্টিমাইজেশন এবং পোর্টফোলিও পদ্ধতির মাধ্যমে আরও উন্নতি কৌশল লাভজনকতা উন্নত করতে সহায়তা করতে পারে। সংক্ষেপে, এটি একটি শক্তিশালী এবং স্থিতিশীল পরিমাণগত ট্রেডিং কৌশল যা স্পষ্ট যুক্তি এবং সহজ বাস্তবায়ন সহ।
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 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/ // © KivancOzbilgic //@version=4 strategy("Trenbolone Strategy", overlay = true) Periods = input(title="ATR Period", type=input.integer, defval=10) src = input(hl2, title="Source") Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=false) highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true) barcoloring = input(title="Bar Coloring On/Off ?", type=input.bool, defval=true) atr2 = sma(tr, Periods) atr= changeATR ? atr(Periods) : atr2 up=src-(Multiplier*atr) up1 = nz(up[1],up) up := close[1] > up1 ? max(up,up1) : up dn=src+(Multiplier*atr) dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green) buySignal = trend == 1 and trend[1] == -1 plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0) plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0) dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red) sellSignal = trend == -1 and trend[1] == 1 plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0) plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0) mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0) longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor) fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor) FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 999) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 999) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false longCondition = buySignal if (longCondition) strategy.entry("BUY", strategy.long, when = window()) shortCondition = sellSignal if (shortCondition) strategy.entry("SELL", strategy.short, when = window()) buy1 = barssince(buySignal) sell1 = barssince(sellSignal) color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na barcolor(barcoloring ? color1 : na)