
حکمت عملی ایک انکولی تجارتی نظام ہے جس کی بنیاد Stochastic Momentum Indicator (SMI) پر ہے۔ یہ SMI اشارے اور اس کی سگنل لائن کے کراس اوور کا تجزیہ کرکے مارکیٹ کے رجحانات کی پیش گوئی کرتا ہے، اور خود بخود اہم پوزیشنوں پر خرید و فروخت کے سگنل جاری کرتا ہے۔ حکمت عملی ڈیٹا کو ہموار کرنے اور سگنل کی وشوسنییتا کو بہتر بنانے کے لیے ڈبل ایکسپونینشل موونگ ایوریج (EMA) کا استعمال کرتی ہے۔ یہ نظام درمیانی اور طویل مدتی لین دین کے لیے خاص طور پر موزوں ہے اور مارکیٹ کے اہم رجحانات کے اہم موڑ کو مؤثر طریقے سے پکڑ سکتا ہے۔
حکمت عملی کا بنیادی مقصد اسٹاکسٹک مومینٹم انڈیکیٹر (SMI) کا حساب لگا کر قیمت کی رفتار کی پیمائش کرنا ہے۔ سب سے پہلے ایک مخصوص مدت کے اندر اعلی اور کم قیمتوں کی رینج کا حساب لگایا جاتا ہے، اور پھر اختتامی قیمت کو اس حد کے مطابق معمول بنایا جاتا ہے۔ متعلقہ رینج اور قیمت کی حد میں ڈبل EMA ہموار کرنے سے، زیادہ مستحکم SMI قدر حاصل کی جاتی ہے۔ جب SMI لائن اپنی سگنل لائن (SMI کا EMA) کے ساتھ گولڈن کراس بناتی ہے، تو ایک خرید سگنل ٹرگر ہوتا ہے جب یہ ڈیتھ کراس بناتا ہے تو سیل سگنل ٹرگر ہوتا ہے۔ ایک ہی وقت میں، زیادہ خریدی ہوئی اور زیادہ فروخت کی حدیں (+40/-40) سگنل کی وشوسنییتا کی تصدیق کے لیے مقرر کی گئی ہیں۔
یہ SMI اشارے پر مبنی ایک بالغ تجارتی حکمت عملی ہے جو تکنیکی اشارے کے کراس اوور کے ذریعے تجارتی سگنل تیار کرتی ہے اور انتہائی عملی ہے۔ حکمت عملی کا بنیادی فائدہ یہ ہے کہ سگنل صاف ہے اور یہ شور کے خلاف انتہائی مزاحم ہے، لیکن اس میں ایک خاص حد تک وقفہ بھی ہے۔ والیوم کی تصدیق اور ٹرینڈ فلٹرنگ جیسے اصلاحی اقدامات کو شامل کرکے، حکمت عملی کے استحکام اور بھروسے کو مزید بہتر بنایا جا سکتا ہے۔ یہ حکمت عملی درمیانی اور طویل مدتی رجحانات کو ٹریک کرنے کے لیے خاص طور پر موزوں ہے اور یہ ان سرمایہ کاروں کے لیے ایک اچھا انتخاب ہے جو ایک منظم تجارتی نظام بنانا چاہتے ہیں۔
/*backtest
start: 2024-12-19 00:00:00
end: 2024-12-26 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Iban_Boe
//@version=6
strategy("SMI Strategy with Signals", "SMI Strategy", overlay=false)
// Parámetros del SMI
lengthK = input.int(14, "%K Length", minval=1, maxval=15000)
lengthD = input.int(3, "%D Length", minval=1, maxval=4999)
lengthEMA = input.int(3, "EMA Length", minval=1, maxval=4999)
// Función de doble EMA
emaEma(source, length) => ta.ema(ta.ema(source, length), length)
// Cálculos del SMI
highestHigh = ta.highest(lengthK)
lowestLow = ta.lowest(lengthK)
highestLowestRange = highestHigh - lowestLow
relativeRange = close - (highestHigh + lowestLow) / 2
smi = 200 * (emaEma(relativeRange, lengthD) / emaEma(highestLowestRange, lengthD))
smiSignal = ta.ema(smi, lengthEMA)
// Gráficos del SMI
smiPlot = plot(smi, "SMI", color=color.blue)
plot(smiSignal, "SMI-based EMA", color=color.orange)
// Level lines
hline(40, "Overbought Line", color=color.green)
hline(-40, "Oversold Line", color=color.red)
hline(0, "Middle Line", color=color.gray)
midLinePlot = plot(0, color = na, editable = false, display = display.none)
fill(smiPlot, midLinePlot, 120, 40, top_color = color.new(#4caf4f, 50), bottom_color = color.new(color.green, 100), title = "Overbought Gradient Fill")
fill(smiPlot, midLinePlot, -40, -120, top_color = color.new(color.red, 100), bottom_color = color.new(color.red, 50), title = "Oversold Gradient Fill")
// Señales de compra y venta
buySignal = ta.crossover(smi, smiSignal) // Detect crossover
sellSignal = ta.crossunder(smi, smiSignal) // Detect crossover
// Graficar señales de compra/venta
plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny, title="Señal de Compra")
plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny, title="Señal de Venta")
// Lógica de la estrategia
if (buySignal)
strategy.entry("Compra", strategy.long)
if (sellSignal)
strategy.entry("Venta", strategy.short)
// Alertas
alertcondition(buySignal, title="Alerta de Compra", message="¡Señal de Compra Detectada!")
alertcondition(sellSignal, title="Alerta de Venta", message="¡Señal de Venta Detectada!")