اے ٹی آر ملٹی پیریڈ ٹریڈنگ حکمت عملی کے بعد متحرک رجحان

ATR EMA MA
تخلیق کی تاریخ: 2024-12-12 16:00:56 آخر میں ترمیم کریں: 2024-12-12 16:00:56
کاپی: 0 کلکس کی تعداد: 347
1
پر توجہ دیں
1617
پیروکار

اے ٹی آر ملٹی پیریڈ ٹریڈنگ حکمت عملی کے بعد متحرک رجحان

جائزہ

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

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

حکمت عملی کی بنیادی منطق درج ذیل کلیدی عناصر پر مبنی ہے:

  1. اے ٹی آر اشارے کا استعمال کرتے ہوئے متحرک سٹاپ نقصان چینل کی تشکیل ، چینل کی چوڑائی اے ٹی آر کی مدت اور حساسیت کے پیرامیٹرز کے ذریعہ مشترکہ طور پر طے کی جاتی ہے
  2. ای ایم اے اور اے ٹی آر چینلز کے کراسنگ کے ذریعے خرید و فروخت کے سگنل کا تعین کرنا
  3. 5 منٹ سے 2 گھنٹے تک کے متعدد ٹائم پیکیجز پر چلنے کی حمایت کرتا ہے
  4. پورٹ فولیو ٹریکنگ میکانزم کے ساتھ مل کر ، خرید و فروخت کی تعداد کو موجودہ انعقاد کی رفتار کے مطابق ایڈجسٹ کریں
  5. اختیاری طور پر ہموار K لائن ((Heikin Ashi) کا استعمال کرتے ہوئے جعلی سگنل کو کم کیا جاسکتا ہے

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='ADET GİRMELİ Trend İz Süren Stop Strategy', overlay=true, overlay=true,default_qty_type = strategy.fixed, default_qty_value = 1)

// Inputs
a = input(9, title='Key Value. "This changes the sensitivity"')
c = input(3, title='ATR Period')
h = input(false, title='Signals from Heikin Ashi Candles')

xATR = ta.atr(c)
nLoss = a * xATR

src = h ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, lookahead=barmerge.lookahead_off) : close

xATRTrailingStop = 0.0
iff_1 = src > nz(xATRTrailingStop[1], 0) ? src - nLoss : src + nLoss
iff_2 = src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), src + nLoss) : iff_1
xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), src - nLoss) : iff_2

pos = 0
iff_3 = src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0) ? -1 : nz(pos[1], 0)
pos := src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0) ? 1 : iff_3

xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue

ema = ta.ema(src, 1)
above = ta.crossover(ema, xATRTrailingStop)
below = ta.crossover(xATRTrailingStop, ema)

buy = src > xATRTrailingStop and above
sell = src < xATRTrailingStop and below

barbuy = src > xATRTrailingStop
barsell = src < xATRTrailingStop
// Alım ve Satım Sinyalleri
buySignal = src > xATRTrailingStop and above
sellSignal = src < xATRTrailingStop and below

// Kullanıcı girişi
sell_quantity = input.int(1, title="Sell Quantity", minval=1)
buy_quantity = input.int(1, title="Buy Quantity", minval=1)

// Portföy miktarı (örnek simülasyon verisi)
var portfolio_quantity = 0

// Sinyal üretimi (örnek sinyal, gerçek stratejinizle değiştirin)
indicator_signal = (src > xATRTrailingStop and above) ? "buy" : 
                   (src < xATRTrailingStop and below) ? "sell" : "hold"

// Şartlara göre al/sat
if indicator_signal == "buy" and portfolio_quantity < buy_quantity
    strategy.entry("Buy Order", strategy.long, qty=buy_quantity)
    portfolio_quantity := portfolio_quantity + buy_quantity

if indicator_signal == "sell" and portfolio_quantity >= sell_quantity
    strategy.close("Buy Order", qty=sell_quantity)
    portfolio_quantity := portfolio_quantity - sell_quantity
// Plot buy and sell signals
plotshape(buy, title='Buy', text='Buy', style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.new(color.white, 0), size=size.tiny)
plotshape(sell, title='Sell', text='Sell', style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny)

// Bar coloring
barcolor(barbuy ? color.rgb(6, 250, 14) : na)
barcolor(barsell ? color.red : na)

