MACD+EMA ملٹی ٹائم اسکیل بریک آؤٹ حکمت عملی


تخلیق کی تاریخ: 2024-03-22 11:13:12 آخر میں ترمیم کریں: 2024-03-22 11:13:12
کاپی: 0 کلکس کی تعداد: 685
1
پر توجہ دیں
1617
پیروکار

MACD+EMA ملٹی ٹائم اسکیل بریک آؤٹ حکمت عملی

جائزہ

اس حکمت عملی میں MACD اشارے اور متعدد EMA لائنوں کا امتزاج کیا گیا ہے تاکہ مارکیٹ میں مضبوط رجحانات کو دو ٹائم اسکیلوں سے پکڑا جاسکے: گھڑی لائن اور منٹ لائن۔ گھڑی لائن پر MACD اشارے کا استعمال بڑے رجحان کی سمت کا تعین کرنے کے لئے کیا جاتا ہے ، اور منٹ لائن پر 5 ، 15 ، اور 30 دن کی تین EMA لائنوں کا استعمال رجحان کی تصدیق کے لئے کیا جاتا ہے ، اور بریک پوائنٹس پر تجارت کی جاتی ہے۔ اس حکمت عملی کا بنیادی خیال یہ ہے کہ مضبوط رجحانات کی پیروی کی جائے ، بڑی لہروں پر سوار ہوکر ، مختصر EMA لائنیں طویل EMA لائنوں کو توڑ دیتی ہیں۔

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

  1. گھڑی MACD بڑے رجحان کا تعین: گھڑی MACD اشارے کا حساب لگائیں ، اس ہفتے اور پچھلے ہفتے کے MACD کالم ڈرائنگ میں فرق ، فرق 0 سے زیادہ رجحان کی نشاندہی کرتا ہے ، اور 0 سے کم رجحان کی نشاندہی کرتا ہے۔ ہر ہفتے کے پہلے دن کھلنے پر رجحان کی سمت کو اپ ڈیٹ کریں۔

  2. ایک سے زیادہ ای ایم اے لائنوں کی تصدیق: ایک منٹ لائن چارٹ پر 5 ، 15 ، اور 30 دن کی تین ای ایم اے لائنیں کھینچیں۔ جب قلیل مدتی ای ایم اے طویل مدتی ای ایم اے کے اوپر اور اوپر چلتا ہے تو ، اس کا رجحان اوپر ہوتا ہے۔ اس کے برعکس ، اس کا رجحان نیچے ہوتا ہے۔

  3. ای ایم اے لائن کراس پوائنٹ ٹریڈنگ:

    • زیادہ کرنا: جب گھڑی MACD اوپر کی طرف بڑھتی ہے اور 15 دن کے EMA کو منٹ لائن کے اختتامی قیمت پر عبور کرتی ہے۔ اسٹاپ نقصان کی حد ہولڈنگ اوسط قیمت کے نیچے مقررہ پوائنٹس پر رکھی جاتی ہے ، یا جب 5 دن کے EMA کے نیچے 15 دن کے EMA کو عبور کرتے ہیں تو اس کی جگہ لی جاتی ہے۔
    • خالی کرنا: جب گھڑی MACD نیچے کی طرف بڑھتی ہے ، اور 5 دن ای ایم اے کے نیچے 30 دن ای ایم اے کو توڑنے پر خالی کریں۔ اسٹاپ نقصان کی پوزیشن ہولڈنگ اوسط قیمت پر مقررہ پوائنٹس پر رکھی جاتی ہے ، یا جب 5 دن ای ایم اے پر 15 دن ای ایم اے کو توڑنے پر کھلی پوزیشن ہوتی ہے۔
  4. ذخیرہ اندوزی: عارضی طور پر ذخیرہ اندوزی کی شرائط مقرر نہ کریں۔

طاقت کا تجزیہ

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

  2. منٹ لائن ای ایم اے پیرامیٹرز 5، 15، 30 دن منتخب کریں، تین لائنوں کا مجموعہ شور کو اچھی طرح سے فلٹر کرنے اور واضح رجحانات کو پکڑنے کے قابل ہے۔

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

  4. کوڈ ماڈیولر ڈیزائن کیا گیا ہے ، جس میں اہم ماڈیولز جیسے MACD کیلکولیشن ، EMA کیلکولیشن وغیرہ ہیں ، جن میں بہت زیادہ استحکام اور توسیع پذیری ہے۔

