
এটি একটি কৌশল যা সুপার ট্রেন্ডিং সূচক এবং এটিআর সূচকগুলির উপর ভিত্তি করে তৈরি করা হয়েছে। এই কৌশলটির মূল ধারণাটি হ’লঃ সুপার ট্রেন্ডিং সূচকগুলি ব্যবহার করে বর্তমান বাজারের প্রবণতার দিকনির্দেশনা নির্ধারণ করুন এবং যখন সুপার ট্রেন্ডিং সূচকগুলি পরিবর্তিত হয় তখন লেনদেন করুন। একই সাথে, এই কৌশলটি এটিআর সূচকগুলি ব্যবহার করে স্টপ লস এবং স্টপ-আপ মূল্য গণনা করে এবং অ্যাকাউন্টের ভারসাম্যের একটি নির্দিষ্ট অনুপাতের উপর ভিত্তি করে পজিশনের আকার গণনা করে ঝুঁকি নিয়ন্ত্রণের জন্য।
এই কৌশলটি নিম্নরূপঃ
এই কৌশলটির সুবিধাগুলো হলঃ
এই কৌশলের ঝুঁকিগুলো হলোঃ
এই ঝুঁকি মোকাবেলায় নিম্নলিখিত পদক্ষেপ নেওয়া যেতে পারেঃ
এই কৌশলটি নিম্নলিখিত দিকগুলিতে উন্নত করা যেতে পারেঃ
উপরোক্ত অপ্টিমাইজেশানগুলি কৌশলগুলির লাভজনকতা এবং স্থিতিশীলতা বাড়িয়ে তুলতে পারে, এবং একই সাথে কৌশলগুলির ঝুঁকি হ্রাস করে এবং কৌশলগুলিকে বিভিন্ন বাজারের পরিবেশে আরও উপযুক্ত করে তোলে।
এই কৌশলটি সুপারট্রেন্ডিং সূচক এবং এটিআর সূচকগুলির সাথে মিলিত হয়, যা কার্যকরভাবে প্রবণতা ক্যাপচার করতে পারে এবং ঝুঁকি নিয়ন্ত্রণ করতে পারে। সর্বোত্তম অবস্থানের আকার গণনা করে, প্রতিটি লেনদেনের ঝুঁকি নিয়ন্ত্রণযোগ্য করে তোলে। তবে এই কৌশলটি অস্থির বাজারে উচ্চতর লেনদেনের ব্যয় এবং প্রত্যাহারের কারণ হতে পারে। আরও প্রযুক্তিগত সূচক, অপ্টিমাইজেশন প্যারামিটার, ঝুঁকি নিয়ন্ত্রণের উপাদান এবং উন্নত স্টপ স্টপ কৌশল প্রবর্তন করে কৌশলটির কার্যকারিতা আরও উন্নত করা যেতে পারে। সামগ্রিকভাবে, এই কৌশলটি একটি সহজ এবং কার্যকর প্রবণতা ট্র্যাকিং কৌশল যা প্রবণতা বাজারে ব্যবহারের জন্য উপযুক্ত।
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradez99
//@version=5
strategy('Supertrend', overlay=true, format=format.price, precision=2)
Periods = input(title='ATR Period', defval=10)
src = input(hl2, title='Source')
Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
changeATR = input(title='Change ATR Calculation Method ?', defval=true)
showsignals = input(title='Show Buy/Sell Signals ?', defval=true)
highlighting = input(title='Highlighter On/Off ?', defval=true)
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
up = src - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.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.new(color.green, 0))
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.new(color.green, 0))
plotshape(buySignal and showsignals ? up : na, title='Buy', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
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.new(color.red, 0))
plotshape(sellSignal and showsignals ? dn : na, title='Sell', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 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)
multiplier = input.float(title="ATR multiplier", defval = 1.5)
rr = input.float(title="Risk:Reward", defval=1.0)
riskPerTrade = input.float(title="Risk Per Trade %", defval=1.0)
atr3 = ta.atr(14)
//calculate stops and targets
longstop = close - (atr3 * multiplier)
shortstop = close + (atr3 * multiplier)
longStopDistance = close - longstop
shortStopDistance = shortstop - close
longTarget = close + (longStopDistance * rr)
shortTarget = close - (shortStopDistance * rr)
// Save stops & targets
var t_stop = 0.0
var t_target = 0.0
longCondition = buySignal
if (longCondition)
t_stop := longstop
t_target := longTarget
positionSize = math.floor((strategy.equity * (riskPerTrade/100)) / (close - t_stop))
strategy.entry("Long", strategy.long, qty = positionSize)
shortCondition = sellSignal
if (shortCondition)
t_stop := shortstop
t_target := shortTarget
positionSize = math.floor((strategy.equity * (riskPerTrade/100)) / (t_stop - close))
strategy.entry("Short", strategy.short, qty = positionSize)
strategy.exit(id="Long Exit", from_entry="Long", limit=t_target, stop=t_stop)
strategy.exit(id="Short Exit", from_entry="Short", limit=t_target, stop=t_stop)