// Alerts
alertcondition(buy, 'UT Long', 'UT Long')
alertcondition(sell, 'UT Short', 'UT Short')

// Strategy Entry and Exit
if buy
    strategy.entry('Long', strategy.long)
if sell
    strategy.entry('Short', strategy.short)

// Optional Exit Conditions
if sell
    strategy.close('Long')
if buy
    strategy.close('Short')

// ///TARAMA///


// gurupSec = input.string(defval='1', options=['1', '2', '3', '4', '5','6','7'], group='Taraması yapılacak 40\'arlı gruplardan birini seçin', title='Grup seç')
// per = input.timeframe(defval='', title='PERİYOT',group = "Tarama yapmak istediğiniz periyotu seçin")
// loc = input.int(defval=20, title='Konum Ayarı', minval = -100,maxval = 200 , step = 5,  group='Tablonun konumunu belirleyin')




// func() =>
//     //ÖRNEK BİR FONKSİYON AŞAĞIDA YAZILMIŞTIR. SİZ DE İSTEDİĞİNİZ KOŞULLAR İÇİN TARAMA YAZABİLİRSİNİZ.
//     //rsi = ta.rsi(close,14)
//     //cond = rsi <= 30
//     //[close,cond]

     
//     ////value = ta.cci(close,length23)
//     cond = buySignal or sellSignal
//     [close,cond]


// c1 = input.symbol(title='1', defval='BIST:BRYAT',group = "1. Grup Hisseleri")
// c2 = input.symbol(title='2', defval='BIST:TARKM')
// c3 = input.symbol(title='3', defval='BIST:TNZTP')
// c4 = input.symbol(title='4', defval='BIST:ERBOS')
// c5 = input.symbol(title='5', defval='BIST:BFREN')
// c6 = input.symbol(title='6', defval='BIST:ALARK')
// c7 = input.symbol(title='7', defval='BIST:ISMEN')
// c8 = input.symbol(title='8', defval='BIST:CVKMD')
// c9 = input.symbol(title='9', defval='BIST:TTRAK')
// c10 = input.symbol(title='10', defval='BIST:ASELS')
// c11 = input.symbol(title='11', defval='BIST:ATAKP')
// c12 = input.symbol(title='12', defval='BIST:MGROS')
// c13 = input.symbol(title='13', defval='BIST:BRSAN')
// c14 = input.symbol(title='14', defval='BIST:ALFAS')
// c15 = input.symbol(title='15', defval='BIST:CWENE')
// c16 = input.symbol(title='16', defval='BIST:THYAO')
// c17 = input.symbol(title='17', defval='BIST:EREGL')
// c18 = input.symbol(title='18', defval='BIST:TUPRS')
// c19 = input.symbol(title='19', defval='BIST:YYLGD')
// c20 = input.symbol(title='20', defval='BIST:KLSER')
// c21 = input.symbol(title='21', defval='BIST:MIATK')
// c22 = input.symbol(title='22', defval='BIST:ASTOR')
// c23 = input.symbol(title='23', defval='BIST:DOAS')
// c24 = input.symbol(title='24', defval='BIST:ERCB')
// c25 = input.symbol(title='25', defval='BIST:REEDR')
// c26 = input.symbol(title='26', defval='BIST:DNISI')
// c27 = input.symbol(title='27', defval='BIST:ARZUM')
// c28 = input.symbol(title='28', defval='BIST:EBEBK')
// c29 = input.symbol(title='29', defval='BIST:KLKIM')
// c30 = input.symbol(title='30', defval='BIST:ONCSM')
// c31 = input.symbol(title='31', defval='BIST:SOKE')
// c32 = input.symbol(title='32', defval='BIST:GUBRF')
// c33 = input.symbol(title='33', defval='BIST:KONTR')
// c34 = input.symbol(title='34', defval='BIST:DAPGM')
// c35 = input.symbol(title='35', defval='BIST:BVSAN')
// c36 = input.symbol(title='36', defval='BIST:ODAS')
// c37 = input.symbol(title='37', defval='BIST:OYAKC')
// c38 = input.symbol(title='38', defval='BIST:KRPLS')
// c39 = input.symbol(title='39', defval='BIST:BOBET')






