ہل موونگ ایوریج پر مبنی عکاس EMA رجحان کے تعین کی حکمت عملی

HMA EMA WMA
تخلیق کی تاریخ: 2024-11-29 16:35:43 آخر میں ترمیم کریں: 2024-11-29 16:35:43
کاپی: 3 کلکس کی تعداد: 493
1
پر توجہ دیں
1617
پیروکار

ہل موونگ ایوریج پر مبنی عکاس EMA رجحان کے تعین کی حکمت عملی

جائزہ

یہ حکمت عملی مارکیٹ کے رجحانات کا فیصلہ کرنے کے لئے ہل منتقل اوسط ((HMA) کی عکاسی کی خصوصیات کا استعمال کرتی ہے۔ حکمت عملی کا مرکز قلیل مدتی اور طویل مدتی ہل منتقل اوسط کے مابین فرق کی قدر کا حساب لگانا ہے ، اور اس فرق کی عکاسی کی قیمتوں کی پیش گوئی کرنا ہے۔ ایڈجسٹ فیصد پیرامیٹرز کو ترتیب دے کر ، حکمت عملی مختلف تجارتی ادوار کے مطابق ڈھال سکتی ہے ، اور اس طرح رجحانات کا فیصلہ کرنے کا ایک زیادہ درست اشارہ فراہم کرتی ہے۔

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

حکمت عملی نے 36 اور 44 دوروں کی دو ہل چلتی اوسط کو بنیادی اشارے کے طور پر اپنایا ہے۔ اس حکمت عملی کے درمیان مطلق فرق کی گنتی کرکے ، اور موجودہ رجحان کی سمت کے ساتھ فرق کی عکاسی کی گنتی کرکے ، بالآخر عکاسی کی قیمت حاصل کی گئی ہے۔ حکمت عملی نے وزن میں چلنے والی اوسط ((WMA) بھی متعارف کروائی ہے تاکہ ڈیلٹا کی گنتی کی جاسکے ، اس ڈیلٹا کی قیمت کو عکاسی کی قیمت کے ساتھ کراس کرکے رجحان کا رخ موڑنے کا پتہ لگایا جاسکے۔ رجحان کے فیصلے کے دوران ، حکمت عملی نے رجحان کی تبدیلی کی حساسیت کو کنٹرول کرنے کے لئے ایڈجسٹ ایڈجسٹ فیکٹرز مرتب کیے ہیں۔ جب قیمت پیش گوئی کی حد سے تجاوز کرتی ہے تو حکمت عملی اسی طرح کے تجارتی سگنل جاری کرتی ہے۔

اسٹریٹجک فوائد

  1. ہل منتقل اوسط کو اپنانے سے روایتی منتقل اوسط کی تاخیر کو کم کیا جاتا ہے اور مارکیٹ میں تبدیلیوں کے لئے حکمت عملی کی رفتار میں اضافہ ہوتا ہے
  2. رجحانات کی تبدیلی کے نقطہ نظر کو زیادہ درست طریقے سے پکڑنے کے لئے عکاسی کی قیمت کا تصور متعارف کرایا
  3. ایڈجسٹ ایڈجسٹ فیکٹر ڈیزائن کیا گیا ہے تاکہ حکمت عملی کو زیادہ قابل اطلاق بنایا جاسکے
  4. مطلق فرق کے حساب سے سگنل کی وشوسنییتا میں اضافہ
  5. رجحان کی حد لائنوں کے متحرک ایڈجسٹمنٹ سمیت مربوط رسک کنٹرول میکانزم
  6. سسٹم میں بصری اجزاء شامل ہیں ، جس سے تاجروں کو مارکیٹ کی حالت کا اندازہ لگانے میں مدد ملتی ہے

اسٹریٹجک رسک

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

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

  1. اتار چڑھاؤ کے اشارے ، متحرک ایڈجسٹمنٹ اصلاحی عوامل ، مارکیٹ کی حالت میں حکمت عملی کی بہتر موافقت
  2. مارکیٹ کی حالت کی شناخت کے لئے میکانزم میں اضافہ ، مختلف مارکیٹ کے حالات میں مختلف پیرامیٹرز کی ترتیبات
  3. پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرنے کے لئے خود کار طریقے سے پیرامیٹرز کی اصلاح کے نظام کی ترقی
  4. سگنل کی وشوسنییتا کو بہتر بنانے کے لئے حجم تجزیہ ماڈیول میں اضافہ
  5. خطرے کے کنٹرول کے نظام کو بہتر بنانا ، نقصانات کو روکنے اور فنڈ مینجمنٹ کی خصوصیات میں اضافہ کرنا

خلاصہ کریں۔

اس حکمت عملی نے ہل منتقل اوسط اور عکاسی کی قیمت کے تصور کو جدید انداز میں جوڑ کر ایک رد عمل سے متعلق ، لچکدار رجحان سے باخبر رہنے کا نظام تشکیل دیا ہے۔ اس حکمت عملی کا بنیادی فائدہ اس کی صلاحیت میں ہے کہ وہ رجحان کے موڑ کے نقطہ کو درست طریقے سے پکڑ سکے ، اور اس کے ساتھ ساتھ اس کی قابل موافقت پیرامیٹرز کی ترتیب سے مختلف مارکیٹ کے حالات میں اس حکمت عملی کی اطلاق کو یقینی بنایا جاسکے۔ اگرچہ اس میں کچھ موروثی خطرات موجود ہیں ، لیکن مسلسل اصلاح اور بہتری کے ساتھ ، اس حکمت عملی کو ایک مستحکم اور قابل اعتماد تجارتی آلہ بننے کا امکان ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Reflected EMA Difference (RED)", shorttitle="RED [by MarcosPna]", overlay=true) //mv30
// Análisis de Riesgo
// Risk Analysis
media_delta = ta.wma(2 * ta.wma(close, 8 / 2) - ta.wma(close, 8), math.floor(math.sqrt(8)))

// Calcular EMAs
// Calculate EMAs
ema_corta_delta = ta.hma(close, 36)
ema_larga_delta = ta.hma(close, 44)

// Calcular la diferencia entre las EMAs
// Calculate the difference between EMAs
diferencia_delta_ema = math.abs(ema_corta_delta - ema_larga_delta)

// Calcular el valor reflejado basado en la posición de la EMA corta
// Compute the reflected value based on the position of the short EMA
valor_reflejado_delta = ema_corta_delta + (ema_corta_delta > ema_larga_delta ? diferencia_delta_ema : -diferencia_delta_ema)

// Suavizar el valor reflejado
// Smooth the reflected value
periodo_suavizado_delta = input.int(2, title="Periodo extendido")
ema_suavizada_delta = ta.hma(valor_reflejado_delta, periodo_suavizado_delta)

// Ploteo de las EMAs y la línea reflejada
// Plot EMAs and the reflected line
plot(valor_reflejado_delta, title="Reflected EMA Difference (RED)", color=valor_reflejado_delta > ema_suavizada_delta ? color.rgb(253, 25, 238, 30) : color.rgb(183, 255, 30), linewidth=2, style=plot.style_line)

// Parámetros ajustables para la reversión de tendencia
// Adjustable parameters for trend reversal
factor_correccion_delta = input.float(title='Porcentaje de cambio', minval=0, maxval=100, step=0.1, defval=0.04)
tasa_correccion_delta = factor_correccion_delta * 0.01

// Variables para la reversión de tendencia
// Variables for trend reversal
var int direccion_delta_tendencia = 0
var float precio_maximo_delta = na
var float precio_minimo_delta = na
var float limite_tendencia_delta = na

// Inicializar precio máximo y mínimo con el primer valor de la EMA suavizada reflejada
// Initialize peak and trough prices with the first value of the smoothed reflected EMA
if na(precio_maximo_delta)
    precio_maximo_delta := ema_suavizada_delta
if na(precio_minimo_delta)
    precio_minimo_delta := ema_suavizada_delta

// Lógica de reversión de tendencia con la EMA suavizada reflejada
// Trend reversal logic with the smoothed reflected EMA
if direccion_delta_tendencia >= 0
    if ema_suavizada_delta > precio_maximo_delta
        precio_maximo_delta := ema_suavizada_delta
    limite_tendencia_delta := precio_maximo_delta - (precio_maximo_delta * tasa_correccion_delta)
    if ema_suavizada_delta <= limite_tendencia_delta
        direccion_delta_tendencia := -1
        precio_minimo_delta := ema_suavizada_delta
        strategy.entry("Venta", strategy.short)
else
    if ema_suavizada_delta < precio_minimo_delta
        precio_minimo_delta := ema_suavizada_delta
    limite_tendencia_delta := precio_minimo_delta + (precio_minimo_delta * tasa_correccion_delta)
    if ema_suavizada_delta >= limite_tendencia_delta
        direccion_delta_tendencia := 1
        precio_maximo_delta := ema_suavizada_delta
        strategy.entry("Compra", strategy.long)

// Ploteo y señales
// Plotting and signals
indice_delta_ascendente = plot(direccion_delta_tendencia == 1 ? limite_tendencia_delta : na, title="Aumento de valor", style=plot.style_linebr, linewidth=3, color=color.new(color.green, 0))
senal_compra_delta = direccion_delta_tendencia == 1 and direccion_delta_tendencia[1] == -1
plotshape(senal_compra_delta ? limite_tendencia_delta : na, title="Estilo señal alcista", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))

indice_delta_descendente = plot(direccion_delta_tendencia == 1 ? na : limite_tendencia_delta, title="Disminución de valor", style=plot.style_linebr, linewidth=3, color=color.new(color.red, 0))
senal_venta_delta = direccion_delta_tendencia == -1 and direccion_delta_tendencia[1] == 1
plotshape(senal_venta_delta ? limite_tendencia_delta : na, title="Estilo señal bajista", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))

