متحرک چینل کی ترقی کی حکمت عملی

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

img

جائزہ

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

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

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

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

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

خطرے کا تجزیہ

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

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

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

خلاصہ

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


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Keltner Strategy", overlay=true)
length = input.int(20, minval=1)
mult = input.float(2.0, "Multiplier")
src = input(close, title="Source")
exp = input(true, "Use Exponential MA")
BandsStyle = input.string("Average True Range", options = ["Average True Range", "True Range", "Range"], title="Bands Style")
atrlength = input(10, "ATR Length")
esma(source, length)=>
	s = ta.sma(source, length)
	e = ta.ema(source, length)
	exp ? e : s
ma = esma(src, length)
rangema = BandsStyle == "True Range" ? ta.tr(true) : BandsStyle == "Average True Range" ? ta.atr(atrlength) : ta.rma(high - low, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
crossUpper = ta.crossover(src, upper)
crossLower = ta.crossunder(src, lower)
bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])
sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1])
crossBcond = false
crossBcond := crossUpper ? true
     : na(crossBcond[1]) ? false : crossBcond[1]
crossScond = false
crossScond := crossLower ? true
     : na(crossScond[1]) ? false : crossScond[1]
cancelBcond = crossBcond and (src < ma or high >= bprice )
cancelScond = crossScond and (src > ma or low <= sprice )
if (cancelBcond)
	strategy.cancel("KltChLE")
if (crossUpper)
	strategy.entry("KltChLE", strategy.long, stop=bprice, comment="KltChLE")
if (cancelScond)
	strategy.cancel("KltChSE")
if (crossLower)
	strategy.entry("KltChSE", strategy.short, stop=sprice, comment="KltChSE")

مزید