حمایت مزاحمت اور رفتار کے اشارے پر مبنی حکمت عملی کے بعد ملٹی ٹائم فریم کا رجحان


تخلیق کی تاریخ: 2024-03-08 17:41:26 آخر میں ترمیم کریں: 2024-03-08 17:41:26
کاپی: 0 کلکس کی تعداد: 603
1
پر توجہ دیں
1617
پیروکار

حمایت مزاحمت اور رفتار کے اشارے پر مبنی حکمت عملی کے بعد ملٹی ٹائم فریم کا رجحان

حکمت عملی کا جائزہ

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

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

  1. سب سے پہلے ، ماضی میں ایک خاص دورانیے کی اعلی ترین کم ترین قیمتوں کے مطابق محور پوائنٹس کا حساب لگائیں ، تاکہ موجودہ قیمت کی حمایت کی مزاحمت کی جگہ حاصل کی جاسکے۔
  2. سپر ٹرینڈ اشارے کا استعمال کرتے ہوئے رجحانات کا تعین کریں۔ سپر ٹرینڈ کا حساب متحرک سپورٹ مزاحمت سے کیا جاتا ہے ، جو ایک رجحان سے باخبر رہنے والا اشارے ہے۔
  3. اے ٹی آر اسٹاپ کا استعمال کریں۔ اس حکمت عملی میں اے ٹی آر کو اسٹاپ نقصان کے طور پر شامل کیا گیا ہے ، جو اصل سپر ٹرینڈ کی بنیاد پر ہے۔
  4. حرکت پذیر اوسط کو رجحان فلٹر کے طور پر استعمال کریں۔ صرف اس صورت میں جب رجحان بڑھتا ہے اور قیمت اوسط سے اوپر ہوتی ہے تو زیادہ کریں ، اور جب رجحان نیچے ہوتا ہے اور قیمت اوسط سے نیچے ہوتی ہے تو خالی کریں۔
  5. ٹریڈنگ ٹائم ونڈوز قائم کریں۔ صرف مخصوص ٹائم زون کے اندر ہی پوزیشن کھولی جائے ، تاکہ اہم وقت پر تجارت سے بچا جاسکے۔
  6. کثیر خالی پوزیشنوں کو الگ الگ انتظام کیا جاتا ہے۔ کثیر سر اور خالی سر سگنل الگ الگ پوزیشن کھولنے کی منطق کو متحرک کرتے ہیں۔

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

طاقت کا تجزیہ

  1. سپورٹ اور مزاحمت کی سطح پر مبنی تجارت کا فائدہ یہ ہے کہ مارکیٹ کی طلب اور رسد کے قوانین کے مطابق ، محور نقطہ متحرک طور پر مارکیٹ کے توازن کا جواب دے گا۔
  2. سپر رجحانات رجحانات کو مؤثر طریقے سے پکڑنے اور بروقت روکنے کے قابل ہیں۔ اے ٹی آر اسٹاپ نقصانات خطرے کو مزید کنٹرول کرتے ہیں۔
  3. اوسط لائن فلٹرنگ سے الٹا ٹریڈنگ سے بچا جاتا ہے۔ جب رجحان اور اوسط لائن کی گونج ہوتی ہے تو ، جیتنے کی شرح زیادہ ہوتی ہے۔
  4. اپنی مرضی کے مطابق ٹریڈنگ ٹائم ونڈوز اہم وقت کے پوائنٹس پر ٹریڈنگ سے بچنے کے لئے، جیسے کھلنے اور بند ہونے سے پہلے.
  5. کثیر سر اور خالی سر سگنل الگ الگ کام کرتے ہیں ، ایک ہی وقت میں کثیر خالی پوزیشن رکھتے ہیں ، تاکہ مارکیٹ کے مواقع سے زیادہ سے زیادہ فائدہ اٹھایا جاسکے۔