// Variables para manejo de cajas
// Variables for box management
var box caja_tendencia_delta = na

// Condición: Cruce de HullMA hacia abajo
// Condition: HullMA crosses below reflected EMA value
cruce_bajista_delta = ta.crossunder(media_delta, valor_reflejado_delta)

// Condición: Cruce de HullMA hacia arriba
// Condition: HullMA crosses above reflected EMA value
cruce_alcista_delta = ta.crossover(media_delta, valor_reflejado_delta)

// Dibujar caja cuando HullMA cruza hacia abajo el valor reflejado de EMA
// Draw a box when HullMA crosses below the reflected EMA value
// if (cruce_bajista_delta) and direccion_delta_tendencia == 1
//     caja_tendencia_delta := box.new(left=bar_index, top=high, right=bar_index, bottom=low, text = "Critical Areas", text_color = color.white, border_width=2, border_color=color.rgb(254, 213, 31), bgcolor=color.new(color.red, 90))

// Cerrar caja cuando HullMA cruza hacia arriba el valor reflejado de EMA
// Close the box when HullMA crosses above the reflected EMA value
// if (cruce_alcista_delta and not na(caja_tendencia_delta))
//     box.set_right(caja_tendencia_delta, bar_index)
//     caja_tendencia_delta := na  // Remove the reference to create a new box at the next cross down