// [v1,s1] = request.security(c1, per, func())
// [v2,s2] = request.security(c2, per, func())
// [v3,s3] = request.security(c3, per, func())
// [v4,s4] = request.security(c4, per, func())
// [v5,s5] = request.security(c5, per, func())
// [v6,s6] = request.security(c6, per, func())
// [v7,s7] = request.security(c7, per, func())
// [v8,s8] = request.security(c8, per, func())
// [v9,s9] = request.security(c9, per, func())
// [v10,s10] = request.security(c10, per, func())
// [v11,s11] = request.security(c11, per, func())
// [v12,s12] = request.security(c12, per, func())
// [v13,s13] = request.security(c13, per, func())
// [v14,s14] = request.security(c14, per, func())
// [v15,s15] = request.security(c15, per, func())
// [v16,s16] = request.security(c16, per, func())
// [v17,s17] = request.security(c17, per, func())
// [v18,s18] = request.security(c18, per, func())
// [v19,s19] = request.security(c19, per, func())
// [v20,s20] = request.security(c20, per, func())
// [v21,s21] = request.security(c21, per, func())
// [v22,s22] = request.security(c22, per, func())
// [v23,s23] = request.security(c23, per, func())
// [v24,s24] = request.security(c24, per, func())
// [v25,s25] = request.security(c25, per, func())
// [v26,s26] = request.security(c26, per, func())
// [v27,s27] = request.security(c27, per, func())
// [v28,s28] = request.security(c28, per, func())
// [v29,s29] = request.security(c29, per, func())
// [v30,s30] = request.security(c30, per, func())
// [v31,s31] = request.security(c31, per, func())
// [v32,s32] = request.security(c32, per, func())
// [v33,s33] = request.security(c33, per, func())
// [v34,s34] = request.security(c34, per, func())
// [v35,s35] = request.security(c35, per, func())
// [v36,s36] = request.security(c36, per, func())
// [v37,s37] = request.security(c37, per, func())
// [v38,s38] = request.security(c38, per, func())
// [v39,s39] = request.security(c39, per, func())


// roundn(x, n) =>
//     mult = 1
//     if n != 0
//         for i = 1 to math.abs(n) by 1
//             mult *= 10
//             mult

//     n >= 0 ? math.round(x * mult) / mult : math.round(x / mult) * mult


