অস্থিরতা মূল্য চ্যানেল মুভিং এভারেজ ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-12-12 11:44:15 অবশেষে সংশোধন করুন: 2023-12-12 11:44:15
অনুলিপি: 0 ক্লিকের সংখ্যা: 552
1
ফোকাস
1621
অনুসারী

অস্থিরতা মূল্য চ্যানেল মুভিং এভারেজ ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি সুপারট্রেন্ড এবং প্রাইস চ্যানেলের উপর ভিত্তি করে এবং সমান্তরাল সংকেতের সাথে ট্রেড করে। এর মূল ধারণাটি হ’ল দামের চ্যানেলটি ব্যবহার করে বর্তমান মূল্যটি অস্বাভাবিক অবস্থায় রয়েছে কিনা তা নির্ধারণ করা, সুপারট্রেন্ডটি বর্তমান প্রবণতার দিকনির্দেশনা নির্ধারণ করে এবং সমান্তরাল সংকেতের সাথে ট্রেডিং সংকেত তৈরি করে।

কৌশল নীতি

  1. সুপার ট্রেন্ডিং সূচকটি গণনা করুন। যেখানে আপ ট্রেল লাইন এবং ডাউন ট্রেল লাইনটি বর্তমান মূল্যের N গুণ বেশি এবং এটিআর সূচকটি বাদ দেওয়া হয়। যখন দামটি আপ ট্রেলের উপরে থাকে তখন এটি একটি উত্সাহী এবং যখন দামটি ডাউন ট্রেলের নীচে থাকে তখন এটি একটি পতনশীল।

  2. মূল্য চ্যানেল সূচক গণনা করুন। যেখানে মূল্য চ্যানেল লাইনটি দামের N দিনের স্ট্যান্ডার্ড পার্থক্যের M গুণ। দামগুলি চ্যানেল লাইনের উপরে / নীচে একটি অস্বাভাবিক অবস্থা হিসাবে বিবেচিত হয়।

  3. গড় রেখা গণনা করুন। খোলা দাম, বন্ধ দাম এবং সুপার ট্রেন্ডের গড়।

  4. ট্রেডিং সিগন্যাল তৈরি করেঃ

    • ক্রয় সংকেতঃ সুপার ট্রেন্ড লাইন অতিক্রম করে এবং ওপেনিং গড়ের চেয়ে ওপেন

    • বিক্রয় সংকেতঃ সুপার ট্রেন্ড লাইনটি বন্ধের দামের নীচে এবং ওপেনের গড়ের নীচে

  5. স্টপ লস স্টপ প্রাইস চ্যানেল সেট করুন।

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

  1. মিথ্যে সংকেত এড়াতে একাধিক সূচক একত্রিত করুন।

  2. মূল্য চ্যানেল ব্যবহার করে মূল্যের অস্বাভাবিক অবস্থা নির্ণয় করা যায় এবং কিছু অযাচিত প্রবেশের স্থানকে ফিল্টার করা যায়।

  3. সমান্তরাল লাইনগুলি প্রবণতার দিকনির্দেশনা দেয় এবং বিপরীতমুখী অপারেশন এড়ায়।

  4. স্টপ লস স্টপ রেঞ্জ সেট করুন, ঝুঁকি নিয়ন্ত্রণ করুন।

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

  1. প্যারামিটার সেটিং খুব বিষয়গত এবং অপ্টিমাইজেশান প্রয়োজন।

  2. ক্ষতি প্রতিরোধের পরিসীমা খুব বড় এবং খুব ছোট সেট করা হয়েছে।

  3. প্রাইস চ্যানেল প্যারামিটারগুলি সমস্ত জাতের জন্য উপযুক্ত নাও হতে পারে এবং বিভিন্ন জাতের জন্য পৃথকভাবে পরীক্ষা করা প্রয়োজন।

  4. ট্রেন্ডের তীব্র পরিবর্তনের ফলে বড় ধরনের ক্ষতি হতে পারে।

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

  1. পরামিতি পরীক্ষা অপ্টিমাইজেশান, সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে।

  2. বিভিন্ন গড়রেখার পর্যায় পরীক্ষা করে, সর্বোত্তম প্যারামিটার নির্বাচন করুন।

  3. বিভিন্ন জাতের উপর পুনরায় পরীক্ষা করা হয় এবং পারফরম্যান্সের উপর ভিত্তি করে পরামিতিগুলি নির্বাচন করা হয়।

  4. অপ্টিমাইজ করুন আপনার স্টপ লস কৌশল, যাতে আপনি একসাথে খুব বেশি ক্ষতি না করেন।

