
یہ حکمت عملی ایک رجحان ٹریکنگ سسٹم ہے جو MACD اور RSI ڈبل اشارے پر مبنی فلٹرنگ پر مبنی ہے ، جس میں متحرک اسٹاپ نقصان کا طریقہ کار شامل ہے۔ یہ حکمت عملی بنیادی طور پر MACD کے کراس سگنل کے ذریعہ تجارت کے مواقع پیدا کرتی ہے ، اور RSI کو دوسری تصدیق کے طور پر استعمال کرتی ہے ، جبکہ خطرے کو کنٹرول کرنے کے لئے فیصد اسٹاپ متعارف کرایا جاتا ہے۔ حکمت عملی کا مرکز تکنیکی اشارے کے ساتھ مل کر استعمال کرکے تجارتی سگنل کی وشوسنییتا کو بڑھانا ہے ، اور متحرک اسٹاپ نقصان کے ذریعہ منافع کو بچانا ہے۔
حکمت عملی MACD ((12 ، 26 ، 9) اور RSI ((14)) کو بطور اہم اشارے استعمال کرتی ہے۔ انٹری سگنل کو ایک ساتھ دو شرائط کو پورا کرنا ہوتا ہے۔ MACD گولڈ فورک اور RSI اوور سیل زون ((ڈیفالٹ 40 سے نیچے) میں ہوتا ہے اور MACD ڈیڈ فورک اور RSI اوور سیل زون ((ڈیفالٹ 59 سے اوپر) میں ہوتا ہے اور اس کے نتیجے میں اس میں کوئی فائدہ نہیں ہوتا ہے۔ سسٹم میں 3٪ متحرک اسٹاپ نقصان بھی ہے ، اور جب قیمت منفی سمت میں چلتی ہے تو اس سے زیادہ فیصد ہوتا ہے ، تو یہ خود بخود پوزیشن پر قابو پانے کے لئے کھل جاتا ہے۔ اس کے علاوہ ، حکمت عملی میں ٹائم فلٹر بھی شامل ہے ، جس سے صارف کو مخصوص ٹائم فریم کا تعین کرنے کی اجازت ملتی ہے۔
یہ ایک ساختہ ، منطقی اور واضح رجحان کی پیروی کرنے والی حکمت عملی ہے۔ MACD اور RSI کے مجموعی استعمال کے ذریعہ ، تجارتی سگنل کے معیار کو مؤثر طریقے سے بہتر بنایا گیا ہے۔ متحرک اسٹاپ نقصانات کا ڈیزائن خطرے کو کنٹرول کرنے میں مدد کرتا ہے ، حکمت عملی کو اچھی طرح سے خطرے سے نمٹنے کی خصوصیات فراہم کرتا ہے۔ یہ حکمت عملی رجحانات کے واضح بازاروں میں استعمال کے لئے موزوں ہے ، لیکن مارکیٹ کی مخصوص خصوصیات کے مطابق پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے۔ تجویز کردہ اصلاحی سمت کے ذریعہ ، حکمت عملی کی استحکام اور وشوسنییتا کو مزید بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2025-02-13 10:00:00
end: 2025-02-19 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © eagle916
//@version=5
strategy("EAG MACD + RSI Strategy",overlay=true, initial_capital = 300, default_qty_value = 10, default_qty_type = "percent_of_equity", commission_type=strategy.commission.percent, commission_value=0.1)
// Input para el RSI
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_overbought = input.int(59, title="RSI Overbought Level", minval=1, maxval=100)
rsi_oversold = input.int(40, title="RSI Oversold Level", minval=1, maxval=100)
// Input para el MACD
macd_length = input.int(12, title="MACD Length", minval=1)
macd_overbought = input.int(26, title="MACD Overbought Level", minval=1, maxval=100)
macd_signal = input.int(9, title="MACD Signal Level", minval=1, maxval=100)
// Input para el porcentaje de pérdida (stop loss)
stop_loss_percent = input.float(3.0, title="Porcentaje de Stop Loss (%)", minval=0.1, step=0.1)
// Calcular RSI
rsi_value = ta.rsi(close, rsi_length)
// Calcular MACD
[macdLine, signalLine, _] = ta.macd(close, macd_length, macd_overbought, macd_signal)
macd_crossup = ta.crossover(macdLine, signalLine) // Cruce al alza del MACD
macd_crossdown = ta.crossunder(macdLine, signalLine) // Cruce a la baja del MACD
// Condiciones de compra y venta
buy_condition = macd_crossup and rsi_value <= rsi_oversold
sell_condition = macd_crossdown and rsi_value >= rsi_overbought
// Registrar precio de entrada
var float entry_price = na
if strategy.position_size == 0
entry_price := na
// Mostrar señales de compra y venta en la gráfica principal
plotshape(series=buy_condition, title="Señal de Compra", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") // Compra debajo de la vela
plotshape(series=sell_condition, title="Señal de Venta", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Venta encima de la vela
// Órdenes de estrategia
if buy_condition
strategy.entry("Compra", strategy.long)
entry_price := close
if sell_condition
strategy.entry("Venta", strategy.short)
entry_price := close
// Calcular el precio de stop loss
long_stop_loss = entry_price * (1 - stop_loss_percent / 100)
short_stop_loss = entry_price * (1 + stop_loss_percent / 100)
// Cerrar posición si el precio va en contra el porcentaje definido por el usuario
if strategy.position_size > 0 and close < long_stop_loss
strategy.close("Compra", comment="Stop Loss Compra")
if strategy.position_size < 0 and close > short_stop_loss
strategy.close("Venta", comment="Stop Loss Venta")