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

مصنف:چاؤ ژانگ، تاریخ: 2023-11-13 16:44:58
ٹیگز:

img

جائزہ

رفتار کی قیمت کے رجحان کو ٹریک کرنے کی حکمت عملی قیمت کے رجحانات کی نشاندہی کرنے کے لئے متعدد رفتار کے اشارے استعمال کرتی ہے ، رجحانات کے آغاز میں پوزیشنیں قائم کرتی ہے ، اور قیمت کے رجحانات کو ٹریک کرنے کے لئے اسٹاپ منافع اور اسٹاپ نقصان کی ترتیبات کے ذریعہ منافع میں تالے لگاتی ہے۔

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

رفتار کی قیمتوں کے رجحان کی نگرانی کی حکمت عملی بنیادی طور پر مندرجہ ذیل تکنیکی اشارے کا اطلاق کرتی ہے:

  1. آر او سی اشارے: یہ اشارے قیمت کی رفتار کا تعین کرنے کے لئے ایک خاص مدت کے دوران قیمت میں تبدیلی کی فیصد کی شرح کا حساب لگاتا ہے۔ جب آر او سی مثبت ہے تو ، اس کا مطلب ہے کہ قیمتیں بڑھ رہی ہیں۔ جب آر او سی منفی ہے تو ، اس کا مطلب ہے کہ قیمتیں گر رہی ہیں۔ حکمت عملی قیمت کے رجحان کی سمت کا تعین کرنے کے لئے آر او سی اشارے کا استعمال کرتی ہے۔

  2. بیل پاور اور ریچھ پاور اشارے: یہ اشارے بیل اور ریچھ کے مابین طاقت کے موازنہ کی عکاسی کرتا ہے۔ بیل پاور > 0 سے ظاہر ہوتا ہے کہ بیل کی طاقت ریچھ کی طاقت سے زیادہ ہے اور قیمتیں بڑھتی ہیں۔ حکمت عملی بیل اور ریچھ کی طاقت کا موازنہ کرکے قیمت کی سمت کی پیش گوئی کرنے کے لئے اس اشارے کا استعمال کرتی ہے۔

  3. تغیر: یہ اشارے قیمت اور حجم کی تغیر کا حساب لگاتے ہوئے رجحان کی تبدیلی کی نشاندہی کرتا ہے۔ حکمت عملی میں تغیر کے اشاروں کو انٹری ٹائمنگ کے طور پر استعمال کیا جاتا ہے۔

  4. ڈونچیئن چینل: یہ اشارے سب سے زیادہ اور سب سے کم قیمتوں کا استعمال کرتے ہوئے چینل بناتا ہے ، اور چینل کی حدود معاونت اور مزاحمت کے طور پر کام کرسکتی ہیں۔ حکمت عملی چینل کا استعمال رجحان کی سمت کا تعین کرنے کے لئے کرتی ہے۔

  5. چلتی اوسط: یہ اشارے مجموعی رجحان کی سمت کی نشاندہی کرنے کے لئے قیمتوں میں اتار چڑھاؤ کو ہموار کرتا ہے۔ حکمت عملی عام قیمت کے رجحان کا تعین کرنے کے لئے اس کا استعمال کرتی ہے۔

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

فوائد کا تجزیہ

اس حکمت عملی کے فوائد میں شامل ہیں:

  1. رجحانات کا تعین کرنے کے لئے متعدد اشارے کا استعمال غلط تشخیص کے امکان کو کم کرتا ہے۔

  2. اشارے کے اختلافات کا استعمال کرتے ہوئے رجحان کے الٹ پوائنٹس کو درست طریقے سے پکڑنے کے قابل بناتا ہے۔

  3. چینلز اور حرکت پذیر اوسطوں کو یکجا کرنے سے مجموعی رجحان کا تعین کرنے میں مدد ملتی ہے۔

  4. اسٹاپ منافع اور اسٹاپ نقصان کا تعین منافع کو بروقت یقینی بناتا ہے اور توسیع شدہ ڈراؤونگ سے بچتا ہے۔

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

  6. واضح منطق مزید اصلاح کی سہولت فراہم کرتی ہے۔

خطرے کا تجزیہ