সারসংক্ষেপ

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

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

//@version=4
strategy(title="Vol ST VM", overlay=true)

source = close
hilow = ((high - low)*100)
openclose = ((close - open)*100)
vol = (volume / hilow)
spreadvol = (openclose * vol)
VPT = spreadvol + cum(spreadvol)
window_len = 28

v_len = 14
price_spread = stdev(high-low, window_len)

v =  spreadvol + cum(spreadvol)
smooth = sma(v, v_len)
v_spread = stdev(v - smooth, window_len)
shadow = (v - smooth) / v_spread * price_spread

out = shadow > 0 ? high + shadow : low + shadow
//
src = out
src1=open
src2=low
src3=high
tf =input(720)
len = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   tf / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7

c = ema(src, len)
plot(c,color=color.red)
o = ema(src1,len)
plot(o,color=color.blue)
//h = ema(src3,len)
//l=ema(src2,len)
//
col=c > o? color.lime : color.orange
vis = true
vl = c
ll = o
m1 = plot(vl, color=col, linewidth=1, transp=60)
m2 = plot(vis ? ll : na,  color=col, linewidth=2, transp=80)

fill(m1, m2,  color=col, transp=70)
//

vpt=ema(out,len)

// INPUTS //
st_mult   = input(1,   title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(10, title = 'SuperTrend Period',     minval = 1)

// CALCULATIONS //
up_lev = vpt - (st_mult * atr(st_period))
dn_lev = vpt + (st_mult * atr(st_period))

up_trend   = 0.0
up_trend   := close[1] > up_trend[1]   ? max(up_lev, up_trend[1])   : up_lev

down_trend = 0.0
down_trend := close[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev

// Calculate trend var
trend = 0
trend := close > down_trend[1] ? 1: close < up_trend[1] ? -1 : nz(trend[1], 1)

// Calculate SuperTrend Line
st_line = trend ==1 ? up_trend : down_trend

// Plotting
plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend")
buy=crossover( close, st_line) and close>o
sell=crossunder(close, st_line) and close<o
//plotshape(crossover( close, st_line), location = location.belowbar, color = color.green,size=size.tiny)
//plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red,size=size.tiny)
plotshape(buy, title="buy", color=color.green, style=shape.arrowup, location=location.belowbar, size=size.normal, textcolor=color.white, transp=0)  //plot for buy icon
plotshape(sell, title="sell", color=color.red, style=shape.arrowdown, location=location.abovebar, size=size.normal, textcolor=color.white, transp=0)  //plot for sell icon


//
multiplier = input(title="TP", type=input.float, defval=2, minval=1)
src5 = close
len5 = input(title="TP length", defval=150, minval=1)
offset = 0

calcSlope(src5, len5) =>
    sumX = 0.0
    sumY = 0.0
    sumXSqr = 0.0
    sumXY = 0.0
    for i = 1 to len5
        val = src5[len5-i]
        per = i + 1.0
        sumX := sumX + per
        sumY := sumY + val
        sumXSqr := sumXSqr + per * per
        sumXY := sumXY + val * per
        
        
    slope = (len5 * sumXY - sumX * sumY) / (len5 * sumXSqr - sumX * sumX)
    average = sumY / len5
    intercept = average - slope * sumX / len5 + slope
    [slope, average, intercept]

var float tmp = na
[s, a, i] = calcSlope(src5, len5)

vwap1=(i + s * (len5 - offset))
sdev = stdev(close, len5)
dev = multiplier * sdev
top=vwap1+dev
bott=vwap1-dev

//
z1 = vwap1 + dev
x1 = vwap1 - dev

low1 = crossover(close, x1)  
high1 = crossunder(close, z1) 

plotshape(low1, title="low", text="TP", color=color.red, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, transp=0)  //plot for buy icon
plotshape(high1, title="high", text="TP", color=color.green, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, transp=0)  //plot for sell icon



strategy.entry(id="Enter Long MA", long=true, comment="Buy", when=high1)
strategy.entry(id="Short Entry MA", long=false, comment="Sell", when=low1)

/////// Alerts /////
alertcondition(buy,title="buy")
alertcondition(sell,title="sell")
alertcondition(low1,title="sell tp")
alertcondition(high1,title="buy tp")