ایلڈرز پاور انڈیکس مقداری تجارتی حکمت عملی معیاری انحراف اور حرکت اوسط پر مبنی

EFI ATR EMA SMA SD
تخلیق کی تاریخ: 2024-11-28 17:08:24 آخر میں ترمیم کریں: 2024-11-28 17:08:24
کاپی: 1 کلکس کی تعداد: 161
1
پر توجہ دیں
1214
پیروکار

ایلڈرز پاور انڈیکس مقداری تجارتی حکمت عملی معیاری انحراف اور حرکت اوسط پر مبنی

جائزہ

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

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

یہ حکمت عملی بنیادی طور پر مندرجہ ذیل بنیادی عناصر پر مبنی ہے۔

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

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

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

//@version=5
strategy("Elder's Force Index Strategy with ATR-Based SL and TP", overlay=true)

// Input parameters for fast and long EFI
efi_fast_length = input.int(13, "Fast EFI Length", minval=1)
efi_long_length = input.int(50, "Long EFI Length", minval=1)
stdev_length = input.int(50, "Standard Deviation Length", minval=2, maxval=300)
numdev = input.float(2, "Number of Deviations", minval=1, maxval=20, step=0.1)
atr_length = input.int(14, "ATR Length", minval=1)
atr_multiplier_sl = input.float(1.5, "ATR Multiplier for Stop Loss", step=0.1)
trailing_tp_multiplier = input.float(0.5, "Multiplier for Trailing Take Profit", step=0.1)

// Elder's Force Index Calculation for Fast and Long EFI
efi_fast = ta.ema((close - close[1]) * volume, efi_fast_length)
efi_long = ta.ema((close - close[1]) * volume, efi_long_length)

// Calculate Standard Deviation for Fast EFI
efi_fast_average = ta.sma(efi_fast, stdev_length)
efi_fast_stdev = ta.stdev(efi_fast, stdev_length)
efi_fast_diff = efi_fast - efi_fast_average
efi_fast_result = efi_fast_diff / efi_fast_stdev

// Calculate Standard Deviation for Long EFI
efi_long_average = ta.sma(efi_long, stdev_length)
efi_long_stdev = ta.stdev(efi_long, stdev_length)
efi_long_diff = efi_long - efi_long_average
efi_long_result = efi_long_diff / efi_long_stdev

// Define upper and lower standard deviation levels
upper_sd = numdev
lower_sd = -numdev

// Define entry conditions based on crossing upper and lower standard deviations
long_condition = efi_fast_result > upper_sd and efi_long_result > upper_sd
short_condition = efi_fast_result < lower_sd and efi_long_result < lower_sd

// Check if a position is already open
is_position_open = strategy.position_size != 0

// Calculate ATR for stop loss and take profit
atr = ta.atr(atr_length)

// Initialize stop loss and take profit variables
var float stop_loss = na
var float take_profit = na

// Execute trades based on conditions, ensuring only one trade at a time
if (long_condition and not is_position_open)
    strategy.entry("Long", strategy.long)
    stop_loss := close - atr * atr_multiplier_sl  // Set initial stop loss based on ATR
    take_profit := close + atr * trailing_tp_multiplier  // Set initial take profit based on ATR

if (short_condition and not is_position_open)
    strategy.entry("Short", strategy.short)
    stop_loss := close + atr * atr_multiplier_sl  // Set initial stop loss based on ATR
    take_profit := close - atr * trailing_tp_multiplier  // Set initial take profit based on ATR

// Update exit conditions
if (is_position_open)
    // Update stop loss for trailing
    if (strategy.position_size > 0)  // For long positions
        stop_loss := math.max(stop_loss, close - atr * atr_multiplier_sl)
        
        // Adjust take profit based on price movement
        take_profit := math.max(take_profit, close + atr * trailing_tp_multiplier)

    else if (strategy.position_size < 0)  // For short positions
        stop_loss := math.min(stop_loss, close + atr * atr_multiplier_sl)
        
        // Adjust take profit based on price movement
        take_profit := math.min(take_profit, close - atr * trailing_tp_multiplier)

    // Set exit conditions
    strategy.exit("Long Exit", from_entry="Long", stop=stop_loss, limit=take_profit)
    strategy.exit("Short Exit", from_entry="Short", stop=stop_loss, limit=take_profit)