وسائل لوڈ ہو رہے ہیں... لوڈنگ...

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

مصنف:چاؤ ژانگ، تاریخ: 2024-11-29 16:35:43
ٹیگز:ایچ ایم اےای ایم اےڈبلیو ایم اے

img

جائزہ

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

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

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

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

  1. مختلف بازاروں میں اکثر غلط سگنل پیدا کر سکتا ہے
  2. غلط پیرامیٹرز کی ترتیبات تاخیر سے سگنل یا زیادہ حساسیت کی قیادت کر سکتے ہیں
  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



متعلقہ

مزید