
ڈبل مساوی لائن اسمارٹ ٹریکنگ ٹریڈنگ حکمت عملی ایک رجحان ٹریکنگ حکمت عملی ہے جو مساوی لائن اور مخصوص اشارے پر مبنی ہے۔ اس حکمت عملی میں دو مختلف پیرامیٹرز کی ترتیبات کا استعمال کرتے ہوئے مساوی لائن چینل کی تعمیر کی جاتی ہے ، اور او ٹی ٹی اشارے کے ساتھ مل کر چینل کی اوپری اور نچلی حد طے کی جاتی ہے ، جس سے قیمت کے رجحانات پر ذہین ٹریکنگ ممکن ہوتی ہے۔ جب قیمت چینل کو توڑتی ہے تو خریدنے یا بیچنے کا کام انجام دیا جاتا ہے۔
یہ حکمت عملی بنیادی طور پر دو موبائل اوسط اور او ٹی ٹی کے اشارے استعمال کرتی ہے تاکہ موافقت کا راستہ بنایا جاسکے۔
فوری لائن MAvg کا حساب لگائیں ، جس میں CLOSE اختتامی قیمت اور اپنی مرضی کے مطابق اوسط لائن بطور ان پٹ ہے ، جس کی لمبائی 5 ہے۔
MAvg اور سیٹ فیصد کی بنیاد پر ، چینل کی کم سے کم لمبی لائن کی لمبائی اور مختصر لائن کی لمبائی کا حساب لگائیں۔
او ٹی ٹی اشارے میں چینل موبائل اسٹاپ نقصان ایم ٹی کا حساب لگائیں ، او ٹی ٹی چینل کی قیمتوں کا حساب لگانے کے لئے او ٹی ٹی کی قیمتوں کا حساب لگائیں۔
جب قیمت او ٹی ٹی سے ٹکرا جاتی ہے تو ، ایک تجارتی سگنل پیدا ہوتا ہے۔
مندرجہ بالا عمل ایک موافقت پذیر چینل کی تعمیر کرتا ہے ، جس سے حکمت عملی کو قیمتوں میں تبدیلی کے رجحانات کو حقیقی وقت میں ٹریک کرنے کی اجازت ملتی ہے ، جس کے نتیجے میں تجارتی سگنل پیدا ہوتے ہیں۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اس حکمت عملی کے کچھ خطرات بھی ہیں:
مذکورہ بالا خطرات کے لئے ، پیرامیٹرز کو بہتر بنانے ، دوسرے اشارے یا بنیادی فلٹرنگ سگنل وغیرہ کے ساتھ مل کر بہتر اور بہتر بنایا جاسکتا ہے۔
اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
یہ حکمت عملی مجموعی طور پر ایک ڈبل مساوی لائن چینل اور او ٹی ٹی اشارے پر مبنی رجحانات کی پیروی کرنے کی حکمت عملی ہے ، جس کا بنیادی خیال یہ ہے کہ موافقت پذیر چینل کی تعمیر کی جائے ، اور تجارتی سگنل پیدا کرنے کے لئے اس سے تجاوز کیا جائے۔ اس حکمت عملی میں کچھ فوائد ہیں ، لیکن اس میں ممکنہ بہتری کی گنجائش بھی موجود ہے۔ پیرامیٹرز اور قواعد کی اصلاح کے ذریعہ ، یہ حکمت عملی ایک اعلی کارکردگی والی تجارتی حکمت عملی بن سکتی ہے جس کی جانچ پڑتال کے قابل ہے۔
/*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")