خطرے کا تجزیہ

  1. ایم اے سی ڈی کالم چارٹ میں خرابی کی حد کا انتخاب غلط ہے ، جس سے رجحانات کے فیصلے کے معیار بہت نرمی یا سخت ہوسکتے ہیں ، جس سے فیصلے غلط ہوجاتے ہیں۔ بہترین حد کا انتخاب ریٹرننگ اور پیرامیٹرز کی اصلاح کے ذریعہ کیا جاسکتا ہے۔

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

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

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

اصلاح کی سمت

  1. رجحان کی طاقت کی تصدیق کرنے کے لئے رجحانات کے فیصلے کی درستگی کو بہتر بنانے کے لئے MACD پر مبنی رجحانات کے فیصلے پر غور کیا جاسکتا ہے ، اور پھر آر ایس آئی جیسے اشارے کو بھی شامل کیا جاسکتا ہے۔

  2. ای ایم اے لائن کراسنگ کی بنیاد پر ، سی سی آئی جیسے اشارے کو ٹریڈنگ سگنل کے فلٹرنگ کی شرائط کے طور پر شامل کیا جاسکتا ہے ، جس سے تجارت کی تعدد اور خطرہ کم ہوتا ہے۔

  3. انفرادی اسٹاک کی تاریخی اتار چڑھاو کی خصوصیات کے مطابق ، ذاتی نوعیت کے اسٹاپ نقصان کی تعداد ترتیب دی جاسکتی ہے ، تاکہ حکمت عملی کو مختلف قسم کی خصوصیات کے مطابق بنایا جاسکے۔

  4. اسٹریٹجیز پر غور کیا جاسکتا ہے جس میں پوزیشنوں کو بڑھانا اور کم کرنا ، جب رجحان مضبوط ہوتا ہے تو پوزیشنوں کو آہستہ آہستہ بڑھانا ، جب رجحان کمزور ہوتا ہے تو پوزیشنوں کو آہستہ آہستہ کم کرنا ، اور فنڈز کے استعمال میں بہتری لانا۔

خلاصہ کریں۔

MACD + EMA کثیر ٹائم اسکیل توڑنے کی حکمت عملی ایک رجحان کی پیروی کرنے والی حکمت عملی ہے ، جس میں رجحانات کا فیصلہ کرنے اور رجحانات کی تصدیق کرنے میں نسبتا scientific سائنسی بنیاد ہے ، جو مارکیٹ کے اہم رجحانات کو مؤثر طریقے سے پکڑنے اور مستحکم منافع حاصل کرنے کے قابل ہے۔ اس کے علاوہ ، یہ حکمت عملی خطرے کے کنٹرول میں بھی کافی حد تک مکمل ہے ، معقول اسٹاپ نقصانات کے ساتھ پوزیشن کی شرائط طے کرکے ، حکمت عملی کی واپسی کو مؤثر طریقے سے کنٹرول کرتی ہے۔ تاہم ، اس حکمت عملی میں کچھ خامیاں بھی ہیں ، جیسے رجحانات کے فیصلے کے بعد پوزیشن میں اضافے یا کمی کی کمی ، اس کی بنیاد پر مزید اصلاح اور بہتری لائی جاسکتی ہے۔ مجموعی طور پر ، یہ حکمت عملی ایک بہت ہی سیکھنے اور استعمال کرنے والی تجارتی حکمت عملی ہے۔

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


// 1) 전주와 전전주의 히스토그램의 차이를 계산하여, 매주 월요일에 매매 방향을 표시하고, 
// 2) 5일, 15일, 30일 선을 호출하여 평행하게 그리고, 매매 방향에 따라 
// 3) 분봉기준의 이동평균선 매매전략  
// 4) 수익 실현은 미설정 해둠 


//@version=5
strategy('Last week MACD+ 15day, 30day break through, by Ho.J', overlay=true, initial_capital=30000, commission_value = 7.5, commission_type=strategy.commission.cash_per_order, slippage = 0)

// 백테스팅 기간 설정
start_time = input(timestamp("Jan 19 2024 00:00:01"), confirm = true)
end_time = input(timestamp("MAR 19 2024 23:59:59"), confirm = true)
is_in_time = true
stopLoss = input.int(100, title="손절 수준")


