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

فبونیکی توسیع رجحان کے ساتھ ملٹی ای ایم اے کراس اوور اسٹریٹیجی کے بعد

مصنف:چاؤ ژانگ، تاریخ: 2024-07-29 16:42:56
ٹیگز:ای ایم اے

img

جائزہ

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

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

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

  1. پہلی اندراج کی شرط اس وقت شروع ہوتی ہے جب قیمت 30 پیریڈ ای ایم اے سے نیچے پہنچ جاتی ہے یا گر جاتی ہے لیکن بعد میں اس سے اوپر بند ہوجاتی ہے ، جبکہ 10 پیریڈ ای ایم اے 5 پیریڈ ای ایم اے سے اوپر ہے ، اور 30 پیریڈ ای ایم اے 5 پیریڈ ای ایم اے سے 1 فیصد کم ہے۔

  2. دوسرا اندراج کی شرط اس وقت شروع ہوتی ہے جب 5 پیریڈ ای ایم اے 30 پیریڈ ای ایم اے سے اوپر کی حد کو عبور کرتا ہے اور 30 پیریڈ ای ایم اے نے آخری 6 باروں کے اندر 5 پیریڈ ای ایم اے سے نیچے کی حد کو عبور کیا ہے۔

  3. تیسری اندراج کی شرط اس وقت شروع ہوتی ہے جب پچھلے دو باروں کی اونچائی ان کے متعلقہ 5 پیریڈ ای ایم اے سے نیچے ہوتی ہے ، 5 پیریڈ ای ایم اے 10 پیریڈ ای ایم اے سے نیچے ہوتا ہے ، جو 30 پیریڈ ای ایم اے سے نیچے ہوتا ہے ، اور پچھلے بار کی اونچائی موجودہ بند سے نیچے ہوتی ہے۔

  4. چوتھی اندراج کی شرط اس وقت نافذ ہوتی ہے جب 10 پیریڈ ای ایم اے 30 پیریڈ ای ایم اے سے اوپر گزر جاتا ہے، 5 پیریڈ ای ایم اے نے آخری 4 باروں کے اندر 30 پیریڈ ای ایم اے سے اوپر عبور کیا ہے، اور 10 پیریڈ اور 5 پیریڈ ای ایم اے دونوں کی موجودہ اقدار ان کی سابقہ اقدار سے زیادہ ہیں۔

سٹاپ نقصان کے لئے، حکمت عملی مختلف داخلہ کے حالات کے لئے مخصوص قوانین مقرر کرتی ہے:

  • پہلی شرط کے لئے، پوزیشن بند ہو جاتی ہے اگر 30 پیریڈ ای ایم اے 10 پیریڈ ای ایم اے سے اوپر گزر جاتا ہے۔
  • دوسری شرائط کے لئے، پوزیشن بند ہو جاتی ہے اگر بند ہونے کی قیمت پچھلے تین باروں میں سے سب سے کم کم سے نیچے آجائے۔

منافع کے اہداف فبونیکی توسیع کی سطحوں کی بنیاد پر طے کیے جاتے ہیں ، جن میں 0.618 ، 0.786 ، 1.0 ، اور 1.618 کی سطح شامل ہیں۔ حکمت عملی مخصوص قواعد کے مطابق ، جب ان سطحوں تک پہنچ جاتی ہے تو پوزیشنیں بند کردیتی ہے۔

