ڈائنامک اسٹاپ لاس ایڈجسٹمنٹ کے ساتھ حکمت عملی کے بعد ہاتھی بار کا رجحان

SMA HAMMER RSI
تخلیق کی تاریخ: 2025-01-17 16:24:18 آخر میں ترمیم کریں: 2025-01-17 16:24:18
کاپی: 4 کلکس کی تعداد: 371
1
پر توجہ دیں
1617
پیروکار

ڈائنامک اسٹاپ لاس ایڈجسٹمنٹ کے ساتھ حکمت عملی کے بعد ہاتھی بار کا رجحان

جائزہ

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

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

حکمت عملی کا عمل درج ذیل کلیدی مراحل پر مبنی ہے:

  1. ایک بینچ مارک قدر کے طور پر گزشتہ مخصوص مدت میں سلاخوں کے اوسط سائز کا حساب لگائیں۔
  2. شناخت کریں کہ آیا موجودہ کالم “ہاتھی کالم” کی خصوصیات کو پورا کرتا ہے:
    • کالم کا سائز اوسط سے نمایاں طور پر زیادہ ہے (کثیر ترتیب دینے والا)
    • اختتامی قیمت اعلی اور کم کی ایک مخصوص فیصد کی حد کے اندر ہے۔
    • یا یہ ہتھوڑا / الٹا ہتھوڑا پیٹرن کی خصوصیات کو پورا کرتا ہے۔
  3. ہاتھی کالم کی سمت کی بنیاد پر تجارتی سمت کا تعین کریں۔
  4. ابتدائی سٹاپ نقصان اور منافع کا ہدف مقرر کریں۔
  5. جیسا کہ قیمت ایک سازگار سمت میں بڑھتی ہے، متحرک طور پر سٹاپ نقصان کی پوزیشن کو ایڈجسٹ کریں:
    • 60% ہدف تک پہنچنے پر سٹاپ نقصان کو لاگت کی لکیر سے اوپر لے جائیں۔
    • 80% ہدف تک پہنچنے پر اسٹاپ نقصان کو مزید سخت کریں۔
    • جب 90% ہدف تک پہنچ جاتا ہے تو، سٹاپ نقصان کو نمایاں طور پر سخت کیا جاتا ہے اور منافع کے ہدف کو ایڈجسٹ کیا جاتا ہے

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=6
strategy("Estratégia Barra Elefante com Stop Dinâmico", overlay=true)

// Parâmetros configuráveis
num_barras = input.int(15, title="Número de Barras para Média", minval=1, maxval=100)
percentual_fechamento_valido = input.float(10, title="Percentual do Máximo de Pavio (%)", minval=1, maxval=100)
percentual_condicao_tamanho = input.float(1.8, title="Multiplicador do Tamanho Médio da Barra", minval=0.1, step=0.1)
percentual_lucro = input.float(1.8, title="% de Lucro do Alvo ref. Tam. da Barra", minval=0.1, step=0.1)

var bool executou_entrada = false

// Calcula o tamanho de cada barra
barra_tamanho = math.abs(close - open)

// Calcula a média do tamanho das últimas 'num_barras' barras
media_tamanho = ta.sma(barra_tamanho, num_barras)

// Definição das variáveis para o corpo do candle, sombra superior e sombra inferior
corpo = barra_tamanho
sombra_superior = high - math.max(close, open)
sombra_inferior = math.min(close, open) - low

// Condições para verificar se a sombra é pelo menos 2x maior que o corpo
sombra_sup_maior = sombra_superior >= 2 * corpo
sombra_inf_maior = sombra_inferior >= 2 * corpo

// Define a relação mínima entre a sombra e o corpo
relacao_minima = 2.0

fechamento_valido = ((close >= high - (percentual_fechamento_valido / 100) * (high - low)) or (close <= low + (percentual_fechamento_valido / 100) * (high - low)))

// Condição para verificar se o fechamento está próximo da máxima ou mínima
fechamento_proximo_max = close >= (high - (high - low) * 0.1)  // Fechamento nos 20% superiores
fechamento_proximo_min = close <= (low + (high - low) * 0.1)   // Fechamento nos 20% inferiores

