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

ای ایم اے اور اے ڈی ایکس حکمت عملی کے ساتھ ٹرپل سپر ٹرینڈ

مصنف:چاؤ ژانگ، تاریخ: 2023-09-18 14:02:12
ٹیگز:

جائزہ

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

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

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

  • ای ایم اے کو رجحان فلٹر کے طور پر لاگو کریں، صرف اس وقت طویل عرصے تک جائیں جب بند ای ایم اے سے اوپر ہو اور مختصر ہو جب بند ای ایم اے سے نیچے ہو.

  • ADX کو رجحان کی طاقت فلٹر کے طور پر لاگو کریں، صرف اس وقت تجارت کریں جب ADX ایک حد سے اوپر ہو.

  • منافع بخش اور خطرے کے کنٹرول کو ایڈجسٹ کرنے کے لئے دوبارہ داخل ہونے کا اختیار دیں.

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

حکمت عملی میں بصری رجحان کے تعین میں مدد کے لئے سپر ٹرینڈ سپورٹ اور مزاحمت کی لائنوں کا بھی خاکہ تیار کیا گیا ہے۔

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

  • ٹرپل سپر ٹرینڈ سسٹم جھوٹے بریکآؤٹس کو فلٹر کرتا ہے اور انٹری کی درستگی کو بہتر بناتا ہے۔

  • ای ایم اے اور اے ڈی ایکس کے ڈبل فلٹرز سے نقصانات کم ہوتے ہیں اور رسک مینجمنٹ میں اضافہ ہوتا ہے۔

  • واپسی کا آپشن منافع کو خطرے کی ترجیح پر مبنی ایڈجسٹ کرنے کی اجازت دیتا ہے۔

  • بصری سپر ٹرینڈ لائنز رجحان کی سمت کا تعین کرنے میں مدد کرتی ہیں۔

خطرے کا تجزیہ

  • سپر ٹرینڈ اور دیگر اشارے میں تاخیر ہوتی ہے اور دیر سے داخل ہونے یا جلدی باہر نکلنے کا سبب بن سکتی ہے۔

  • بہت سخت فلٹرز مواقع کھو سکتے ہیں۔

  • وِپساؤس رینج سے منسلک مارکیٹوں میں نقصانات کا سبب بن سکتے ہیں۔

  • واپسی کی اجازت دینے سے تجارت کی تعدد اور سلائپ لاگت میں اضافہ ہوتا ہے۔

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

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

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

  • بہترین سپر ٹرینڈ اور ای ایم اے کی ترتیبات تلاش کرنے کے لئے مختلف پیرامیٹر کے مجموعے کی جانچ کریں۔

  • غلط سگنل کو کم کرنے کے لئے ADX کی حد کو بہتر بنائیں.

  • دیگر فلٹرز جیسے اتار چڑھاؤ، حجم وغیرہ شامل کریں.

  • مختلف مصنوعات کے لئے الگ الگ پیرامیٹرز کو بہتر بنائیں.

  • بہتر خطرے کے کنٹرول کے لئے متحرک سٹاپ نقصان کے طریقہ کار کی تعمیر.

  • بہتر داخلے اور باہر نکلنے کے قوانین تلاش کرنے کے لئے مشین لرننگ کی تلاش کریں.

خلاصہ

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


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 2h
basePeriod: 15m
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/
// ©kunjandetroja


//@version=5
strategy('Triple Supertrend with EMA and ADX', overlay=true)

