দ্বিমুখী এমএ ট্রেলিং স্টপ লস কৌশল


সৃষ্টির তারিখ: 2023-11-16 17:18:59 অবশেষে সংশোধন করুন: 2023-11-16 17:18:59
অনুলিপি: 1 ক্লিকের সংখ্যা: 590
1
ফোকাস
1617
অনুসারী

দ্বিমুখী এমএ ট্রেলিং স্টপ লস কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটিhl2কে উৎস মূল্য হিসাবে ব্যবহার করে এবং একটি নির্দিষ্ট চক্রের জন্য এটিআরকে স্টপ লস হিসাবে গণনা করে। এটিআর মানের উপর ভিত্তি করে একটি নির্দিষ্ট গুণিতক দ্বারা উপরের এবং নীচের ট্রেলার গণনা করা হয়। যখন দামটি উপরের ট্রেলারটি অতিক্রম করে তখন একটি ক্রয় সংকেত তৈরি হয়। যখন দামটি নীচের ট্রেলারটি অতিক্রম করে তখন একটি বিক্রয় সংকেত তৈরি হয়।

পজিশন খোলার পরে, এটিআর এর রিয়েল-টাইম পরিবর্তনের উপর ভিত্তি করে স্টপ লেভেলটি সামঞ্জস্য করে, স্টপ ট্র্যাকিং বাস্তবায়ন করে। বিশেষত, যখন বেশি কাজ করা হয়, নীচের রেলটি সর্বশেষ সর্বনিম্ন পয়েন্টের উপর ভিত্তি করে ক্রমাগত আপগ্রেড করে, স্টপ ট্র্যাকিং বাস্তবায়ন করে; যখন খালি হওয়ার পরে, উপরের রেলটি সর্বশেষ উচ্চ পয়েন্টের উপর ভিত্তি করে ক্রমাগত ডাউনগ্রেড করে, স্টপ ট্র্যাকিং বাস্তবায়ন করে।

এইভাবে, এই কৌশলটি ট্রেডিংয়ের দিকনির্দেশের সঠিকতা নিশ্চিত করার পাশাপাশি ট্রেডিংয়ের ঝুঁকি নিয়ন্ত্রণের জন্য এটিআর-ভিত্তিক স্টপ লস ট্র্যাকিং মেশিন যুক্ত করে।

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

এই কৌশলটির সবচেয়ে বড় সুবিধা হ’ল ঝুঁকি নিয়ন্ত্রণ। traditionalতিহ্যবাহী চলমান গড় কৌশলটি কেবলমাত্র দিকনির্দেশনা বিবেচনা করে, পজিশনটি ভেঙে ফেলা সহজ। এই কৌশলটি এটিআর গণনার ট্র্যাকিং স্টপ লস যুক্ত করে, বাজারের ওঠানামার মাত্রা অনুযায়ী স্টপ লসকে গতিশীলভাবে সামঞ্জস্য করতে পারে, কার্যকরভাবে লেনদেনের ঝুঁকি নিয়ন্ত্রণ করে।

তদুপরি, এই কৌশলটি বহু-বাঁকা দ্বি-মুখী ব্যবসায়ের সাথে সংযুক্ত। একতরফা কৌশলগুলির তুলনায়, প্রবণতা পরিবর্তনের সময় সময়মত অবস্থানের দিকটি সামঞ্জস্য করতে পারে, একই দিকের আটকে থাকা এড়াতে এবং কৌশলটির আয় বাড়িয়ে তুলতে পারে।

কৌশলগত ঝুঁকি

এই কৌশলটির মূল ঝুঁকিটি হল এটিআর চক্র এবং গুণকের সেটিং। এটিআর চক্রটি খুব ছোট বা গুণকটি খুব বড় হলে, স্টপ ল্যাম্পটি ঝুঁকিটি কার্যকরভাবে নিয়ন্ত্রণ করতে অক্ষম হবে; এটিআর চক্রটি খুব দীর্ঘ বা গুণকটি খুব ছোট হলে, স্টপ ল্যাম্পটি খুব আরামদায়ক এবং লাভ করা কঠিন হবে। এছাড়াও, যখন দামটি চলমান গড়কে ভেঙে পজিশন তৈরির সংকেত দেয় তখন ভুয়া ব্রেকিংয়ের ঝুঁকিও থাকতে পারে।

প্যারামিটার চক্র এবং গুণককে অনুকূলিতকরণের মাধ্যমে স্টপ লস লাভের ভারসাম্য বজায় রাখা যায়। অন্যান্য সূচকগুলির সাথে মিলিত হয়ে, মিথ্যা ব্রেকআপগুলি ফিল্টার করে, সংকেতের গুণমান উন্নত করে এবং ঝুঁকি হ্রাস করে।

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

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

  1. চলমান গড়ের চক্রের অপ্টিমাইজেশন, সর্বোত্তম প্যারামিটার সমন্বয় খুঁজুন

  2. সংকেতের গুণমান উন্নত করার জন্য MACD, KDJ ইত্যাদির মতো অন্যান্য সূচক ফিল্টার যুক্ত করুন

  3. পজিশন ম্যানেজমেন্ট কৌশল যেমন ফিক্সড শেয়ার, মার্টিনগেল ইত্যাদি বৃদ্ধি করুন, কৌশলগত উপার্জন বাড়ান

  4. বিভিন্ন প্রজাতির মধ্যে পার্থক্যের উপর গবেষণা করা যায়, যাতে প্যারামিটার অপ্টিমাইজ করা যায়

  5. মেশিন লার্নিং পদ্ধতি যেমন জেনেটিক্যাল অ্যালগরিদমের সাথে প্যারামিটার প্রশিক্ষণের অপ্টিমাইজেশান যুক্ত করা যায়

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*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)