خطرے کا تجزیہ

  1. اکثر تجارت کرنے کا خطرہ۔ اس حکمت عملی سے اکثر غیر مستحکم بازاروں میں غیر مستحکم پوزیشنیں کھولی جاسکتی ہیں ، جس کی وجہ سے تجارت کے اخراجات میں اضافہ ہوتا ہے۔
  2. اگرچہ اس حکمت عملی میں اوسط لائن فلٹرنگ کا استعمال کیا گیا ہے ، لیکن اگر اوسط لائن خود ہی بڑے رجحان سے متصادم ہو تو اس کے برعکس تجارت ممکن ہے۔
  3. پیرامیٹرز کو بہتر بنانے کا مسئلہ۔ حکمت عملی میں بہت سارے پیرامیٹرز شامل ہیں ، جیسے سپر ٹرینڈ کی مدت اور ضرب ، اوسط مدت وغیرہ۔ مختلف پیرامیٹرز مختلف نتائج حاصل کریں گے ، کس طرح بہترین پیرامیٹرز کا مجموعہ منتخب کرنا ایک چیلنج ہے۔
  4. یہ حکمت عملی انتہائی حالات میں ناکام ہوسکتی ہے۔ اس طرح کے انتہائی حالات میں ، جیسے کہ تیزی سے زوال ، لیکویڈیٹی بحران وغیرہ ، اس حکمت عملی کو بروقت روکنا ممکن نہیں ہے۔

اصلاح کی سمت

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

خلاصہ کریں۔

اس حکمت عملی میں متعدد تکنیکی تجزیہ کے طریقوں کو شامل کیا گیا ہے ، جیسے کہ معاون مزاحمت ، رجحان کی پیروی ، اور حرکیات فلٹرنگ ، جو رجحان کی صورت حال میں موثر منافع حاصل کرنے کے قابل ہے ، جبکہ واپسی کے خطرے کو کنٹرول کرتا ہے۔ اس کا فائدہ یہ ہے کہ سگنل واضح طور پر جامع ، منطقی طور پر واضح ہے ، اور درمیانی مدت کے دوران استعمال کے لئے موزوں ہے۔ تاہم ، اس حکمت عملی میں اکثر تجارت ، پیرامیٹرز کو بہتر بنانے میں دشواری ، اور انتہائی حالات میں خطرے کو کنٹرول کرنے میں کمی کے مسائل بھی ہیں۔ مستقبل میں مزید تکنیکی اشارے متعارف کرانے ، پیرامیٹرز کو بہتر بنانے ، ہارڈ اسٹاپ نقصانات قائم کرنے ، غیر معمولی حالات کا فیصلہ کرنے وغیرہ کے ذریعہ مزید بہتری لائی جاسکتی ہے۔ مجموعی طور پر ، یہ حکمت عملی ایک نسبتا mature بالغ رجحانات کی پیروی کرنے والی حکمت عملی ہے ، اور مناسب اصلاح اور بہتری کے بعد ، یہ ایک مستحکم تجارتی نظام بن سکتی ہے۔ حکمت عملی کا راستہ قرضہ لینے کے قابل ہے ، لیکن پھر بھی عملی تجارت اور مارکیٹ کی خصوصیات پر غور کرنے کی ضرورت ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@rpcoelho
// Based on © Julien_Eche "Pivot Point Supertrend" with optional EMAs ploted
//@version=4

strategy("PPS w/ EMAs", overlay=true)

prd = input(defval = 1, title="Pivot Point Period", minval = 1, maxval = 50)
Factor=input(defval = 4, title = "ATR Factor", minval = 1, step = 0.1)
Pd=input(defval = 72, title = "ATR Period", minval=1)
showpivot = input(defval = false, title="Show Pivot Points")
showlabel = input(defval = true, title="Show Buy/Sell Labels")
showcl = input(defval = false, title="Show PP Center Line")
showsr = input(defval = false, title="Show Support/Resistance")

/////////////////////////////////////////////////////////////////////////
// Switch Board
////////////////////////////////////////////////////////////////////////
// Define the switch board title as a label (since grouping is not available)
//switchboard_group = "████ Switch Board (Turn On/Off Overlay Indicators) ████"
//label.new(bar_index, high, switchboard_group, color=color.red)
// Create input controls for EMA and VWAP switches
switch_ema = input(true, title="EMA")

/////////////////////////////////////////////////////////////////////////
// EMA Selection
////////////////////////////////////////////////////////////////////////

ma_function(source, length, type) =>
    float ma = na
    if type == 'RMA'
        ma := rma(source, length)
    else if type == 'SMA'
        ma := sma(source, length)
    else if type == 'EMA'
        ma := ema(source, length)
    else if type == 'WMA'
        ma := wma(source, length)
    else if type == 'HMA'
        ma := length < 2 ? hma(source, 2) : hma(source, length)
    else
        ma := vwma(source, length)
    ma

