مومنٹم ٹی ڈی ریورس ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-18 17:40:10
ٹیگز:

img

جائزہ

مومنٹم ٹی ڈی ریورس ٹریڈنگ حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو قیمت کی تبدیلی کے اشاروں کی نشاندہی کرنے کے لئے ٹی ڈی ترتیب اشارے کا استعمال کرتی ہے۔ یہ حکمت عملی مومنٹم تجزیہ پر مبنی ہے اور قیمت کی تبدیلی کے اشاروں کی تصدیق کے بعد طویل یا مختصر پوزیشن لیتی ہے۔

حکمت عملی منطق

یہ حکمت عملی قیمتوں میں اتار چڑھاؤ کا تجزیہ کرنے اور 9 لگاتار موم بتیوں کے بعد قیمت کے الٹ پیٹرن کی نشاندہی کرنے کے لئے ٹی ڈی ترتیب اشارے کا استعمال کرتی ہے۔ خاص طور پر ، جب یہ 9 لگاتار بڑھتی ہوئی موم بتیوں کے بعد زوال موم بتی کا پتہ لگاتا ہے تو ، حکمت عملی اسے مختصر موقع کے طور پر طے کرتی ہے۔ اس کے برعکس ، جب یہ 9 لگاتار گرتی ہوئی موم بتیوں کے بعد عروج موم بتی کی نشاندہی کرتی ہے تو ، حکمت عملی اسے طویل موقع کے طور پر سمجھتی ہے۔

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

پیشہ تجزیہ

  • قیمتوں میں تبدیلی کے مواقع کو پہلے سے شناخت کرنے کے لئے ٹی ڈی ترتیباتی اشارے کا استعمال کریں
  • قیمتوں میں ردوبدل کی تصدیق کا وقت سے پہلے تعین کرنے کے لیے پیچھا، اضافہ، قتل اور گرنے کا طریقہ کار قائم کیا جائے
  • نسبتاً بہتر انٹری پوائنٹس حاصل کرنے کے لیے واپسی کے قیام کے مرحلے میں پوزیشنیں داخل کریں

خطرے کا تجزیہ

  • ٹی ڈی سیکوینشل اشارے میں جھوٹے بریک آؤٹ ہوسکتے ہیں۔ سگنل کی تصدیق کے لئے دوسرے عوامل کی ضرورت ہوتی ہے۔
  • خطرے کو کم کرنے کے لئے پوزیشن سائزنگ اور ہولڈنگ کی مدت کو مناسب طریقے سے کنٹرول کریں

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

  • غلط بریک آؤٹ کے خطرات سے بچنے کے لئے الٹ سگنل کی توثیق کے لئے دیگر اشارے شامل کریں
  • ایک ہی تجارت کے نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان کا طریقہ کار قائم کریں
  • منافع کے پیمانے اور خطرے کے انتظام کو متوازن کرنے کے لئے پوزیشن سائز اور انعقاد کی مدت کو بہتر بنائیں

نتیجہ

مومنٹم ٹی ڈی ریورس ٹریڈنگ حکمت عملی قیمتوں کی تبدیلیوں کا پہلے سے فیصلہ کرنے اور تصدیق کے بعد تیزی سے پوزیشنیں قائم کرنے کے لئے ٹی ڈی ترتیباتی اشارے کا استعمال کرتی ہے ، جس سے یہ مومنٹم تاجروں کے لئے بہت موزوں ہے۔ اس حکمت عملی میں الٹ جانے کے مواقع کی نشاندہی کرنے کا فائدہ ہے ، لیکن پھر بھی جھوٹے بریک آؤٹ کی وجہ سے ہونے والے بڑے نقصانات سے بچنے کے لئے مناسب رسک کنٹرول کی ضرورت ہے۔ مزید اصلاحات کے ساتھ ، یہ رسک - انعام کے تناسب کے حوالے سے متوازن حکمت عملی بن سکتی ہے۔


/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//This strategy is based on TD sequential study from glaz. 
//I made some improvement and modification to comply with pine script version 4.
//Basically, it is a strategy based on proce action, supports and resistance.

strategy("Sequential Up/Down", overlay=true )
source = input(close)
BarsCount = input(9, "Count of consecutive bars")
useLinearRegression = input(false)
LR_length = input(13,"Linear Regression length")
SR = input(true,"Shows Supports and Resistance lines")
Barcolor = input(true,"Color bars when there is a signal")
transp = input(0, "Transparency of triangle Up or Downs")
Numbers = input(true,"Plot triangle Up or Downs at signal")