اس حکمت عملی کے ممکنہ خطرات میں شامل ہیں:

  1. متعدد اشارے غلط سگنل کے امکان کو بڑھا سکتے ہیں۔ اشارے کے وزن کو بہتر بنانے کی ضرورت ہے۔

  2. سٹاپ نقصان کے مقامات کو بہت کم مقرر کرنے سے سٹاپ نقصان کا امکان بڑھ سکتا ہے ، جبکہ بہت وسیع ہونے سے ڈراؤونگ میں اضافہ ہوسکتا ہے۔ معقول نکات پر جامع غور کرنے کی ضرورت ہے۔

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

  4. زیادہ منافع حاصل کرنے کے لئے اعلی پوزیشن یونٹس کی حمایت کے لئے کافی سرمایہ کی ضرورت ہے۔

  5. بیک ٹیسٹ سے زیادہ فٹ ہونے کے خطرات موجود ہیں۔ حقیقی تجارت کی کارکردگی میں غیر یقینی صورتحال ہے۔

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

حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:

  1. مختلف ادوار اور مصنوعات کے لئے بہترین مجموعے تلاش کرنے کے لئے اشارے کے پیرامیٹرز کو بہتر بنائیں.

  2. خودکار طریقے سے زیادہ سے زیادہ پیرامیٹرز تلاش کرنے کے لیے مشین لرننگ الگورتھم متعارف کروائیں۔

  3. مارکیٹ کے حالات پر مبنی موافقت پذیر سٹاپ نقصان کے طریقہ کار میں تعمیر کریں.

  4. الفا کو بہتر بنانے کے لیے اعلی تعدد کے عوامل اور بنیادیات کو شامل کریں۔

  5. پیرامیٹرز کی اصلاح اور کارکردگی کی تصدیق کے لئے خودکار ٹیسٹنگ فریم ورک تیار کریں۔

  6. موقف کے سائز کو کنٹرول کرنے اور ڈراؤنڈ کو کم کرنے کے لئے رسک مینجمنٹ ماڈیولز متعارف کرانا۔

  7. استحکام کو بہتر بنانے کے لئے سیمولیٹڈ اور لائیو ٹریڈنگ اور ٹیسٹنگ شامل کریں.

نتیجہ

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mbagheri746

//@version=4
strategy("Bagheri IG Ether v2", overlay=true, margin_long=100, margin_short=100)

TP = input(3000, minval = 1 , title ="Take Profit")
SL = input(2200, minval = 1 , title ="Stop Loss")


//_________________ RoC Definition _________________


rocLength = input(title="ROC Length", type=input.integer, minval=1, defval=186)
smoothingLength = input(title="Smoothing Length", type=input.integer, minval=1, defval=50)
src = input(title="Source", type=input.source, defval=close)

ma = ema(src, smoothingLength)
mom = change(ma, rocLength)

sroc = nz(ma[rocLength]) == 0
     ? 100
     : mom == 0
         ? 0
         : 100 * mom / ma[rocLength]

//srocColor = sroc >= 0 ? #0ebb23 : color.red
//plot(sroc, title="SROC", linewidth=2, color=srocColor, transp=0)
//hline(0, title="Zero Level", linestyle=hline.style_dotted, color=#989898)


//_________________ Donchian Channel _________________

length1 = input(53, minval=1, title="Upper Channel")
length2 = input(53, minval=1, title="Lower Channel")
offset_bar = input(91,minval=0, title ="Offset Bars")

upper = highest(length1)
lower = lowest(length2)

basis = avg(upper, lower)


DC_UP_Band = upper[offset_bar]
DC_LW_Band = lower[offset_bar]

l = plot(DC_LW_Band, style=plot.style_line, linewidth=1, color=color.red)
u = plot(DC_UP_Band, style=plot.style_line, linewidth=1, color=color.aqua)

fill(l,u,color = color.new(color.aqua,transp = 90))

//_________________ Bears Power _________________


wmaBP_period = input(65,minval=1,title="BearsP WMA Period")
line_wma = ema(close, wmaBP_period)

BP = low - line_wma


//_________________ Balance of Power _________________

ES_BoP=input(15, title="BoP Exponential Smoothing")
BOP=(close - open) / (high - low)

SBOP = rma(BOP, ES_BoP)

//_________________ Alligator _________________

//_________________ CCI _________________

//_________________ Moving Average _________________

sma_period = input(74, minval = 1 , title = "SMA Period")
sma_shift = input(37, minval = 1 , title = "SMA Shift")

sma_primary = sma(close,sma_period)

SMA_sh = sma_primary[sma_shift]

plot(SMA_sh, style=plot.style_line, linewidth=2, color=color.yellow)

