
اس حکمت عملی کا بنیادی خیال یہ ہے کہ سپر ٹرینڈ اشارے اور اوسط ٹرینڈ اشارے ((ADX) کو جوڑ کر ، رجحانات کا فیصلہ اور ان کی پیروی کی جاسکتی ہے۔ سپر ٹرینڈ اشارے کا استعمال موجودہ قیمتوں کے رجحان کی سمت کی نشاندہی کرنے کے لئے کیا جاتا ہے ، ADX رجحان کی طاقت کا فیصلہ کرنے کے لئے استعمال کیا جاتا ہے ، اور صرف مضبوط رجحان کے تحت ہی تجارت کی جاتی ہے۔ اس کے علاوہ ، حکمت عملی K لائن ہستی کے رنگ ، تجارت کے حجم کے اشارے وغیرہ کی تصدیق کے لئے بھی استعمال کرتی ہے ، جس سے نسبتا complete مکمل تجارتی قواعد تشکیل پائے جاتے ہیں۔
مجموعی طور پر ، یہ حکمت عملی رجحانات کی پیروی کرنے کی حکمت عملی میں شامل ہے ، جس کا مقصد واضح رجحانات کو پکڑنا ہے ، اور اس کے ساتھ ہی اس میں مداخلت سے بچنا ہے جو اس کی صف بندی اور جھٹکے سے متاثر ہوتا ہے۔
سپر ٹرینڈ اشارے کا استعمال کرتے ہوئے قیمت کے رجحان کی سمت کا تعین کریں۔ جب قیمت اسٹاپ پر سپر ٹرینڈ ہوتی ہے تو یہ ایک کثیر سر سگنل ہوتا ہے ، اور جب سپر ٹرینڈ نیچے ہوتا ہے تو یہ ایک خالی سر سگنل ہوتا ہے۔
رجحان کی طاقت کا تعین کرنے کے لئے ADX کا استعمال کریں۔ ٹریڈنگ سگنل صرف اس وقت پیدا ہوتا ہے جب ADX سیٹ کی حد سے زیادہ ہو ، اس طرح غیر واضح مدت کو فلٹر کیا جاسکتا ہے۔
K لائن انٹیٹیٹی رنگ کا فیصلہ موجودہ عروج یا زوال کے پیٹرن کے طور پر کیا جاتا ہے ، جو سپر ٹرینڈ اشارے کے ساتھ مل کر تصدیق کی تشکیل کرتا ہے۔
تجارتی حجم میں اضافہ تصدیق کے اشارے کے طور پر استعمال ہوتا ہے۔ صرف اس صورت میں جب تجارتی حجم بڑھتا ہے تو ہی پوزیشن لگائی جاتی ہے۔
منافع کو لاک کرنے اور خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصان اور اسٹاپ پوزیشن کا تعین کریں۔
مقرر کردہ ڈسک میں وقت ختم ہونے سے پہلے تمام پوزیشنوں کو صاف کریں۔
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس طرح کی حکمت عملیوں کے ساتھ ، آپ کو زیادہ سے زیادہ منافع کی شرح حاصل کرنے میں مدد مل سکتی ہے۔
حکمت عملی کے پیرامیٹرز کم ہیں، سمجھنے اور لاگو کرنے کے لئے آسان.
خطرے پر قابو پانے کے لئے ، اسٹاپ نقصان اور اسٹاپ کو ترتیب دیں۔
ایک سے زیادہ اشارے کا استعمال کرتے ہوئے تصدیق کی جا سکتی ہے، جعلی سگنل کو کم کرنے کے لئے.
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کی قیمتوں میں کمی کی وجہ سے اس کی قیمتوں میں کمی واقع ہوسکتی ہے۔
اس کے نتیجے میں ، اسٹاک کی کارکردگی میں تبدیلی کے نتیجے میں شدید ردوبدل ہوسکتا ہے۔
بلیک سوان واقعہ، پالیسی میں اہم تبدیلی
خطرے سے نمٹنے کے لیے اقدامات:
ADX پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کریں تاکہ یہ یقینی بنایا جاسکے کہ صرف مضبوط رجحانات کے تحت تجارت کی جائے۔
اسٹاپ نقصان کو بڑھانا اور واحد نقصان کو کنٹرول کرنا۔
پالیسیوں اور اہم واقعات پر گہری نظر رکھیں ، اور جب ضروری ہو تو نقصانات کو روکنے کے لئے سرگرم عمل ہوں۔
مختلف سپر ٹرینڈ پیرامیٹرز کے مجموعے کی جانچ کی جاسکتی ہے ، جس میں سگنل پیدا کرنے کے لئے زیادہ مستحکم پیرامیٹرز کا انتخاب کیا جاسکتا ہے۔
ADX کے مختلف پیرامیٹرز کی جانچ کی جاسکتی ہے تاکہ بہترین پیرامیٹرز کا مجموعہ طے کیا جاسکے۔
دیگر اشارے شامل کیے جا سکتے ہیں تاکہ تصدیق کی جا سکے ، جیسے اتار چڑھاؤ کی شرح ، برن بینڈ ، وغیرہ ، تاکہ جعلی سگنل کو مزید کم کیا جاسکے۔
ٹرینڈ ٹوٹنے پر بروقت اسٹاپ نقصانات کو توڑنے والی حکمت عملیوں کے ساتھ جوڑا جاسکتا ہے۔
اس حکمت عملی کا مجموعی نظریہ واضح ہے ، سپر ٹرینڈ کے ذریعہ قیمت کے رجحان کی سمت کا تعین کرنے کے لئے ، ADX کے ذریعہ رجحان کی طاقت کا تعین کرنے کے لئے ، مضبوط رجحان کے تحت رجحان کی پیروی کریں۔ اس کے ساتھ ہی خطرے کو کنٹرول کرنے کے لئے اسٹاپ لاس اسٹاپ قائم کریں۔ حکمت عملی کے پیرامیٹرز کم ہیں ، ان کو بہتر بنانا آسان ہے۔ یہ سیکھنے کے لئے آسان اور موثر رجحان سازی کی حکمت عملی کی مثال کے طور پر کام کرسکتا ہے۔ اس کے بعد پیرامیٹرز کو بہتر بنانے ، سگنل فلٹرنگ وغیرہ کے ذریعہ مزید بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Intraday Strategy Template
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © vikris
//@version=4
strategy("[VJ]Hulk Smash Intra", overlay=true, calc_on_every_tick = false, pyramiding=0,default_qty_type=strategy.percent_of_equity, default_qty_value=100,initial_capital=2000)
// ********** Strategy inputs - Start **********
// Used for intraday handling
// Session value should be from market start to the time you want to square-off
// your intraday strategy
// Important: The end time should be at least 2 minutes before the intraday
// square-off time set by your broker
var i_marketSession = input(title="Market session", type=input.session,
defval="0915-1455", confirm=true)
// Make inputs that set the take profit % (optional)
longProfitPerc = input(title="Long Take Profit (%)",
type=input.float, minval=0.0, step=0.1, defval=1) * 0.01
shortProfitPerc = input(title="Short Take Profit (%)",
type=input.float, minval=0.0, step=0.1, defval=1) * 0.01
// Set stop loss level with input options (optional)
longLossPerc = input(title="Long Stop Loss (%)",
type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01
shortLossPerc = input(title="Short Stop Loss (%)",
type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01
var float i_multiplier = input(title = "ST Multiplier", type = input.float,
defval = 2, step = 0.1, confirm=true)
var int i_atrPeriod = input(title = "ST ATR Period", type = input.integer,
defval = 10, confirm=true)
len = input(title="ADX Length", type=input.integer, defval=14)
th = input(title="ADX Threshold", type=input.integer, defval=20)
adxval = input(title="ADX Momemtum Value", type=input.integer, defval=25)
// ********** Strategy inputs - End **********
// ********** Supporting functions - Start **********
// A function to check whether the bar or period is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0
// ********** Supporting functions - End **********
// ********** Strategy - Start **********
[superTrend, dir] = supertrend(i_multiplier, i_atrPeriod)
colResistance = dir == 1 and dir == dir[1] ? color.new(color.red, 0) : color.new(color.red, 100)
colSupport = dir == -1 and dir == dir[1] ? color.new(color.green, 0) : color.new(color.green, 100)
// Super Trend Long/short condition
stlong = close > superTrend
stshort = close < superTrend
// Figure out take profit price
longExitPrice = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)
// Determine stop loss price
longStopPrice = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)
//Vol Confirmation
vol = volume > volume[1]
//Candles colors
greenCandle = (close > open)
redCandle = (close < open)
// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)
// Trade only if intraday session is active
TrueRange = max(max(high - low, abs(high - nz(close[1]))), abs(low - nz(close[1])))
DirectionalMovementPlus = high - nz(high[1]) > nz(low[1]) - low ? max(high - nz(high[1]), 0) : 0
DirectionalMovementMinus = nz(low[1]) - low > high - nz(high[1]) ? max(nz(low[1]) - low, 0) : 0
SmoothedTrueRange = 0.0
SmoothedTrueRange := nz(SmoothedTrueRange[1]) - nz(SmoothedTrueRange[1]) / len + TrueRange
SmoothedDirectionalMovementPlus = 0.0
SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) -
nz(SmoothedDirectionalMovementPlus[1]) / len + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = 0.0
SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) -
nz(SmoothedDirectionalMovementMinus[1]) / len + DirectionalMovementMinus
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus - DIMinus) / (DIPlus + DIMinus) * 100
ADX = sma(DX, len)
// a = plot(DIPlus, color=color.green, title="DI+", transp=100)
// b = plot(DIMinus, color=color.red, title="DI-", transp=100)
//Final Long/Short Condition
longCondition = stlong and redCandle and vol and ADX>adxval
shortCondition = stshort and greenCandle and vol and ADX >adxval
//Long Strategy - buy condition and exits with Take profit and SL
if (longCondition and intradaySession)
stop_level = longStopPrice
profit_level = longExitPrice
strategy.entry("My Long Entry Id", strategy.long)
strategy.exit("TP/SL", "My Long Entry Id",stop=stop_level, limit=profit_level)
//Short Strategy - sell condition and exits with Take profit and SL
if (shortCondition and intradaySession)
stop_level = shortStopPrice
profit_level = shortExitPrice
strategy.entry("My Short Entry Id", strategy.short)
strategy.exit("TP/SL", "My Short Entry Id", stop=stop_level, limit=profit_level)
// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")
// ********** Strategy - End **********