// definição de candle martelo
eh_martelo = (sombra_sup_maior and fechamento_proximo_max) and (math.abs(high - low) > 1.5*media_tamanho)
eh_martelo_invertido = (sombra_inf_maior and fechamento_proximo_min) and (math.abs(low - high) > 1.5*media_tamanho)

// Compara o tamanho da barra atual com a média usando o percentual configurável
condicao_tamanho = (barra_tamanho > percentual_condicao_tamanho * media_tamanho) and (fechamento_valido or (eh_martelo or eh_martelo_invertido))

// Variáveis para entrada
comprar_condicao = (condicao_tamanho and close > open)
vender_condicao = (condicao_tamanho and close < open)

// Stop Loss inicial
stop_loss_compra = low[1] + (barra_tamanho / 5)  // Para compra, stop é na mínima do candle anterior ajustado
stop_loss_venda = high[1] - (barra_tamanho / 5) // Para venda, stop é na máxima do candle anterior ajustado

// Take Profit inicial (multiplicador configurado)
take_profit_compra = close + percentual_lucro * barra_tamanho
take_profit_venda = close - percentual_lucro * barra_tamanho

// Variáveis para controle do progresso do preço
lucro_alvo_60 = close + 0.6 * (take_profit_compra - close)  // 60% do alvo
lucro_alvo_80 = close + 0.8 * (take_profit_compra - close)  // 80% do alvo
lucro_alvo_90 = close + 0.9 * (take_profit_compra - close)  // 90% do alvo

// Ajustes dinâmicos do Stop Loss e Alvo
if (strategy.position_size > 0)  // Para compras
    if (high >= lucro_alvo_60)
        stop_loss_compra := close + 0.1 * barra_tamanho  // Ajusta Stop para 10% acima da entrada
    if (high >= lucro_alvo_80)
        stop_loss_compra := close + 0.5 * barra_tamanho  // Ajusta Stop para 50% acima da entrada
    if (high >= lucro_alvo_90)
        stop_loss_compra := close + 0.8 * barra_tamanho  // Ajusta Stop para 80% acima da entrada
        take_profit_compra := close + 0.5 * barra_tamanho  // Ajusta Alvo para +50% do último fechamento

if (strategy.position_size < 0)  // Para vendas
    if (low <= lucro_alvo_60)
        stop_loss_venda := close - 0.1 * barra_tamanho  // Ajusta Stop para 10% abaixo da entrada
    if (low <= lucro_alvo_80)
        stop_loss_venda := close - 0.5 * barra_tamanho  // Ajusta Stop para 50% abaixo da entrada
    if (low <= lucro_alvo_90)
        stop_loss_venda := close - 0.8 * barra_tamanho  // Ajusta Stop para 80% abaixo da entrada
        take_profit_venda := close - 0.5 * barra_tamanho  // Ajusta Alvo para -50% do último fechamento

// Executando as ordens de compra e venda
if (not executou_entrada) and (comprar_condicao)
    strategy.entry("Compra", strategy.long)
    strategy.exit("Stop Compra", "Compra", stop=stop_loss_compra, limit=take_profit_compra)
    executou_entrada := true  // Marca que a entrada foi feita

if (not executou_entrada) and (vender_condicao)
    strategy.entry("Venda", strategy.short)
    strategy.exit("Stop Venda", "Venda", stop=stop_loss_venda, limit=take_profit_venda)
    executou_entrada := true  // Marca que a entrada foi feita

// Para visualização, vamos colorir as barras
barcolor(comprar_condicao ? color.rgb(14, 255, 22) : na)
barcolor(vender_condicao ? #d606ff : na)
bgcolor((eh_martelo) ? color.new(color.green, 60) : na)
bgcolor((eh_martelo_invertido) ? color.new(color.red, 60) : na)

// Reseta o controle de execução no início de cada nova barra
if barstate.isnew
    executou_entrada := false