
یہ ایک ایسی حکمت عملی ہے جو سپر ٹرینڈ اشارے اور اے ٹی آر اشارے پر مبنی ہے۔ اس حکمت عملی کا بنیادی نظریہ یہ ہے کہ سپر ٹرینڈ اشارے کا استعمال موجودہ مارکیٹ کی رجحان کی سمت کا تعین کرنے کے لئے کیا جائے ، اور جب سپر ٹرینڈ اشارے میں تبدیلی آتی ہے تو تجارت کی جائے۔ اس کے ساتھ ہی ، اس حکمت عملی میں اے ٹی آر اشارے کا استعمال کیا گیا ہے جس میں رکنے اور روکنے کی قیمتوں کا حساب لگایا گیا ہے ، اور اکاؤنٹ کے توازن کے ایک خاص تناسب کے مطابق پوزیشن کے سائز کا حساب لگایا گیا ہے تاکہ خطرے کو کنٹرول کیا جاسکے۔
اس حکمت عملی کے اصول درج ذیل ہیں:
اس حکمت عملی کے فوائد یہ ہیں:
اس حکمت عملی کے خطرات درج ذیل ہیں:
مندرجہ بالا خطرات سے نمٹنے کے لیے مندرجہ ذیل اقدامات کیے جا سکتے ہیں:
اس حکمت عملی کو بہتر بنانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے۔
مندرجہ بالا اصلاحات حکمت عملی کی منافع بخش اور استحکام کو بڑھا سکتی ہیں ، جبکہ حکمت عملی کے خطرات کو کم کرتی ہیں ، اور حکمت عملی کو مختلف مارکیٹ کے حالات کے مطابق ڈھال سکتی ہیں۔
اس حکمت عملی میں سپر ٹرینڈ اشارے اور اے ٹی آر اشارے شامل ہیں ، جو رجحانات کو مؤثر طریقے سے پکڑنے کے ساتھ ساتھ خطرے پر قابو پانے کے قابل ہیں۔ بہترین پوزیشن سائز کا حساب کتاب کرکے ، ہر تجارت کا خطرہ قابو میں ہے۔ تاہم ، اس حکمت عملی کے نتیجے میں ہلچل کی منڈیوں میں اعلی تجارتی لاگت اور واپسی کا نتیجہ ہوسکتا ہے۔ مزید تکنیکی اشارے ، اصلاحی پیرامیٹرز ، خطرے کے کنٹرول کے عوامل میں اضافہ اور اسٹاپ اسٹاپ حکمت عملی کو متعارف کرانے سے اس حکمت عملی کی کارکردگی کو مزید بہتر بنایا جاسکتا ہے۔
/*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)