ای ایم اے ملٹی ڈی سی اے حکمت عملی کے ساتھ ٹریلنگ سٹاپ نقصان اور منافع کا ہدف

مصنف:چاؤ ژانگ، تاریخ: 2024-01-19 15:16:53
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

اشارے

  • EMA5، EMA10، EMA20، EMA50، EMA100، EMA200
  • اوسط حقیقی رینج (ATR)

اندراج کے اشارے

جب قیمت منتخب کردہ ای ایم اے کی مدت کی حد میں عبور یا حرکت کرتی ہے تو طویل اندراج کو متحرک کرتا ہے۔ عام ای ایم اے میں 5 ، 10 ، 20 ، 50 ، 100 ، 200 ادوار شامل ہیں۔ اس حکمت عملی میں اندراج کے معیار کے طور پر 1٪ ای ایم اے کی حد کا استعمال کیا جاتا ہے۔

رسک مینجمنٹ

اس میں متعدد رسک کنٹرول میکانزم شامل ہیں:

  1. ATR سٹاپ نقصان: جب ATR حد سے تجاوز کرتا ہے تو تمام پوزیشنیں بند کردیں
  2. اندراج کی تعدد کی حد: اندراجات کی زیادہ سے زیادہ تعداد کو کنٹرول کریں
  3. ٹریلنگ سٹاپ نقصان: قیمت کی نقل و حرکت پر مبنی متحرک سٹاپ نقصان

منافع حاصل کرنا

باہر نکلنے کے لئے منافع کی ہدف قیمت کی سطح مقرر کریں

فوائد

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

خطرات اور بہتری

  1. مختلف مارکیٹوں کے لئے EMAs کے موافقت کی ضروریات کو بہتر بنانے
  2. ڈی سی اے کے زیادہ اندراجات بہت زیادہ سرمایہ پر قبضہ کرسکتے ہیں
  3. سٹاپ نقصان کا فیصد بیک ٹسٹنگ کی ضرورت ہے

بہتری کی حکمت عملی

  1. بہتر رجحان کی نشاندہی کے لئے جدید EMA نظام کا استعمال کریں
  2. ڈی سی اے فریکوئینسی اور سٹاپ نقصان فیصد کی کثیر متغیر اصلاح
  3. قیمتوں میں تبدیلی کی پیش گوئی کے لئے مشین لرننگ ماڈلز کو شامل کریں
  4. مجموعی سرمایہ کاری کے استعمال کو منظم کرنے کے لئے پوزیشن سائزنگ ماڈیول کو ضم کریں

نتیجہ

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


/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("EMA DCA Strategy with Trailing Stop and Profit Target", overlay=true )

// Define the investment amount for when the condition is met
investment_per_condition = 6

// Define the EMAs
ema5 = ema(close, 5)
ema10 = ema(close, 10)
ema20 = ema(close, 20)
ema50 = ema(close, 50)
ema100 = ema(close, 100)
ema200 = ema(close, 200)

// Define ATR sell threshold
atr_sell_threshold = input(title="ATR Sell Threshold", type=input.integer, defval=10, minval=1)

// Helper function to find if the price is within 1% of the EMA
isWithin1Percent(price, ema) =>
    ema_min = ema * 0.99
    ema_max = ema * 1.01
    price >= ema_min and price <= ema_max

// Control the number of buys
var int buy_count = 0
buy_limit = input(title="Buy Limit", type=input.integer, defval=3000)

// Calculate trailing stop and profit target levels
trail_percent = input(title="Trailing Stop Percentage", type=input.integer, defval=1, minval=0, maxval=10)
profit_target_percent = input(title="Profit Target Percentage", type=input.integer, defval=3, minval=1, maxval=10)

// Determine if the conditions are met and execute the strategy
checkConditionAndBuy(emaValue, emaName) =>
    var int local_buy_count = 0 // Create a local mutable variable
    if isWithin1Percent(close, emaValue) and local_buy_count < buy_limit
        strategy.entry("Buy at " + emaName, strategy.long, qty=investment_per_condition / close, alert_message ="Buy condition met for " + emaName)
        local_buy_count := local_buy_count + 1
        // alert("Buy Condition", "Buy condition met for ", freq_once_per_bar_close)
        
    local_buy_count // Return the updated local_buy_count

// Add ATR sell condition
atr_condition = atr(20) > atr_sell_threshold
if atr_condition
    strategy.close_all()
    buy_count := 0 // Reset the global buy_count when selling

// Strategy execution
buy_count := checkConditionAndBuy(ema5, "EMA5")
buy_count := checkConditionAndBuy(ema10, "EMA10")
buy_count := checkConditionAndBuy(ema20, "EMA20")
buy_count := checkConditionAndBuy(ema50, "EMA50")
buy_count := checkConditionAndBuy(ema100, "EMA100")
buy_count := checkConditionAndBuy(ema200, "EMA200")

// Calculate trailing stop level
trail_offset = close * trail_percent / 100
trail_level = close - trail_offset

// Set profit target level
profit_target_level = close * (1 + profit_target_percent / 100)

// Exit strategy: Trailing Stop and Profit Target
strategy.exit("TrailingStop", from_entry="Buy at EMA", trail_offset=trail_offset, trail_price=trail_level)
strategy.exit("ProfitTarget", from_entry="Buy at EMA",  when=close >= profit_target_level)

// Plot EMAs
plot(ema5, title="EMA 5", color=color.red)
plot(ema10, title="EMA 10", color=color.orange)
plot(ema20, title="EMA 20", color=color.yellow)
plot(ema50, title="EMA 50", color=color.green)
plot(ema100, title="EMA 100", color=color.blue)
plot(ema200, title="EMA 200", color=color.purple)


مزید