// 지난주 값 불러오기 입력 매개변수, 1은 5일, 3은 15일, 6은 30일 이동평균선을 구하는 변수임
emaLength1 = input(1, title="EMA Length")
emaLength2 = input(3, title="EMA Length")
emaLength3 = input(6, title="EMA Length")
timeframePeriod = "W" // 'D'는 일간 데이터를 의미


// 분봉기준 EMA 계산
shortEMA = ta.ema(close, 50)
mediumEMA = ta.ema(close, 60)
longEMA = ta.ema(close, 150)


// 분봉기준 EMA 그리기
plot(shortEMA, color=color.blue, title="5일 EMA")
plot(mediumEMA, color=color.orange, title="15일 EMA")
plot(longEMA, color=color.red, title="30일 EMA")



// 주간 MACD 계산, 전주와 전전주 히스토그램을 계산하여 상대적인 상승, 하락을 계산 
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
histogram = macdLine - signalLine
histLastWeek = request.security(syminfo.tickerid, timeframePeriod, histogram[1], lookahead=barmerge.lookahead_on)
histWeekBeforeLast = request.security(syminfo.tickerid, timeframePeriod, histogram[2], lookahead=barmerge.lookahead_on)
histDiff = histLastWeek - histWeekBeforeLast


// 현재 주의 월요일 첫 봉인지 확인
isMondayFirstBar = (dayofweek == dayofweek.monday) and (hour == 09) and (minute == 00) // 여기서 시간은 시장 개장 시간에 따라 조정해야 함


// 월요일 첫봉에, 주간 MACD 히스토그램이 상승하면 '매수', 하락하면 '매도' 표시
var label myLabel = na
if (isMondayFirstBar)
    if (histDiff > 0)
        myLabel := label.new(bar_index, high, "이번주는 매수만", color=color.green, textcolor=color.white, style=label.style_label_down, size=size.large)
    else if (histDiff < 0)
        myLabel := label.new(bar_index, low, "이번주는 매도만", color=color.red, textcolor=color.white, style=label.style_label_up, size=size.large)


// 지난주 EMA 값 요청
// 'lookahead'를 사용하여 지난 데이터를 기준으로 계산
lastWeekEMA1 = request.security(syminfo.tickerid, timeframePeriod, ta.ema(close[1], emaLength1), lookahead=barmerge.lookahead_on)
lastWeekEMA2 = request.security(syminfo.tickerid, timeframePeriod, ta.ema(close[1], emaLength2), lookahead=barmerge.lookahead_on)
lastWeekEMA3 = request.security(syminfo.tickerid, timeframePeriod, ta.ema(close[1], emaLength3), lookahead=barmerge.lookahead_on)

// 지난주 EMA 그리기
plot(lastWeekEMA1, color=color.red, title="Last Week EMA1")
plot(lastWeekEMA2, color=color.rgb(157, 126, 126), title="Last Week EMA2")
plot(lastWeekEMA3, color=color.rgb(199, 192, 192), title="Last Week EMA3")


// 매수/매도 조건
buySignal = ta.crossover(close, lastWeekEMA2) and histDiff > 0
// addbuySignal = ta.crossover(close, lastWeekEMA3) and histDiff > 0

sellSignal = ta.crossunder(shortEMA, longEMA) and histDiff < 0
// addSellSignal = ta.crossunder(close, lastWeekEMA3) and histDiff < 0


// 매수 조건
if (buySignal)
    strategy.entry('Buy', strategy.long)
    alert('Buy Signal', alert.freq_once_per_bar_close)
	
// if (addbuySignal)
   // strategy.entry('Buy', strategy.long)
   // alert('add Buy Signal', alert.freq_once_per_bar_close)

if (strategy.position_size > 0 and ((strategy.position_avg_price - close) >= stopLoss) or ta.crossunder(close, mediumEMA))
    strategy.close('Buy')
    alert('Close Buy Signal', alert.freq_once_per_bar_close)

// 매도 조건
if (sellSignal)
    strategy.entry('Sell', strategy.short)
    alert('Sell Signal', alert.freq_once_per_bar_close)
	
//if (addSellSignal)
   // strategy.entry('Sell', strategy.short)
   // alert('add Sell Signal', alert.freq_once_per_bar_close)

if (strategy.position_size < 0 and ((close - strategy.position_avg_price) >= stopLoss) or ta.crossover(shortEMA, mediumEMA))
    strategy.close('Sell')
    alert('Close Sell Signal', alert.freq_once_per_bar_close)