// scr_label = 'A/G İZSÜREN\n'
// scr_label := s1 ? scr_label + syminfo.ticker(c1) + ' ' + str.tostring(roundn(v1, 2)) + '\n' : scr_label
// scr_label := s2 ? scr_label + syminfo.ticker(c2) + ' ' + str.tostring(roundn(v2, 2)) + '\n' : scr_label
// scr_label := s3 ? scr_label + syminfo.ticker(c3) + ' ' + str.tostring(roundn(v3, 2)) + '\n' : scr_label
// scr_label := s4 ? scr_label + syminfo.ticker(c4) + ' ' + str.tostring(roundn(v4, 2)) + '\n' : scr_label
// scr_label := s5 ? scr_label + syminfo.ticker(c5) + ' ' + str.tostring(roundn(v5, 2)) + '\n' : scr_label
// scr_label := s6 ? scr_label + syminfo.ticker(c6) + ' ' + str.tostring(roundn(v6, 2)) + '\n' : scr_label
// scr_label := s7 ? scr_label + syminfo.ticker(c7) + ' ' + str.tostring(roundn(v7, 2)) + '\n' : scr_label
// scr_label := s8 ? scr_label + syminfo.ticker(c8) + ' ' + str.tostring(roundn(v8, 2)) + '\n' : scr_label
// scr_label := s9 ? scr_label + syminfo.ticker(c9) + ' ' + str.tostring(roundn(v9, 2)) + '\n' : scr_label
// scr_label := s10 ? scr_label + syminfo.ticker(c10) + ' ' + str.tostring(roundn(v10, 2)) + '\n' : scr_label
// scr_label := s11 ? scr_label + syminfo.ticker(c11) + ' ' + str.tostring(roundn(v11, 2)) + '\n' : scr_label
// scr_label := s12 ? scr_label + syminfo.ticker(c12) + ' ' + str.tostring(roundn(v12, 2)) + '\n' : scr_label
// scr_label := s13 ? scr_label + syminfo.ticker(c13) + ' ' + str.tostring(roundn(v13, 2)) + '\n' : scr_label
// scr_label := s14 ? scr_label + syminfo.ticker(c14) + ' ' + str.tostring(roundn(v14, 2)) + '\n' : scr_label
// scr_label := s15 ? scr_label + syminfo.ticker(c15) + ' ' + str.tostring(roundn(v15, 2)) + '\n' : scr_label
// scr_label := s16 ? scr_label + syminfo.ticker(c16) + ' ' + str.tostring(roundn(v16, 2)) + '\n' : scr_label
// scr_label := s17 ? scr_label + syminfo.ticker(c17) + ' ' + str.tostring(roundn(v17, 2)) + '\n' : scr_label
// scr_label := s18 ? scr_label + syminfo.ticker(c18) + ' ' + str.tostring(roundn(v18, 2)) + '\n' : scr_label
// scr_label := s19 ? scr_label + syminfo.ticker(c19) + ' ' + str.tostring(roundn(v19, 2)) + '\n' : scr_label
// scr_label := s20 ? scr_label + syminfo.ticker(c20) + ' ' + str.tostring(roundn(v20, 2)) + '\n' : scr_label
// scr_label := s21 ? scr_label + syminfo.ticker(c21) + ' ' + str.tostring(roundn(v21, 2)) + '\n' : scr_label
// scr_label := s22 ? scr_label + syminfo.ticker(c22) + ' ' + str.tostring(roundn(v22, 2)) + '\n' : scr_label
// scr_label := s23 ? scr_label + syminfo.ticker(c23) + ' ' + str.tostring(roundn(v23, 2)) + '\n' : scr_label
// scr_label := s24 ? scr_label + syminfo.ticker(c24) + ' ' + str.tostring(roundn(v24, 2)) + '\n' : scr_label
// scr_label := s25 ? scr_label + syminfo.ticker(c25) + ' ' + str.tostring(roundn(v25, 2)) + '\n' : scr_label
// scr_label := s26 ? scr_label + syminfo.ticker(c26) + ' ' + str.tostring(roundn(v26, 2)) + '\n' : scr_label
// scr_label := s27 ? scr_label + syminfo.ticker(c27) + ' ' + str.tostring(roundn(v27, 2)) + '\n' : scr_label
// scr_label := s28 ? scr_label + syminfo.ticker(c28) + ' ' + str.tostring(roundn(v28, 2)) + '\n' : scr_label
// scr_label := s29 ? scr_label + syminfo.ticker(c29) + ' ' + str.tostring(roundn(v29, 2)) + '\n' : scr_label
// scr_label := s30 ? scr_label + syminfo.ticker(c30) + ' ' + str.tostring(roundn(v30, 2)) + '\n' : scr_label
// scr_label := s31 ? scr_label + syminfo.ticker(c31) + ' ' + str.tostring(roundn(v31, 2)) + '\n' : scr_label
// scr_label := s32 ? scr_label + syminfo.ticker(c32) + ' ' + str.tostring(roundn(v32, 2)) + '\n' : scr_label
// scr_label := s33 ? scr_label + syminfo.ticker(c33) + ' ' + str.tostring(roundn(v33, 2)) + '\n' : scr_label
// scr_label := s34 ? scr_label + syminfo.ticker(c34) + ' ' + str.tostring(roundn(v34, 2)) + '\n' : scr_label
// scr_label := s35 ? scr_label + syminfo.ticker(c35) + ' ' + str.tostring(roundn(v35, 2)) + '\n' : scr_label
// scr_label := s36 ? scr_label + syminfo.ticker(c36) + ' ' + str.tostring(roundn(v36, 2)) + '\n' : scr_label
// scr_label := s37 ? scr_label + syminfo.ticker(c37) + ' ' + str.tostring(roundn(v37, 2)) + '\n' : scr_label
// scr_label := s38 ? scr_label + syminfo.ticker(c38) + ' ' + str.tostring(roundn(v38, 2)) + '\n' : scr_label
// scr_label := s39 ? scr_label + syminfo.ticker(c39) + ' ' + str.tostring(roundn(v39, 2)) + '\n' : scr_label


// var panel = table.new(position = position.top_right,columns = 10,rows = 10,bgcolor = color.green,frame_color = color.white,border_color = color.red)



// if barstate.islast
//     table.cell(panel,0,0,text = str.tostring(scr_label))
// //------------------------------------------------------