وسائل لوڈ ہو رہے ہیں... لوڈنگ...

رفتار کی نگرانی اور رجحان کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-22 17:27:18
ٹیگز:

img

جائزہ

اس حکمت عملی کا بنیادی خیال یہ ہے کہ سپر ٹرینڈ اشارے اور اوسط سمت کی نقل و حرکت انڈیکس (ADX) کو جوڑ کر رجحانات کا فیصلہ اور ٹریک کیا جائے۔ سپر ٹرینڈ اشارے کا استعمال موجودہ قیمت کے رجحان کی سمت کی نشاندہی کرنے کے لئے کیا جاتا ہے ، اور ADX کا استعمال رجحان کی طاقت کا تعین کرنے کے لئے کیا جاتا ہے۔ تجارت صرف مضبوط رجحان کی حالت میں کی جاتی ہے۔ اس کے علاوہ ، حکمت عملی تصدیق کے لئے موم بتی کے جسم کا رنگ ، تجارتی حجم اور دیگر اشارے بھی استعمال کرتی ہے ، جو تجارتی قوانین کا نسبتا complete مکمل مجموعہ تشکیل دیتی ہے۔

مجموعی طور پر، یہ حکمت عملی رجحان کی پیروی کی حکمت عملی سے تعلق رکھتا ہے، جس کا مقصد اعتدال پسند اور طویل مدتی واضح رجحانات کو پکڑنا ہے جبکہ استحکام اور نوسکھئیے کے ادوار سے مداخلت سے بچنے کے لۓ.

حکمت عملی کے اصول

  1. قیمت کے رجحان کی سمت کا تعین کرنے کے لئے سپر ٹرینڈ اشارے کا استعمال کریں۔ جب قیمت سپر ٹرینڈ سے اوپر ہوتی ہے تو یہ ایک لمبا سگنل ہوتا ہے ، اور جب یہ سپر ٹرینڈ سے نیچے ہوتا ہے تو یہ ایک مختصر سگنل ہوتا ہے۔

  2. رجحان کی طاقت کا اندازہ کرنے کے لئے ADX کا استعمال کریں۔ تجارتی سگنل صرف اس وقت پیدا ہوتے ہیں جب ADX حد سے زیادہ ہوتا ہے ، تاکہ غیر واضح استحکام کے ساتھ ادوار کو فلٹر کیا جاسکے۔

  3. موم بتی کے جسم کا رنگ اس بات کا فیصلہ کرنے کے لئے استعمال کیا جاتا ہے کہ آیا یہ فی الحال اوپر یا نیچے کے پیٹرن میں ہے، تصدیق کے لئے سپر رجحان اشارے کے ساتھ مل کر.

  4. تجارتی حجم میں اضافہ تصدیق کے اشارے کے طور پر کام کرتا ہے۔ پوزیشنیں صرف اس وقت قائم کی جاتی ہیں جب تجارتی حجم میں اضافہ ہوتا ہے۔

  5. منافع میں مقفل اور خطرات کو کنٹرول کرنے کے لئے سٹاپ نقصان مقرر کریں اور منافع لے لو.

  6. دن کے اختتام سے پہلے تمام پوزیشنوں کو بند کریں.

حکمت عملی کے فوائد

  1. درمیانی اور طویل مدتی واضح رجحانات کو ٹریک کریں ، اتار چڑھاؤ سے بچیں ، اور اعلی منافع حاصل کریں۔

  2. حکمت عملی میں چند پیرامیٹرز ہیں اور اسے سمجھنا اور لاگو کرنا آسان ہے۔

  3. سٹاپ نقصان اور منافع لینے کے ساتھ خطرات کو اچھی طرح سے کنٹرول کیا جاتا ہے.

  4. تصدیق کے لیے متعدد اشارے کا استعمال جھوٹے اشاروں کو کم کر سکتا ہے۔

اسٹریٹجی کے خطرات

  1. مارکیٹ بھر میں بڑی اصلاحات کے دوران بڑے نقصانات کا سامنا کرنا پڑ سکتا ہے۔

  2. انفرادی اسٹاک میں بنیادیات میں تبدیلیوں کی وجہ سے تیز تبدیلیاں آسکتی ہیں۔

  3. بلیک سوان واقعات سے بڑی پالیسی تبدیلیاں.

حل:

  1. ADX پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کریں تاکہ یہ یقینی بنایا جا سکے کہ تجارت صرف مضبوط رجحانات کے تحت ہو۔

  2. اسٹاپ نقصان کا فیصد بڑھانا تاکہ واحد نقصان کی رقم کو کنٹرول کیا جا سکے۔

  3. پالیسیوں اور اہم واقعات کی قریب سے نگرانی کریں، اگر ضروری ہو تو نقصان کو فعال طور پر کم کریں۔

اصلاح کے لیے ہدایات

  1. سپر ٹرینڈ پیرامیٹرز کے مختلف مجموعوں کا تجربہ کریں تاکہ وہ ایک تلاش کریں جو سب سے زیادہ مستحکم سگنل پیدا کرے۔

  2. بہترین ترتیبات کا تعین کرنے کے لیے مختلف ADX پیرامیٹرز کے مجموعوں کا تجربہ کریں۔

  3. غلط سگنل کو مزید کم کرنے کے لئے اتار چڑھاؤ اور بولنگر بینڈ جیسے دیگر تصدیق کے اشارے شامل کریں۔

  4. جب رجحانات ٹوٹ جاتے ہیں تو بروقت نقصانات کو کم کرنے کے لئے بریک آؤٹ کی حکمت عملیوں کے ساتھ مل کر.

خلاصہ

اس حکمت عملی کا مجموعی منطق واضح ہے ، قیمت کے رجحان کی سمت کا فیصلہ کرنے کے لئے سپر ٹرینڈ ، رجحان کی طاقت کا تعین کرنے کے لئے 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 **********

مزید