مزید برآں، اس حکمت عملی میں منافع کو مقفل کرنے کی شرط بھی شامل ہے۔ اگر آخری دو باروں کی کمیاں 5 مدت کے ای ایم اے سے اوپر ہیں اور ای ایم اے بڑھتے ہوئے ترتیب میں سیدھے ہیں (5 > 10 > 30) ، تو منافع کو مقفل کرنے کے لئے پوزیشن بند کردی جاتی ہے۔

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

  1. متعدد تصدیق: متعدد ای ایم اے اور انٹری شرائط کا استعمال کرکے ، حکمت عملی رجحانات کے آغاز اور تسلسل کی زیادہ درست شناخت کرسکتی ہے۔ یہ متعدد تصدیق کا طریقہ غلط سگنل کو کم کرسکتا ہے اور تجارت کی درستگی کو بہتر بنا سکتا ہے۔

  2. اعلی موافقت: چار مختلف داخلے کے حالات حکمت عملی کو مختلف مارکیٹ کے ماحول میں اپنانے کی اجازت دیتے ہیں ، تجارتی مواقع کو تیزی سے توڑنے یا سست رجحانات کی تشکیل میں قبضہ کرتے ہیں۔

  3. رسک مینجمنٹ: اسٹریٹجی میں مخصوص اسٹاپ نقصان کے قوانین شامل ہیں ، جو ہر تجارت کے لئے خطرے کو کنٹرول کرنے میں مدد کرتے ہیں۔ مختلف داخلے کی شرائط مختلف اسٹاپ نقصان کی حکمت عملیوں کے مطابق ہوتی ہیں ، جو اسٹریٹجی پر خطرہ کے انتظام پر زور دیتی ہے۔

  4. واضح منافع کے اہداف: منافع کے اہداف کے طور پر فبونیکی توسیع کی سطحوں کا استعمال کرنے سے تاجروں کو واضح خارجی نکات ملتے ہیں۔ اس سے جلد منافع لینے یا بہت طویل عرصے تک پوزیشنوں کو برقرار رکھنے سے بچنے میں مدد ملتی ہے۔

  5. منافع کی حفاظت: منافع کی تالے کی شرط جب رجحان الٹ سکتا ہے تو حاصل کردہ منافع کی حفاظت میں مدد ملتی ہے ، ایک اہم پہلو جو اکثر رجحان کی پیروی کرنے والی بہت سی حکمت عملیوں سے نظرانداز ہوتا ہے۔

  6. تکنیکی اشارے کا امتزاج: حکمت عملی میں EMAs اور فبونیکی ٹولز کا امتزاج کیا گیا ہے ، ان دونوں مشہور تکنیکی تجزیہ ٹولز کی طاقتوں کا فائدہ اٹھایا گیا ہے۔

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

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

  2. پیرامیٹر حساسیت: حکمت عملی میں متعدد فکسڈ ای ایم اے ادوار اور فیصد کی حدیں استعمال کی جاتی ہیں۔ ان پیرامیٹرز کو مختلف مارکیٹوں اور ٹائم فریموں کے لئے ایڈجسٹ کرنے کی ضرورت پڑسکتی ہے ، ورنہ ، اس سے حکمت عملی کی خراب کارکردگی کا باعث بن سکتی ہے۔

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

  4. تاخیر: ای ایم اے فطری طور پر تاخیر والے اشارے ہیں۔ تیزی سے بدلتی منڈیوں میں ، حکمت عملی بروقت انداز میں رجحان کے موڑ کو پکڑنے کے قابل نہیں ہوسکتی ہے۔

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

حکمت عملی کی اصلاح کی ہدایات

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

  2. حجم کے اشارے شامل کریں: حجم تجزیہ کو یکجا کرنے سے داخلے اور باہر نکلنے کے فیصلوں کی درستگی میں بہتری آسکتی ہے۔ مثال کے طور پر ، رجحان کی طاقت کی تصدیق کے ل entry داخلے پر زیادہ حجم کی ضرورت ہوتی ہے۔

  3. مارکیٹ ماحول فلٹرنگ: مارکیٹ ماحول کی نشاندہی کا ایک طریقہ کار متعارف کرایا جائے، جیسے اے ٹی آر (اوسط حقیقی رینج) یا اتار چڑھاؤ کے اشارے کا استعمال کرتے ہوئے، رجحان کی پیروی کے لئے موزوں ماحول میں تجارت کو روکنے کے لئے.

  4. اسٹاپ نقصان میکانزم کو بہتر بنائیں: مقررہ اسٹاپ کے بجائے ٹریلنگ اسٹاپ کا استعمال کرنے پر غور کریں۔ اس سے منافع کی حفاظت ہوسکتی ہے جبکہ ان کو بڑھتے رہنے کی اجازت ملتی ہے۔

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

  6. مشین لرننگ متعارف کروانا: پیرامیٹر کے انتخاب اور اندراج کے فیصلوں کو بہتر بنانے کے لئے مشین لرننگ الگورتھم کا استعمال کریں ، جو حکمت عملی کی موافقت اور کارکردگی کو بہتر بنا سکتا ہے۔

  7. ملٹی ٹائم فریم تجزیہ: انٹری کے فیصلے کی درستگی کو بہتر بنانے اور مرکزی رجحان کے خلاف داخل ہونے سے بچنے کے لئے طویل ٹائم فریم سے رجحان تجزیہ شامل کریں۔

