
اس حکمت عملی میں ای ایم اے کی اوسط لائن گولڈن کراس کا استعمال کیا گیا ہے جس سے ٹریڈنگ سگنل پیدا ہوتا ہے ، یعنی تیز ای ایم اے لائن پر سست ای ایم اے لائن کو عبور کرتے وقت خریدنے کا سگنل پیدا ہوتا ہے ، اور تیز ای ایم اے لائن کے نیچے سست ای ایم اے لائن کو عبور کرتے وقت فروخت کا سگنل پیدا ہوتا ہے۔ یہ ایک عام رجحان سے باخبر رہنے کی حکمت عملی ہے۔ اس کے علاوہ ، حکمت عملی اے ٹی آر اشارے کا استعمال کرتی ہے جس میں متحرک اسٹاپ نقصان کی پوزیشن طے کی جاتی ہے ، جبکہ منافع کو یقینی بناتے ہوئے خطرے کو کنٹرول کیا جاتا ہے۔
حل:
یہ حکمت عملی مجموعی طور پر استعمال کرنے میں آسان ہے ، ای ایم اے کی اوسط لائن پر مبنی سگنل پیدا کرتی ہے ، اور اس کے علاوہ اے ٹی آر اشارے سے ٹریک کرنے والے اسٹاپ نقصان کو بھی شامل کیا جاسکتا ہے ، تاکہ خطرے کو مؤثر طریقے سے کنٹرول کیا جاسکے۔ اگرچہ کچھ غلط سگنل ہوں گے ، لیکن اہم رجحانات کو پکڑنے کی صلاحیت مضبوط ہے ، منافع زیادہ مستحکم ہے ، اور یہ مقدار کی تجارت کے لئے موزوں بنیادی حکمت عملی میں سے ایک ہے۔ پیرامیٹرز کی اصلاح اور افادیت میں توسیع کے ذریعہ بہتری کی گنجائش بھی ہے ، اور یہ گہری تحقیق کے قابل ہے۔
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
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/
// © byee322
/// This strategy uses the EMA to generate buy and sell signals with a 1.5x ATR stop loss
//@version=5
strategy("EMA Strategy with ATR Stop Loss", overlay=true)
// Define the EMA lengths as input parameters
emaLength1 = input(13, "EMA Length 1")
emaLength2 = input(48, "EMA Length 2")
// Define the moving averages
ema1 = ta.ema(close, emaLength1)
ema2 = ta.ema(close, emaLength2)
// Buy signal: EMA 1 crosses above EMA 2
buy = ta.crossover(ema1, ema2)
// Sell signal: EMA 1 crosses below EMA 2
sell = ta.crossunder(ema1, ema2)
// Define the state variable
state = 0
state := buy ? 1 : sell ? -1 : nz(state[1])
// Change the color of the candles
color = state == 1 ? color.green : state == -1 ? color.red : na
// Plot the colored candles
plotcandle(open, high, low, close, color=color)
// Plot the signals on the chart with text labels
plotshape(buy, style=shape.triangleup, color=color.new(color.green, 50), location=location.belowbar, text="Buy")
plotshape(sell, style=shape.triangledown, color=color.new(color.red, 50), location=location.abovebar, text="Sell")
// Calculate the ATR
atrVal = ta.atr(14)
// Calculate the stop loss level for buy
stopLossBuy = buy ? close[1] - 1.5 * atrVal : na
// Calculate the stop loss level for sell
stopLossSell = sell ? close[1] + 1.5 * atrVal : na
// Plot the stop loss level for buy
plot(stopLossBuy, color=color.new(color.green, 50), linewidth=3)
// Plot the stop loss level for sell
plot(stopLossSell, color=color.new(color.red, 50), linewidth=3)
if buy
strategy.entry("Enter Long", strategy.long)
else if sell
strategy.entry("Enter Short", strategy.short)