ڈبل موونگ ایوریج پر مبنی ذہین ٹریکنگ ٹریڈنگ حکمت عملی


تخلیق کی تاریخ: 2024-02-18 15:58:08 آخر میں ترمیم کریں: 2024-02-18 15:58:08
کاپی: 2 کلکس کی تعداد: 505
1
پر توجہ دیں
1617
پیروکار

ڈبل موونگ ایوریج پر مبنی ذہین ٹریکنگ ٹریڈنگ حکمت عملی

جائزہ

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

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

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

  1. فوری لائن MAvg کا حساب لگائیں ، جس میں CLOSE اختتامی قیمت اور اپنی مرضی کے مطابق اوسط لائن بطور ان پٹ ہے ، جس کی لمبائی 5 ہے۔

  2. MAvg اور سیٹ فیصد کی بنیاد پر ، چینل کی کم سے کم لمبی لائن کی لمبائی اور مختصر لائن کی لمبائی کا حساب لگائیں۔

  3. او ٹی ٹی اشارے میں چینل موبائل اسٹاپ نقصان ایم ٹی کا حساب لگائیں ، او ٹی ٹی چینل کی قیمتوں کا حساب لگانے کے لئے او ٹی ٹی کی قیمتوں کا حساب لگائیں۔

  4. جب قیمت او ٹی ٹی سے ٹکرا جاتی ہے تو ، ایک تجارتی سگنل پیدا ہوتا ہے۔

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

اسٹریٹجک فوائد

یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:

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

اسٹریٹجک رسک

اس حکمت عملی کے کچھ خطرات بھی ہیں:

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

مذکورہ بالا خطرات کے لئے ، پیرامیٹرز کو بہتر بنانے ، دوسرے اشارے یا بنیادی فلٹرنگ سگنل وغیرہ کے ساتھ مل کر بہتر اور بہتر بنایا جاسکتا ہے۔

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

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

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

خلاصہ کریں۔

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

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

//@version=4
strategy(title="BugRA_Trade_Strategy", shorttitle="BugRA_Trade_Strategy", overlay=true)

// Kullanıcı Girdileri
length = input(5, title="Period", minval=1)
percent = input(1, title="Sihirli Yüzde", type=input.float, step=0.1, minval=0)
mav = input(title="Hareketli Ortalama Türü", defval="VAR", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"])
wt_n1 = input(10, title="Kanal Periyodu")
wt_n2 = input(21, title="Averaj Uzunluğu")
src = close

// Tarih Aralığı Girdileri
startDate = input(20200101, title="Başlangıç Tarihi (YYYYMMDD)")
endDate = input(20201231, title="Bitiş Tarihi (YYYYMMDD)")

// Tarih Filtresi Fonksiyonu
isDateInRange() => true

// Özel Fonksiyonlar
Var_Func(src, length) =>
    valpha = 2 / (length + 1)
    vud1 = src > src[1] ? src - src[1] : 0
    vdd1 = src < src[1] ? src[1] - src : 0
    vUD = sum(vud1, length)
    vDD = sum(vdd1, length)
    vCMO = (vUD - vDD) / (vUD + vDD)
    varResult = 0.0
    varResult := nz(valpha * abs(vCMO) * src + (1 - valpha * abs(vCMO)) * nz(varResult[1]))
    varResult

Wwma_Func(src, length) =>
    wwalpha = 1 / length
    wwma = 0.0
    wwma := wwalpha * src + (1 - wwalpha) * nz(wwma[1])
    wwma

Zlema_Func(src, length) =>
    zxLag = floor(length / 2)
    zxEMAData = src + (src - src[zxLag])
    zlema = ema(zxEMAData, length)
    zlema

Tsf_Func(src, length) =>
    lrc = linreg(src, length, 0)
    lrs = lrc - linreg(src, length, 1)
    tsf = lrc + lrs
    tsf

getMA(src, length) =>
    ma = mav == "SMA" ? sma(src, length) :
         mav == "EMA" ? ema(src, length) :
         mav == "WMA" ? wma(src, length) :
         mav == "TMA" ? sma(sma(src, ceil(length / 2)), floor(length / 2) + 1) :
         mav == "VAR" ? Var_Func(src, length) :
         mav == "WWMA" ? Wwma_Func(src, length) :
         mav == "ZLEMA" ? Zlema_Func(src, length) :
         mav == "TSF" ? Tsf_Func(src, length) : na

// Strateji Hesaplamaları
MAvg = getMA(src, length)
fark = MAvg * percent * 0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop = MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop

dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir==1 ? longStop: shortStop
OTT = MAvg > MT ? MT*(200+percent)/200 : MT*(200-percent)/200

plot(OTT, title="BugRA", color=color.rgb(251, 126, 9))

// Alım ve Satım Koşulları
longCondition = crossover(src, OTT) and isDateInRange()
shortCondition = crossunder(src, OTT) and isDateInRange()

// Strateji Giriş ve Çıkış Emirleri
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.close("Long")