সুপার ট্রেন্ড ভি কৌশল হল চলমান গড় এবং স্ট্যান্ডার্ড ডিভিয়েশনগুলির উপর ভিত্তি করে একটি স্বল্পমেয়াদী ট্রেডিং কৌশল। এটি মূল্যের প্রবণতার দিক নির্ধারণ করতে সুপার ট্রেন্ড সূচক ব্যবহার করে এবং বাজারে প্রবেশের জন্য চলমান গড় দ্বারা গঠিত সমর্থন এবং প্রতিরোধের সমন্বয় করে। এদিকে, এটি সম্ভাব্য সমর্থন এবং মূল্যের প্রতিরোধের অঞ্চলগুলি পূর্বাভাস দেওয়ার জন্য স্ট্যান্ডার্ড ডিভিয়েশন চ্যানেল ব্যবহার করে এবং একটি প্রবণতা অনুসরণকারী এবং দক্ষ-প্রস্থানকারী স্বল্পমেয়াদী ট্রেডিং কৌশল বাস্তবায়নের জন্য স্টপ লস এবং মুনাফা মূল্য পরিসীমা সেট করে।
প্রথমত, এই কৌশলটি সুপার ট্রেন্ড সূচক গণনা করে। সুপার ট্রেন্ড সূচকটি প্রবণতা দিক নির্ধারণের জন্য এটিআর এবং দামের মধ্যে সম্পর্ক ব্যবহার করে। যখন দামটি উত্থান প্রবণতার উপরে থাকে, তখন এটি উত্থানমুখী হয়। যখন দাম হ্রাস প্রবণতার নীচে থাকে, তখন এটি হ্রাসমুখী হয়।
তারপর এটি মূল্যের EMA এবং খোলা মূল্যের EMA গণনা করে। যখন মূল্য EMA এর উপরে অতিক্রম করে এবং খোলা মূল্য EMA এর চেয়ে বেশি হয়, এটি একটি ক্রয় সংকেত। যখন মূল্য EMA এর নীচে অতিক্রম করে এবং খোলা মূল্য EMA এর চেয়ে কম হয়, এটি একটি বিক্রয় সংকেত।
পরবর্তী, এটি মূল্য চ্যানেলের উপরের এবং নীচের ব্যান্ডগুলি গণনা করতে স্ট্যান্ডার্ড ডিভিয়েশন ব্যবহার করে এবং মসৃণীকরণ প্রক্রিয়াকরণ করে। যখন দাম স্ট্যান্ডার্ড ডিভিয়েশনের উপরের ব্যান্ডটি ভেঙে যায়, এটি একটি স্টপ লস সংকেত। যখন দাম স্ট্যান্ডার্ড ডিভিয়েশনের নীচের ব্যান্ডটি ভেঙে যায়, এটি একটি লাভের সংকেত।
অবশেষে, এটি বিভিন্ন সময়সীমার চলমান গড়কে একত্রিত করে ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করে, সুপার ট্রেন্ড সূচকের সাথে, একটি স্থিতিশীল প্রবণতা রায় গঠন করে।
ঝুঁকি ব্যবস্থাপনাঃ
সুপার ট্রেন্ড ভি কৌশলটি প্রবণতা, চলমান গড়, স্ট্যান্ডার্ড ডিভিয়েশন চ্যানেল এবং অন্যান্য সূচকগুলির সুবিধাগুলিকে একীভূত করে স্থিতিশীল প্রবণতা রায়, সঠিক প্রবেশের সময় এবং মূল্য অঞ্চলগুলির উপর ভিত্তি করে স্টপ লস এবং মুনাফা গ্রহণের জন্য। প্যারামিটার, সূচক, স্টপ লস এবং মুনাফা গ্রহণ ইত্যাদির অনুকূলকরণের মাধ্যমে এটি কৌশলটির স্থিতিশীলতা এবং লাভজনকতা উন্নত করতে পারে। এর শক্ত যুক্তি এবং কঠোর চিন্তাভাবনা শেখার এবং গবেষণা করার মতো।
/*backtest start: 2022-10-11 00:00:00 end: 2023-10-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © theCrypster 2020 //@version=4 strategy(title = "Super trend V Strategy version", overlay = true, pyramiding=1,initial_capital = 1000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075) strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"]) strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all strategy.risk.allow_entry_in(strat_dir_value) 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", text="Buy", color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, transp=0) //plot for buy icon plotshape(sell, title="sell", text="Sell", color=color.red, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, transp=0) //plot for sell icon // multiplier = input(title="TP VWAP Deviation", type=input.float, defval=2, minval=1) src5 = vwap 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(vwap, 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 // // Testing Start dates testStartYear = input(2016, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) //Stop date if you want to use a specific range of dates testStopYear = input(2030, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false l = buy s1 = sell if l and testPeriod() strategy.entry("buy", strategy.long) if s1 and testPeriod() strategy.entry("sell", strategy.short)