//_________________ Long Entry Conditions _________________//

MA_Lcnd = SMA_sh > low and SMA_sh < high

ROC_Lcnd = sroc < 0

DC_Lcnd = open < DC_LW_Band

BP_Lcnd = BP[1] < BP[0] and BP[1] < BP[2]

BOP_Lcnd = SBOP[1] < SBOP[0]

//_________________ Short Entry Conditions _________________//

MA_Scnd = SMA_sh > low and SMA_sh < high

ROC_Scnd = sroc > 0

DC_Scnd = open > DC_UP_Band

BP_Scnd = BP[1] > BP[0] and BP[1] > BP[2]

BOP_Scnd = SBOP[1] > SBOP[0]

//_________________ OPEN POSITION __________________//

if strategy.position_size  == 0
    strategy.entry(id = "BUY", long = true , when = MA_Lcnd and ROC_Lcnd and DC_Lcnd and BP_Lcnd and BOP_Lcnd)
    strategy.entry(id = "SELL", long = false , when = MA_Scnd and ROC_Scnd and DC_Scnd and BP_Scnd and BOP_Scnd)

//_________________ CLOSE POSITION __________________//

strategy.exit(id = "CLOSE BUY", from_entry = "BUY", profit = TP , loss = SL)

strategy.exit(id = "CLOSE SELL", from_entry = "SELL" , profit = TP , loss = SL)

//_________________ TP and SL Plot __________________//

currentPL= strategy.openprofit
pos_price = strategy.position_avg_price
open_pos = strategy.position_size

TP_line = (strategy.position_size  > 0) ? (pos_price + TP/100) : strategy.position_size < 0 ? (pos_price - TP/100) : 0.0
SL_line = (strategy.position_size  > 0) ? (pos_price - SL/100) : strategy.position_size < 0 ? (pos_price + SL/100) : 0.0

// hline(TP_line, title = "Take Profit", color = color.green , linestyle = hline.style_dotted, editable = false)
// hline(SL_line, title = "Stop Loss", color = color.red , linestyle = hline.style_dotted, editable = false)


Tline = plot(TP_line != 0.0 ? TP_line : na , title="Take Profit", color=color.green, trackprice = true, show_last = 1)
Sline = plot(SL_line != 0.0 ? SL_line : na, title="Stop Loss", color=color.red, trackprice = true, show_last = 1)
Pline = plot(pos_price != 0.0 ? pos_price : na, title="Stop Loss", color=color.gray, trackprice = true, show_last = 1)


fill(Tline , Pline, color = color.new(color.green,transp = 90))
fill(Sline , Pline, color = color.new(color.red,transp = 90))

//_________________ Alert __________________//

//alertcondition(condition = , title = "Position Alerts", message = "Bagheri IG Ether\n Symbol: {{ticker}}\n Type: {{strategy.order.id}}")

//_________________ Label __________________//


inMyPrice           = input(title="My Price", type=input.float, defval=0)
inLabelStyle        = input(title="Label Style", options=["Upper Right", "Lower Right"], defval="Lower Right")

posColor = color.new(color.green, 25)
negColor = color.new(color.red, 25)
dftColor = color.new(color.aqua, 25)
posPnL   = (strategy.position_size != 0) ? (close * 100 / strategy.position_avg_price - 100) : 0.0
posDir   = (strategy.position_size  > 0) ? "long" : strategy.position_size < 0 ? "short" : "flat"
posCol   = (strategy.openprofit > 0) ? posColor : (strategy.openprofit < 0) ? negColor : dftColor
myPnL    = (inMyPrice != 0) ? (close * 100 / inMyPrice - 100) : 0.0

var label lb = na
label.delete(lb)
lb := label.new(bar_index, close,
   color=posCol,
   style=inLabelStyle=="Lower Right"?label.style_label_upper_left:label.style_label_lower_left,
   text=
      "╔═══════╗" +"\n" + 
      "Pos: "  +posDir +"\n" +
      "Pos Price: "+tostring(strategy.position_avg_price) +"\n" +
      "Pos PnL: "  +tostring(posPnL, "0.00") + "%" +"\n" +
      "Profit: "  +tostring(strategy.openprofit, "0.00") + "$" +"\n" +
      "TP: "  +tostring(TP_line, "0.00") +"\n" +
      "SL: "  +tostring(SL_line, "0.00") +"\n" +
      "╚═══════╝")






مزید