
اس حکمت عملی میں EMA میڈین لائن اور MACD اشارے کا استعمال کیا جاتا ہے تاکہ متعدد ٹائم فریموں میں ٹرینڈ سگنل کی شناخت کی جاسکے تاکہ درمیانی اور لمبی لائن کے رجحانات کو پکڑ سکے۔ جب قلیل مدتی رجحان درمیانی اور طویل مدتی رجحانات کی سمت کے مطابق ہوتا ہے تو ، رجحان سے باخبر رہنے کی کارروائی کی جاتی ہے۔ اس کے ساتھ ہی ، اس حکمت عملی میں اے ٹی آر اشارے کا استعمال کیا جاتا ہے تاکہ اسٹاپ نقصان کی حد مقرر کی جاسکے اور اتار چڑھاؤ پر خطرہ کنٹرول کیا جاسکے۔
حکمت عملی 50 دن کے ای ایم اے لائن اور 100 دن کے ای ایم اے لائن کی طرف سے درمیانی اور طویل مدتی رجحان کی سمت کا فیصلہ کرتی ہے۔ جب مختصر مدت کے رجحان کی سمت MACD اشارے کی طرف سے شناخت کی جاتی ہے تو ، یہ فیصلہ کریں کہ آیا مختصر مدت کے رجحان کی سمت درمیانی اور طویل مدتی رجحان کی سمت سے مماثل ہے یا نہیں۔ اگر مماثل ہے تو ، رجحان سے باخبر رہنے کی کارروائی کریں۔
خاص طور پر ، جب MACD تیز لائن پر سست لائن کو پار کرتا ہے ، اور closes > 50 دن ای ایم اے اور closes > 100 دن ای ایم اے ، تو زیادہ کریں۔ جب MACD تیز لائن کے نیچے سست لائن کو پار کرتا ہے ، اور closes < 50 دن ای ایم اے اور closes < 100 دن ای ایم اے ، خالی کریں۔
اس کے علاوہ ، حکمت عملی اے ٹی آر اشارے کا استعمال کرتے ہوئے اتار چڑھاؤ کی حد کا حساب لگانے کے لئے کرتی ہے ، جس سے روک تھام کی قیمت طے ہوتی ہے۔
ردعمل:
اس حکمت عملی میں ای ایم اے ، ایم اے سی ڈی اور اے ٹی آر جیسے اشارے کا استعمال کیا گیا ہے ، جس سے متعدد ٹائم فریموں میں رجحان سے باخبر رہنے کی کارروائی کی جاسکتی ہے۔ پیرامیٹرز کو بہتر بنانے کے ذریعہ ، بہتر حکمت عملی کی واپسی کی شرح حاصل کرنے کی امید ہے۔ اس کے ساتھ ہی ، اشارے کی تاخیر ، پیرامیٹرز کی ایڈجسٹمنٹ اور اتار چڑھاؤ کے کنٹرول میں خرابی جیسے خطرات سے بچنے کی بھی ضرورت ہے۔
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA-50, EMA-100, and MACD Strategy with ATR for Stop Loss/Profit", overlay=true)
// MACD hesaplama
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
// EMA-50 ve EMA-100 hesaplama
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
// ATR hesaplama
atrLength = input(14, title="ATR Length")
atrValue = ta.atr(atrLength)
// Take Profit ve Stop Loss çoklayıcıları
takeProfitMultiplier = input(3.0, title="Take Profit Multiplier") // TP, 3 katı ATR
stopLossMultiplier = input(1.0, title="Stop Loss Multiplier")
// Long Pozisyon Koşulları
longCondition = ta.crossover(macdLine, signalLine) and close > ema50 and close > ema100
// Short Pozisyon Koşulları
shortCondition = ta.crossunder(macdLine, signalLine) and close < ema50 and close < ema100
// Take Profit ve Stop Loss Seviyeleri
takeProfitLevel = close + takeProfitMultiplier * atrValue
stopLossLevel = close - stopLossMultiplier * atrValue
// Long Pozisyon İşlemleri
strategy.entry("Long", strategy.long, when=longCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=takeProfitLevel)
// Short Pozisyon İşlemleri
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stopLossLevel, profit=takeProfitLevel)
// Grafikte Gösterme
plot(ema50, color=color.blue, title="EMA-50")
plot(ema100, color=color.red, title="EMA-100")
hline(0, "Zero Line", color=color.gray)