//Calculation
src=useLinearRegression?linreg(source,LR_length,0):source
UP = 0
DW = 0
UP := src > src[4] ? nz(UP[1]) + 1 : 0
DW := src < src[4] ? nz(DW[1]) + 1 : 0

UPUp = UP - valuewhen(UP < UP[1], UP, 1)
DWDn = DW - valuewhen(DW < DW[1], DW, 1)

plotshape(Numbers ? UPUp == BarsCount ? true : na : na, style=shape.triangledown, text="", color=color.green, location=location.abovebar, transp=transp)
plotshape(Numbers ? DWDn == BarsCount ? true : na : na, style=shape.triangleup, text="", color=color.red, location=location.belowbar, transp=transp)


// S/R Code By johan.gradin
//------------//
// Sell Setup //
//------------//
priceflip = barssince(src < src[4])
sellsetup = src > src[4] and priceflip
sell = sellsetup and barssince(priceflip != BarsCount)
sellovershoot = sellsetup and barssince(priceflip != BarsCount+4)
sellovershoot1 = sellsetup and barssince(priceflip != BarsCount+5)
sellovershoot2 = sellsetup and barssince(priceflip != BarsCount+6)
sellovershoot3 = sellsetup and barssince(priceflip != BarsCount+7)

//----------//
// Buy setup//
//----------//
priceflip1 = barssince(src > src[4])
buysetup = src < src[4] and priceflip1
buy = buysetup and barssince(priceflip1 != BarsCount)
buyovershoot = barssince(priceflip1 != BarsCount+4) and buysetup
buyovershoot1 = barssince(priceflip1 != BarsCount+5) and buysetup
buyovershoot2 = barssince(priceflip1 != BarsCount+6) and buysetup
buyovershoot3 = barssince(priceflip1 != BarsCount+7) and buysetup

//----------//
// TD lines //
//----------//
TDbuyh = valuewhen(buy, high, 0)
TDbuyl = valuewhen(buy, low, 0)
TDsellh = valuewhen(sell, high, 0)
TDselll = valuewhen(sell, low, 0)

//----------//
//   Plots  //
//----------//

plot(SR ? TDbuyh ? TDbuyl : na : na, style=plot.style_circles, linewidth=1, color=color.red)
plot(SR ? TDselll ? TDsellh : na : na, style=plot.style_circles, linewidth=1, color=color.lime)
barcolor(Barcolor ? sell ? #FF0000 : buy ? #00FF00 : sellovershoot ? #FF66A3 : sellovershoot1 ? #FF3385 : sellovershoot2 ? #FF0066 : sellovershoot3 ? #CC0052 : buyovershoot ? #D6FF5C : buyovershoot1 ? #D1FF47 : buyovershoot2 ? #B8E62E : buyovershoot3 ? #8FB224 : na : na)

//  Strategy: (Thanks to JayRogers)
// === STRATEGY RELATED INPUTS ===
//tradeInvert     = input(defval = false, title = "Invert Trade Direction?")
// the risk management inputs
inpTakeProfit   = input(defval = 0, title = "Take Profit Points", minval = 0)
inpStopLoss     = input(defval = 0, title = "Stop Loss Points", minval = 0)
inpTrailStop    = input(defval = 100, title = "Trailing Stop Loss Points", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Loss Offset Points", minval = 0)

// === RISK MANAGEMENT VALUE PREP ===
// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() => buy or buyovershoot or buyovershoot1 or buyovershoot2 or buyovershoot3// functions can be used to wrap up and work out complex conditions
//exitLong() => oscillator <= 0
strategy.entry(id = "Buy", long = true, when = enterLong() )// use function or simple condition to decide when to get in
//strategy.close(id = "Buy", when = exitLong() )// ...and when to get out

// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() => sell or sellovershoot or sellovershoot2 or sellovershoot3
//exitShort() => oscillator >= 0
strategy.entry(id = "Sell", long = false, when = enterShort())
//strategy.close(id = "Sell", when = exitShort() )

// === STRATEGY RISK MANAGEMENT EXECUTION ===
// finally, make use of all the earlier values we got prepped
strategy.exit("Exit Buy", from_entry = "Buy", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Sell", from_entry = "Sell", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)



مزید