نتیجہ

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

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

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


/*backtest
start: 2024-06-01 00:00:00
end: 2024-06-30 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Combined Strategy with Specific Stop Loss", overlay=true)

// Define the EMAs
ema30 = ta.ema(close, 30)
ema10 = ta.ema(close, 10)
ema5 = ta.ema(close, 5)

// Define the conditions for opening an order
open_condition1 = low <= ema30 and close > ema30  and ema10 > ema5 and ema30 * 1.01 < ema5
open_condition2 = ta.crossover(ema5, ema30) and (ta.crossover(ema30[1], ema5[1]) or ta.crossover(ema30[2], ema5[2]) or ta.crossover(ema30[3], ema5[3]) or ta.crossover(ema30[4], ema5[4])  or ta.crossover(ema30[5], ema5[5]) or ta.crossover(ema30[6], ema5[6]) )
open_condition3 = high[2] < ema5[2] and high[1] < ema5[1] and ema5 < ema10 and ema10 < ema30 and high[1] < close 
open_condition4 = ta.crossover(ema10, ema30) and (ta.crossover(ema5[0], ema30[0]) or ta.crossover(ema5[1], ema30[1]) or ta.crossover(ema10[2], ema30[2]) or ta.crossover(ema10[3], ema30[3])) and ema10[1] < ema10 and ema5[1] <ema5

// Calculate the lowest low of the previous two bars
lowest_low_prev_two_bars = ta.lowest(low, 3)

// Track the entry price and the lowest low of the previous two bars for open_condition3
var float entry_price = na
var float low_entry_price = na
var float entry_lowest_low1 = na
var float entry_lowest_low2 = na
var float entry_lowest_low3 = na
var float entry_lowest_low4 = na

var bool order1 = false
var bool order2 = false
var bool order3 = false
var bool order4 = false
// Fibonacci extension levels based on the last significant swing
var float fib_extension_level_0_618 = na
var float fib_extension_level_0_786 = na
var float fib_extension_level_1 = na
var float fib_extension_level_1_618 = na

    // Calculate Fibonacci extension levels
var float swing_low = na
var float swing_high = na
// Here we assume the latest swing low and swing high, adjust based on your logic
swing_low := ta.lowest(low, 20)
swing_high := ta.highest(high, 20)

// Open a long order when any of the conditions are met
if open_condition1 and not order2 and not order1 and not order3 and not order4
    strategy.entry("Long", strategy.long, comment="<ema30")
    entry_lowest_low1 := lowest_low_prev_two_bars
    low_entry_price := low
    fib_extension_level_0_618 := low_entry_price + (swing_high - swing_low) * 0.618
    fib_extension_level_0_786:= low_entry_price + (swing_high - swing_low) * 0.786
    fib_extension_level_1:= low_entry_price + (swing_high - swing_low) * 1
    fib_extension_level_1:= low_entry_price + (swing_high - swing_low) * 1.618
    entry_price := close
    order1 := true
if open_condition2 and not order2 and not order1 and not order3 and not order4
    strategy.entry("Long", strategy.long, comment="ema5xema30")
    entry_lowest_low2 := lowest_low_prev_two_bars
    low_entry_price := low
    fib_extension_level_0_618 := low_entry_price + (swing_high - swing_low) * 0.618
    fib_extension_level_0_786:= low_entry_price + (swing_high - swing_low) * 0.786
    fib_extension_level_1:= low_entry_price + (swing_high - swing_low) * 1
    fib_extension_level_1:= low_entry_price + (swing_high - swing_low) * 1.618
    entry_price := close
    order2 := true

if open_condition3 and not order2 and not order1 and not order3 and not order4
    strategy.entry("Long", strategy.long, comment="high<ema5")
    entry_price := close
    low_entry_price := low
    entry_lowest_low3 := lowest_low_prev_two_bars
    fib_extension_level_0_618 := low_entry_price + (swing_high - swing_low) * 0.618
    fib_extension_level_0_786:= low_entry_price + (swing_high - swing_low) * 0.786
    fib_extension_level_1:= low_entry_price + (swing_high - swing_low) * 1
    fib_extension_level_1:= low_entry_price + (swing_high - swing_low) * 1.618
    order3 := true

if open_condition4 and not order2 and not order1 and not order3 and not order4
    strategy.entry("Long", strategy.long, comment="high<ema5444")
    entry_price := close
    low_entry_price := low
    entry_lowest_low4 := lowest_low_prev_two_bars
    fib_extension_level_0_618 := low_entry_price + (swing_high - swing_low) * 0.618
    fib_extension_level_0_786:= low_entry_price + (swing_high - swing_low) * 0.786
    fib_extension_level_1:= low_entry_price + (swing_high - swing_low) * 1
    fib_extension_level_1:= low_entry_price + (swing_high - swing_low) * 1.618
    order4 := true




// Set a stop loss only if the order was opened with the specified conditions
if (not na(entry_price))
    if order1
        if ta.crossover(ema30,ema10)
            strategy.close("Long", comment="stop loss1" )
            entry_price := na
            order1 := false
            low_entry_price := na


    if order2
        if close < entry_lowest_low2
            strategy.close("Long", comment="stop loss2" )
            entry_price := na
            order2 := false
            low_entry_price := na

    if order3
        if close < entry_lowest_low3
            strategy.close("Long", comment="stop loss3" )
            entry_price := na
            order3 := false
            low_entry_price := na

    if order4
        if close < entry_lowest_low4
            strategy.close("Long", comment="stop loss4" )
            entry_price := na
            order4 := false
            low_entry_price := na


    if   low[1] > ema5[1] and low > ema5  and ema5 > ema10 and ema10 > ema30 
        strategy.close("Long", comment="profit low > ema5")
        entry_price := na
        order1 := false
        order2 := false
        order3 := false
        order4 := false
        low_entry_price := na

    // Take profit at Fibonacci extension levels
    if high >= fib_extension_level_0_618 and close <= fib_extension_level_0_618
        strategy.close("Long", comment="at 0.618 Fib")
        entry_price := na
        order1 := false
        order2 := false
        order3 := false
        order4 := false
        low_entry_price := na

    if  high >= fib_extension_level_0_786 and close < fib_extension_level_0_786
        strategy.close("Long", comment="at 0.786 Fib")
        entry_price := na
        order1 := false
        order2 := false
        order3 := false
        order4 := false
        low_entry_price := na

    if  high >= fib_extension_level_1 and close < fib_extension_level_1
        strategy.close("Long", comment="at 1 Fib")
        entry_price := na
        order1 := false
        order2 := false
        order3 := false
        order4 := false
        low_entry_price := na
    if  high >= fib_extension_level_1_618
        strategy.close("Long", comment="at 1 Fib")
        entry_price := na
        order1 := false
        order2 := false
        order3 := false
        order4 := false
        low_entry_price := na


// Plot the EMAs for visual reference
plot(ema30, color=color.blue, title="EMA 30")
plot(ema10, color=color.orange, title="EMA 10")
plot(ema5, color=color.red, title="EMA 5")

متعلقہ

مزید