দ্বিমুখী সুপারট্রেন্ড কৌশল


সৃষ্টির তারিখ: 2023-10-08 15:02:45 অবশেষে সংশোধন করুন: 2023-10-08 15:02:45
অনুলিপি: 0 ক্লিকের সংখ্যা: 676
1
ফোকাস
1617
অনুসারী

ওভারভিউ

এই কৌশলটি এটিআর সূচকের উপর ভিত্তি করে বর্তমান ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করে এবং এটির উপর ভিত্তি করে বর্তমান ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করে এবং এটির উপর ভিত্তি করে একটি ক্রয় এবং বিক্রয় সংকেত দেয়। দামটি যখন উচ্চতর হয় তখন এটির উপর নির্ভর করে এবং যখন দামটি নিম্নতর হয় তখন এটির উপর নির্ভর করে।

কৌশল নীতি

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

সামর্থ্য বিশ্লেষণ

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

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

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

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

  • এটিআর চক্রের প্যারামিটারগুলিকে গতিশীলভাবে অনুকূলিতকরণের বিষয়টি বিবেচনা করা যেতে পারে যাতে বাজার ওঠানামা আরও ভালভাবে সামঞ্জস্য করতে পারে
  • বিভিন্ন জাতের বিভিন্ন সময়ের জন্য প্যারামিটার সমন্বয় কৌশলগুলি গবেষণা করা যেতে পারে
  • অন্যান্য সূচকগুলির সাথে প্রবণতা নির্ণয় করা যায়, যেমন পরিমাণ বৃদ্ধি এবং মূল্য নিশ্চিতকরণ
  • মেশিন লার্নিং প্রযুক্তির মাধ্যমে প্যারামিটার সেটিং অপ্টিমাইজ করা যায়

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 3d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

TradeId = "RVG"

InitCapital = 1000
InitPosition = 1000
InitCommission = 0.075
InitPyramidMax = 1
CalcOnorderFills = true
CalcOnTick = true

//@version=4
// strategy("Supertrend RG", overlay = true,process_orders_on_close=true,commission_type=strategy.commission.percent,commission_value=InitCommission,
//  currency=currency.USD,initial_capital=InitCapital,default_qty_type=strategy.cash, default_qty_value=InitPosition, calc_on_order_fills=CalcOnorderFills, calc_on_every_tick=CalcOnTick,pyramiding=InitPyramidMax)

//
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE

// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2018, title="From Year", minval=1970)

// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=1, title="To Month", minval=1, maxval=12)
toYear = input(defval=2100, title="To Year", minval=1970)

// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = 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=true)
highlighting = input(title="Highlighter 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)
alertcondition(buySignal, title="SuperTrend Buy", message="SuperTrend Buy!")
alertcondition(sellSignal, title="SuperTrend Sell", message="SuperTrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="SuperTrend Direction Change", message="SuperTrend has changed direction!")


strategy.entry(TradeId + " Long", true, when=buySignal[1] and time_cond)
strategy.entry(TradeId + " Short", false, when=sellSignal[1] and time_cond)