GM-8 & ADX ڈبل مساوی حکمت عملی ایک سے زیادہ تکنیکی اشارے کو یکجا کرنے والی ایک مقداری تجارتی حکمت عملی ہے۔ یہ حکمت عملی GM-8 اشارے ، ADX اشارے اور دوسرا EMA اشارے کا استعمال کرتے ہوئے ممکنہ خرید و فروخت کے اشارے کی نشاندہی کرتی ہے۔ GM-8 اشارے قیمت کے رجحان کا تعین کرنے کے لئے استعمال کیا جاتا ہے ، ADX اشارے رجحان کی طاقت کی تصدیق کے لئے استعمال کیا جاتا ہے ، دوسرا EMA اشارے رجحان کی سمت کا تعین کرنے میں معاون ہے۔ جب قیمت GM-8 کی اوسط سے تجاوز کرتی ہے اور ADX اشارے قیمت سے زیادہ ہوتی ہے تو ، خرید و فروخت کا سگنل پیدا ہوتا ہے۔ اس حکمت عملی کا فائدہ متعدد اشارے کو یکجا کرنے سے ہوتا ہے ، جس سے سگنل کی وشوسنییتا میں اضافہ ہوتا ہے۔
GM-8 & ADX ڈبل مساوی لائن حکمت عملی کے اصول مندرجہ ذیل ہیں:
GM-8 & ADX ڈبل مساوی حکمت عملی ایک کلاسیکی مقدار کی تجارت کی حکمت عملی ہے ، جو متعدد تکنیکی اشارے کو ملا کر خرید و فروخت کے اشارے کی شناخت کرتی ہے۔ اس حکمت عملی کا فائدہ یہ ہے کہ اس کی منطق سادہ اور واضح ہے ، سگنل نسبتا reliable قابل اعتماد ہے ، جو ابتدائی سیکھنے کے ل suitable موزوں ہے۔ لیکن اس کے ساتھ ہی رجحان کی شناخت کے بعد ، بار بار تجارت ، پیرامیٹرز کے انتخاب میں دشواری اور دیگر خطرات بھی موجود ہیں۔ حکمت عملی کی کارکردگی کو مزید بہتر بنانے کے لئے ، مزید فلٹرنگ شرائط کو متعارف کرانے پر غور کیا جاسکتا ہے۔ داخل ہونے اور باہر نکلنے کے مواقع کو بہتر بنانے ، پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرنے ، پوزیشن مینجمنٹ میں شامل کرنے وغیرہ کے اقدامات۔ مجموعی طور پر ، GM-8 & ADX ڈبل مساوی حکمت عملی نے تجارت کو مقدار میں تبدیل کرنے کے لئے ایک اچھا بنیادی فریم ورک فراہم کیا ، جو عملی طور پر مستقل طور پر ترمیم اور بہتری کے قابل ہے۔
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("GM-8 and ADX Strategy with Second EMA", overlay=true)
// Input parameters
gm_period = input(15, title="GM-15 Period")
second_ema_period = input(59, title="Second EMA Period")
adx_period = input(8, title="ADX Period")
adx_threshold = input(34, title="ADX Threshold")
lot_size = input.float(0.4, title="Lot Size")
// Calculate the ADX manually
adx(high, low, close, length) =>
sum_truerange = 0.0
sum_plusDM = 0.0
sum_minusDM = 0.0
for i = 1 to length
truerange_calc = high[i] - low[i]
truerange_prev_close = high[i] - close[i-1]
truerange_close = low[i] - close[i-1]
truerange_calc := truerange_prev_close > truerange_calc ? truerange_prev_close : truerange_calc
truerange_calc := truerange_close > truerange_calc ? truerange_close : truerange_calc
sum_truerange := sum_truerange + truerange_calc
plusDM = high[i] - high[i-1] > low[i-1] - low[i] and high[i] - high[i-1] > 0 ? high[i] - high[i-1] : 0
sum_plusDM := sum_plusDM + plusDM
minusDM = low[i-1] - low[i] > high[i] - high[i-1] and low[i-1] - low[i] > 0 ? low[i-1] - low[i] : 0
sum_minusDM := sum_minusDM + minusDM
plusDI = sum_plusDM / sum_truerange * 100
minusDI = sum_minusDM / sum_truerange * 100
sumDI = plusDI + minusDI
adx_value = 100 * (plusDI - minusDI) / (sumDI == 0 ? 1 : sumDI)
// Calculate indicators
gm_8 = ta.sma(close, gm_period)
second_ema = ta.ema(close, second_ema_period)
adx_value = adx(high, low, close, adx_period)
// Define buy and sell conditions
buy_condition = ta.crossover(close, gm_8) and close > gm_8 and close > second_ema and adx_value > adx_threshold
sell_condition = ta.crossunder(close, gm_8) and close < gm_8 and close < second_ema and adx_value > adx_threshold
// Entry and exit logic
if (buy_condition)
strategy.entry("Buy", strategy.long, qty=lot_size)
if (sell_condition)
strategy.entry("Sell", strategy.short, qty=lot_size)
// Exit conditions
exit_buy_condition = ta.crossunder(close, gm_8) and close < gm_8
exit_sell_condition = ta.crossover(close, gm_8) and close > gm_8
if (exit_buy_condition)
strategy.close("Buy")
if (exit_sell_condition)
strategy.close("Sell")