// Moving Averages Line Title
//ma_group = "██████████ MAs Line ██████████"

// Inputs for MA 1
len1bool = input(false, title="Show MA 1")
len1 = input(13, title="Length MA 1")
ma_1_type = input("EMA", title="Type MA 1", options=["RMA", "SMA", "EMA", "WMA", "HMA", "VWMA"])
src_ma1 = input(title="MA1 Source", type=input.source, defval=close)
ma_1_colour = input(color.rgb(235, 159, 238), title="Color MA 1")

// Inputs for MA 2
len2bool = input(false, title="Show MA 2")
len2 = input(17, title="Length MA 2")
ma_2_type = input("EMA", title="Type MA 2", options=["RMA", "SMA", "EMA", "WMA", "HMA", "VWMA"])
src_ma2 = input(title="MA2 Source", type=input.source, defval=close)
ma_2_colour = input(color.rgb(230, 241, 65), title="Color MA 2")

// Inputs for MA 3
len3bool = input(true, title="Show MA 3")
len3 = input(34, title="Length MA 3")
ma_3_type = input("EMA", title="Type MA 3", options=["RMA", "SMA", "EMA", "WMA", "HMA", "VWMA"])
src_ma3 = input(title="MA3 Source", type=input.source, defval=close)
ma_3_colour = input(#c7f887, title="Color MA 3")

// Inputs for MA 4
len4bool = input(false, title="Show MA 4")
len4 = input(72, title="Length MA 4")
ma_4_type = input("EMA", title="Type MA 4", options=["RMA", "SMA", "EMA", "WMA", "HMA", "VWMA"])
src_ma4 = input(title="MA4 Source", type=input.source, defval=close)
ma_4_colour = input(#2f6999, title="Color MA 4")

// Inputs for MA 5
len5bool = input(true, title="Show MA 5")
len5 = input(144, title="Length MA 5")
ma_5_type = input("EMA", title="Type MA 5", options=["RMA", "SMA", "EMA", "WMA", "HMA", "VWMA"])
src_ma5 = input(title="MA5 Source", type=input.source, defval=close)
ma_5_colour = input(color.rgb(13, 156, 37), title="Color MA 5")

// Inputs for MA 6
len6bool = input(true, title="Show MA 6")
len6 = input(610, title="Length MA 6")
ma_6_type = input("EMA", title="Type MA 6", options=["RMA", "SMA", "EMA", "WMA", "HMA", "VWMA"])
src_ma6 = input(title="MA6 Source", type=input.source, defval=close)
ma_6_colour = input(color.rgb(173, 161, 152), title="Color MA 6")

// Inputs for MA 7
len7bool = input(true, title="Show MA 7")
len7 = input(8, title="Length MA 7")
ma_7_type = input("EMA", title="Type MA 7", options=["RMA", "SMA", "EMA", "WMA", "HMA", "VWMA"])
src_ma7 = input(title="MA7 Source", type=input.source, defval=close)
ma_7_colour = input(color.rgb(68, 39, 231), title="Color MA 7")

// Inputs for MA 8
len8bool = input(true, title="Show MA 8")
len8 = input(21, title="Length MA 8")
ma_8_type = input("EMA", title="Type MA 8", options=["RMA", "SMA", "EMA", "WMA", "HMA", "VWMA"])
src_ma8 = input(title="MA8 Source", type=input.source, defval=close)
ma_8_colour = input(color.white, title="Color MA 8")

ema1 = security(syminfo.tickerid, timeframe.period, ma_function(src_ma1, len1, ma_1_type))
ema2 = security(syminfo.tickerid, timeframe.period, ma_function(src_ma2, len2, ma_2_type))
ema3 = security(syminfo.tickerid, timeframe.period, ma_function(src_ma3, len3, ma_3_type))
ema4 = security(syminfo.tickerid, timeframe.period, ma_function(src_ma4, len4, ma_4_type))
ema5 = security(syminfo.tickerid, timeframe.period, ma_function(src_ma5, len5, ma_5_type))
ema6 = security(syminfo.tickerid, timeframe.period, ma_function(src_ma6, len6, ma_6_type))
ema7 = security(syminfo.tickerid, timeframe.period, ma_function(src_ma7, len7, ma_7_type))
ema8 = security(syminfo.tickerid, timeframe.period, ma_function(src_ma8, len8, ma_8_type))

plot(len1bool and switch_ema ? ema1:na, color=ma_1_colour, linewidth=1, title='MA 1')
plot(len2bool and switch_ema? ema2:na, color=ma_2_colour, linewidth=1, title='MA 2')
plot(len3bool and switch_ema? ema3:na, color=ma_3_colour, linewidth=1, title='MA 3')
plot(len4bool and switch_ema? ema4:na, color=ma_4_colour, linewidth=1, title='MA 4')
plot(len5bool and switch_ema? ema5:na, color=ma_5_colour, linewidth=1, title='MA 5')
plot(len6bool and switch_ema? ema6:na, color=ma_6_colour, linewidth=2, title='MA 6')
plot(len7bool and switch_ema? ema7:na, color=ma_7_colour, linewidth=1, title='MA 7')
plot(len8bool and switch_ema? ema8:na, color=ma_8_colour, linewidth=1, title='MA 8')









// get Pivot High/Low
float ph = pivothigh(prd, prd)
float pl = pivotlow(prd, prd)

// drawl Pivot Points if "showpivot" is enabled
plotshape(ph and showpivot, text="H",  style=shape.labeldown, color=na, textcolor=color.red, location=location.abovebar, transp=0, offset = -prd)
plotshape(pl and showpivot, text="L",  style=shape.labeldown, color=na, textcolor=color.lime, location=location.belowbar, transp=0, offset = -prd)

// calculate the Center line using pivot points
var float center = na
float lastpp = ph ? ph : pl ? pl : na
if lastpp
    if na(center)
        center := lastpp
    else
        //weighted calculation
        center := (center * 2 + lastpp) / 3

// upper/lower bands calculation
Up = center - (Factor * atr(Pd))
Dn = center + (Factor * atr(Pd))

// get the trend
float TUp = na
float TDown = na
Trend = 0
TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up
TDown := close[1] < TDown[1] ? min(Dn, TDown[1]) : Dn
Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1)
Trailingsl = Trend == 1 ? TUp : TDown

// plot the trend
linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na
plot(Trailingsl, color = linecolor ,  linewidth = 2, title = "PP SuperTrend")
 
plot(showcl ? center : na, color = showcl ? center < hl2 ? color.blue : color.red : na)

// check and plot the signals
bsignal = Trend == 1 and Trend[1] == -1
ssignal = Trend == -1 and Trend[1] == 1
plotshape(bsignal and showlabel ? Trailingsl : na, title="Buy", text="Buy", location = location.absolute, style = shape.labelup, size = size.tiny, color = color.lime, textcolor = color.black, transp = 0)
plotshape(ssignal and showlabel ? Trailingsl : na, title="Sell", text="Sell", location = location.absolute, style = shape.labeldown, size = size.tiny, color = color.red, textcolor = color.white, transp = 0)

//get S/R levels using Pivot Points
float resistance = na
float support = na
support := pl ? pl : support[1]
resistance := ph ? ph : resistance[1]

// if enabled then show S/R levels
plot(showsr and support ? support : na, color = showsr and support ? color.lime : na, style = plot.style_circles, offset = -prd)
plot(showsr and resistance ? resistance : na, color = showsr and resistance ? color.red : na, style = plot.style_circles, offset = -prd)

// Trend Filter from SuperTrend Long Strategy
Periods = input(title="ATR Period", type=input.integer, defval=3)
src = input(hlc3, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=4.0)
changeATR = input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)

// Combine the SuperTrend calculations
atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2

up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up

dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? 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

// Moving Average as Trend Filter
periodes_ma = input(title="Moving Average Period", type=input.integer, defval=20)
src_ma = input(title="Moving Average Source", type=input.source, defval=close)
ma = sma(src_ma, periodes_ma)

// Strategy Entry Conditions
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2017, title = "From Year", minval = 999)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 999)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       

window()  => true

// Combined entry conditions
longCondition = (trend == 1 and trend[1] == -1 and close > ma) or (bsignal and window())
shortCondition = (trend == -1 and trend[1] == 1 and close < ma) or (ssignal and window())

if (longCondition)
    strategy.entry("BUY", strategy.long)

if (shortCondition)
    strategy.close("BUY")
    strategy.entry("SELL", strategy.short)

buy1 = barssince((trend == 1 and trend[1] == -1 and close > ma) or (bsignal and window()))
sell1 = barssince((trend == -1 and trend[1] == 1 and close < ma) or (ssignal and window()))
color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na
barcolor(color1)