m1 = input.float(1,"ATR Multi",minval = 1,maxval= 6,step=0.5,group='ST 1')
m2 = input.float(2,"ATR Multi",minval = 1,maxval= 6,step=0.5,group='ST 2')
m3 = input.float(3,"ATR Multi",minval = 1,maxval= 6,step=0.5,group='ST 3')
p1 = input.int(10,"ATR Multi",minval = 5,maxval= 25,step=1,group='ST 1')
p2 = input.int(15,"ATR Multi",minval = 5,maxval= 25,step=1,group='ST 2')
p3 = input.int(20,"ATR Multi",minval = 5,maxval= 25,step=1,group='ST 3')
len_EMA = input.int(200,"EMA Len",minval = 5,maxval= 250,step=1)
len_ADX = input.int(14,"ADX Len",minval = 1,maxval= 25,step=1)
len_Di = input.int(14,"Di Len",minval = 1,maxval= 25,step=1)
adx_above = input.float(25,"adx filter",minval = 1,maxval= 50,step=0.5)
var bool long_position = false
adx_filter = input.bool(false, "Add Adx & EMA filter")
renetry = input.bool(true, "Allow Reentry")

f_getColor_Resistance(_dir, _color) =>
    _dir == 1 and _dir == _dir[1] ? _color : na
f_getColor_Support(_dir, _color) =>
    _dir == -1 and _dir == _dir[1] ? _color : na

[superTrend1, dir1] = ta.supertrend(m1, p1)
[superTrend2, dir2] = ta.supertrend(m2, p2)
[superTrend3, dir3] = ta.supertrend(m3, p3)
EMA = ta.ema(close, len_EMA)
[diplus,diminus,adx] = ta.dmi(len_Di,len_ADX)

// ADX Filter
adxup = adx > adx_above and close > EMA
adxdown = adx > adx_above and close < EMA

sum_dir = dir1 + dir2 + dir3

dir_long = if(adx_filter == false)
    sum_dir == -3
else
    sum_dir == -3 and adxup
dir_short = if(adx_filter == false)
    sum_dir == 3
else
    sum_dir == 3 and adxdown
Exit_long = dir1 == 1 and dir1 != dir1[1]
Exit_short = dir1 == -1 and dir1 != dir1[1]

// BuySignal = dir_long and dir_long != dir_long[1]
// SellSignal = dir_short and dir_short != dir_short[1]
// if BuySignal
//     label.new(bar_index, low, 'Long', style=label.style_label_up)
// if SellSignal
//     label.new(bar_index, high, 'Short', style=label.style_label_down)

longenter = if(renetry == false)
    dir_long and long_position == false
else
    dir_long
shortenter = if(renetry == false)
    dir_short and long_position == true
else
    dir_short
if longenter
    long_position := true
if shortenter
    long_position := false

strategy.entry('BUY', strategy.long, when=longenter)
strategy.entry('SELL', strategy.short, when=shortenter)   
strategy.close('BUY', Exit_long)
strategy.close('SELL', Exit_short)

buy1 = ta.barssince(dir_long)
sell1 = ta.barssince(dir_short)

colR1 = f_getColor_Resistance(dir1, color.red)
colS1 = f_getColor_Support(dir1, color.green)

colR2 = f_getColor_Resistance(dir2, color.orange)
colS2 = f_getColor_Support(dir2, color.yellow)

colR3 = f_getColor_Resistance(dir3, color.blue)
colS3 = f_getColor_Support(dir3, color.maroon)

plot(superTrend1, 'R1', colR1, linewidth=2)
plot(superTrend1, 'S1', colS1, linewidth=2)

plot(superTrend2, 'R1', colR2, linewidth=2)
plot(superTrend2, 'S1', colS2, linewidth=2)

plot(superTrend3, 'R1', colR3, linewidth=2)
plot(superTrend3, 'S1', colS3, linewidth=2)

// // Intraday only
// var int new_day = na
// var int new_month = na
// var int new_year = na
// var int close_trades_after_time_of_day = na

// if dayofmonth != dayofmonth[1]
//     new_day := dayofmonth
// if month != month[1]
//     new_month := month
// if year != year[1]
//     new_year := year
// close_trades_after_time_of_day := timestamp(new_year,new_month,new_day,15,15)

// strategy.close_all(time > close_trades_after_time_of_day) 


مزید