وسائل لوڈ ہو رہے ہیں... لوڈنگ...

لکیری رجسٹریشن چینل بریک آؤٹ ٹریڈنگ حکمت عملی

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

img

جائزہ

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

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

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

  1. قیمتوں کی لائنری رجریشن ویلیو کا حساب لگائیں، اور اگلی مدت کی لکیری رجریشن ویلیو linreg_p

  2. linreg پر مبنی لکیری رجعت لائن کے ڈھلوان ڈھلوان اور انٹرسیپٹ انٹرسیپٹ کا حساب لگائیں

  3. ریگریشن لائن کے سلسلے میں قیمتوں کے انحراف کے انحراف کا حساب لگائیں

  4. اوپری اور نچلی بینڈ کے آفسیٹ حاصل کرنے کے لئے انحراف کے کئی گنا dev مقرر کریں

  5. جب قیمت نچلے بینڈ سے اوپر کی طرف سے توڑتا ہے، سیٹ خریدنے سگنل خریدنے

  6. جب قیمت اوپری بینڈ سے نیچے کی طرف سے توڑتا ہے، سیٹ فروخت سگنل فروخت

  7. جب قیمت چینل کے وسط لائن سے الٹ جاتا ہے، سیٹ منافع لے سگنل باہر نکلیں

  8. خرید، فروخت اور باہر نکلنے کے سگنل پر مبنی ٹریڈنگ منطق قائم کریں

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

اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ لکیری رجعت چینل کی طرف سے عکاسی درمیانے اور طویل مدتی رجحان کا استعمال کرتا ہے. خاص طور پر:

  1. اوپری اور نچلی بینڈ قیمتوں میں اتار چڑھاؤ کی معمول کی حد کو مؤثر طریقے سے ظاہر کرسکتے ہیں۔ تجارتی سگنل قائم کرنے کے لئے ان کا استعمال غلط سگنل کو کم کرسکتا ہے۔

  2. مڈل لائن کراس اوور بطور منافع لینے کا سگنل منافع کو زیادہ سے زیادہ کرسکتا ہے اور منافع کمانے کے بعد الٹ جانے سے ہونے والے نقصانات سے بچ سکتا ہے۔

  3. لکیری رجسٹریشن چینل میں کچھ تاخیر ہوتی ہے، جو مؤثر طریقے سے قلیل مدتی مارکیٹ شور کو فلٹر کر سکتی ہے اور تجارتی سگنل کو زیادہ قابل اعتماد بنا سکتی ہے۔

  4. اس حکمت عملی میں چند پیرامیٹرز ہیں اور اسے لاگو کرنا آسان ہے ، جو الگورتھم ٹریڈنگ کے لئے موزوں ہے۔

خطرے کا تجزیہ

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

  1. لکیری رجسٹریشن چینل کی تاخیر شدید قلیل مدتی تبدیلیوں کے بعد رجحانات کو یاد کر سکتی ہے۔ اصلاح کے لئے مدت کو مختصر کیا جاسکتا ہے۔

  2. انحراف کے ضارب کی غلط ترتیب سے غلط سگنل بھی پیدا ہوسکتے ہیں۔ پیرامیٹرز کو بیک ٹسٹنگ کے ذریعے بہتر بنایا جاسکتا ہے۔

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

  4. منحنی خطوط کو فٹ کرنے کے کچھ خطرات ہیں۔ دوسرے چینل اشارے کے ساتھ مل کر یا مختلف ڈیٹا ذرائع کی جانچ کرنا مددگار ثابت ہوسکتا ہے۔

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

اس حکمت عملی کے لئے اصلاح کی اہم سمتیں:

  1. تاخیر اور حساسیت کو متوازن کرنے کے لئے لکیری رجسٹریشن چینل کی لمبائی کو بہتر بنائیں.

  2. خطرہ کنٹرول کو زیادہ سے زیادہ کرتے ہوئے سگنل کی کیفیت کو بہتر بنانے کے لئے انحراف ضرب کو بہتر بنائیں.

  3. جیت کی شرح کو بہتر بنانے کے لئے سگنل فلٹرنگ کے لئے دیگر اشارے شامل کریں، مثال کے طور پر EMA، KDJ وغیرہ.

  4. سٹاپ نقصان کے طریقہ کار جیسے اے ٹی آر ٹریلنگ سٹاپ نقصان شامل کریں.

  5. حکمت عملی پر مختلف اعداد و شمار کے ذرائع کے اثرات کا تجربہ کریں، مثال کے طور پر ایڈجسٹ بند، انڈیکس ڈیٹا وغیرہ.

  6. مارکیٹ کے حالات کی بنیاد پر پیرامیٹرز یا سگنل وزن کو متحرک طور پر ایڈجسٹ کریں.

نتیجہ

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


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

//Robotrading
//@version=4

strategy("robotrading linreg", "linreg", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, commission_value = 0.1)

//Settings
source      = input(close)
length      = input(100, minval=1)
offset      = input(0, minval=0)
dev         = input(2.0, "Deviation")
smoothing   = input(1, minval=1)
mtf_val     = input("", "Resolution", input.resolution)
signals     = input("Recent", "Signals Display", options=["Recent", "All"])
goto        = input(0, "End At Bar Index")

//Lin.reg.
cc(x) => x=="Red"?color.red:x=="Lime"?color.lime:x=="Orange"?color.orange:x=="Teal"?color.teal:x=="Yellow"?color.yellow:x=="Black"?color.black:color.white
data(x) => sma(security(syminfo.tickerid, mtf_val!="" ? mtf_val : timeframe.period, x), smoothing)
linreg = data(linreg(source, length, offset))
linreg_p = data(linreg(source, length, offset+1))

//Deviation
x = bar_index
slope = linreg - linreg_p
intercept = linreg - x*slope
deviationSum = 0.0
for i = 0 to length-1
    deviationSum:= deviationSum + pow(source[i]-(slope*(x-i)+intercept), 2)  
deviation = sqrt(deviationSum/(length))
x1 = x-length
x2 = x
y1 = slope*(x-length)+intercept
y2 = linreg

//Cross
dm_current = -deviation*dev + y2
dp_current = deviation*dev + y2
ex_current = (dm_current + dp_current) / 2
buy = crossunder(close, dm_current)
sell = crossover(close, dp_current)
exit = crossover(close, ex_current) or crossunder(close, ex_current)

//Channel
updating = goto <= 0 or x < goto
// if updating
//     line b = line.new(x1, y1, x2, y2, xloc.bar_index, extend.right, color.aqua, width = 3)
//     line.delete(b[1])
//     line dp = line.new(x1, deviation*dev + y1, x2, deviation*dev + y2, xloc.bar_index, extend.right, color.red, width = 3)
//     line.delete(dp[1])
//     line dm = line.new(x1, -deviation*dev + y1, x2, -deviation*dev + y2, xloc.bar_index, extend.right, color.lime, width = 3)
//     line.delete(dm[1])

//Lines
plot(dm_current, color = color.lime)
plot(dp_current, color = color.red)
plot(ex_current)
    
//Trading
if ex_current > 0
    strategy.entry("Long", strategy.long, na, limit = dm_current)
    strategy.entry("Short", strategy.short, na, limit = dp_current)
    strategy.exit("ExitLong", "Long", limit = ex_current)
    strategy.exit("ExitShort", "Short", limit = ex_current)

مزید