
یہ حکمت عملی ایک ٹرینڈ ٹریکنگ سسٹم ہے جس میں ایک سے زیادہ اشاریہ منتقل اوسط (ای ایم اے) کراسنگ اور فبونیکی توسیع کی سطح کو شامل کیا گیا ہے۔ یہ ممکنہ رجحانات کے آغاز اور اختتام کی شناخت کے لئے مختلف ادوار میں ای ایم اے کے مابین تعامل کا استعمال کرتا ہے ، جبکہ منافع کے اہداف کا تعین کرنے کے لئے فبونیکی توسیع کی سطح کا استعمال کرتا ہے۔ اس حکمت عملی میں خطرے کے انتظام اور منافع کی حفاظت کے لئے مخصوص اسٹاپ نقصان کے قواعد بھی شامل ہیں۔
اس حکمت عملی کا بنیادی مقصد رجحانات کے آغاز اور اختتام کو پکڑنے کے لئے ایک سے زیادہ ٹائم فریموں کے EMAs کا استعمال کرنا ہے۔ خاص طور پر ، اس نے 5 ، 10 ، اور 30 ادوار کے EMAs استعمال کیے ہیں۔ حکمت عملی میں چار مختلف داخلے کی شرائط شامل ہیں ، جن میں سے ہر ایک کا مقصد مارکیٹ کے مختلف منظرناموں کو پکڑنا ہے:
جب قیمت 30 سیکنڈ ای ایم اے سے نیچے یا اس سے نیچے پہنچ جاتی ہے ، لیکن اس کے بعد اس کے اوپر بند ہوجاتی ہے ، اور 10 سیکنڈ ای ایم اے 5 سیکنڈ ای ایم اے سے زیادہ ہے ، اور 30 سیکنڈ ای ایم اے 5 سیکنڈ ای ایم اے سے 1٪ کم ہے تو ، پہلی انٹری کی شرط کو متحرک کریں۔
دوسرا داخلہ کی شرط اس وقت شروع ہوتی ہے جب 5 سائیکل ای ایم اے پر 30 سائیکل ای ایم اے پہنچی ہو اور آخری 6 K لائنوں میں 30 سائیکل ای ایم اے 5 سائیکل ای ایم اے پہنچی ہو۔
تیسری انٹری کی شرط اس وقت شروع ہوتی ہے جب موجودہ دو K لائنوں کی اعلی قیمتیں ان کے متعلقہ 5 سائیکل ای ایم اے سے کم ہوں ، اور 5 سائیکل ای ایم اے 10 سائیکل ای ایم اے سے کم ہو ، اور 10 سائیکل ای ایم اے 30 سائیکل ای ایم اے سے کم ہو ، اور پچھلی K لائن کی اعلی قیمت موجودہ اختتامی قیمت سے کم ہو۔
چوتھی داخلے کی شرط اس وقت شروع ہوتی ہے جب 10 سائیکل ای ایم اے پر 30 سائیکل ای ایم اے پہنچی ہو اور پچھلے 4 K لائنوں میں 5 سائیکل ای ایم اے 30 سائیکل ای ایم اے پہنچی ہو اور 10 سائیکل ای ایم اے اور 5 سائیکل ای ایم اے کی موجودہ قیمتیں ان کی پچھلی قیمت سے زیادہ ہوں۔
اسٹاپ نقصان کے لئے ، حکمت عملی نے مختلف داخلے کے حالات کے لئے مخصوص اصول طے کیے ہیں:
منافع کا ہدف فبونیکی توسیع کی سطح پر مبنی ہے ، جس میں 0.618 ، 0.786 ، 1.0 اور 1.618 کی سطح شامل ہیں۔ جب قیمت ان سطحوں تک پہنچ جاتی ہے تو ، حکمت عملی مخصوص قواعد کے مطابق صفائی کرتی ہے۔
اس کے علاوہ ، حکمت عملی میں منافع کو لاک کرنے کی شرط بھی شامل ہے: اگر K لائنوں کی دونوں حالیہ کم ترین قیمتیں 5 سیکنڈ ای ایم اے سے زیادہ ہیں ، اور ای ایم اے نے بڑھتی ہوئی ترتیب ((5 > 10 > 30) پیش کی ہے تو ، منافع کو لاک کرنے کے لئے پوزیشن کو صاف کریں۔
ایک سے زیادہ تصدیق: ایک سے زیادہ ای ایم اے اور ایک سے زیادہ اندراج کی شرائط کا استعمال کرتے ہوئے ، حکمت عملی رجحانات کے آغاز اور تسلسل کو زیادہ درست طریقے سے پہچان سکتی ہے۔ اس طرح کی ایک سے زیادہ تصدیق کا طریقہ کار جعلی سگنل کو کم کرنے اور تجارت کی درستگی کو بہتر بنانے میں مدد کرتا ہے۔
لچکدار: چار مختلف داخلے کی شرائط حکمت عملی کو مختلف مارکیٹ کے حالات کے مطابق ڈھالنے کی اجازت دیتی ہیں ، جو تجارتی مواقع کو پکڑنے کے ل either تیز رفتار توڑ یا آہستہ آہستہ رجحان سازی کے ل.
رسک مینجمنٹ: حکمت عملی میں اسٹاپ نقصان کے مخصوص قواعد شامل ہیں ، جو ہر تجارت کے خطرے کو کنٹرول کرنے میں مدد کرتے ہیں۔ مختلف داخلے کی شرائط مختلف اسٹاپ نقصان کی حکمت عملی کے مطابق ہیں ، جو اس بات کی نشاندہی کرتی ہے کہ حکمت عملی خطرے کے انتظام پر توجہ دیتی ہے۔
منافع کا ہدف واضح ہے: منافع کے ہدف کے طور پر فبونیکی توسیع کی سطح کا استعمال کرتے ہوئے ، تاجروں کو ایک واضح باہر نکلنے کی جگہ فراہم کی جاتی ہے۔ اس سے جلد منافع ختم ہونے یا زیادہ دیر تک رکھنے سے بچنے میں مدد ملتی ہے۔
منافع کی حفاظت: منافع کو لاک کرنے کی شرائط اس بات کو یقینی بناتی ہیں کہ جب رجحان کا رخ موڑنے کا امکان ہو تو اس سے حاصل ہونے والے منافع کی حفاظت کی جاسکے ، یہ ایک اہم پہلو ہے جسے بہت سے رجحانات کی پیروی کرنے والی حکمت عملیوں نے نظرانداز کیا ہے۔
تکنیکی اشارے کا امتزاج: حکمت عملی EMA اور Fibonacci کے اوزار کا امتزاج کرتی ہے ، جو تکنیکی تجزیہ کے دونوں مقبول ٹولز کی طاقت کا استعمال کرتی ہے۔
زیادہ تجارت: متعدد شرائط کے داخلے سے زیادہ تجارت ہوسکتی ہے ، خاص طور پر زیادہ اتار چڑھاؤ والی منڈیوں میں۔ اس سے تجارت کی لاگت میں اضافہ ہوسکتا ہے اور اس سے زیادہ جعلی سگنل پیدا ہوسکتے ہیں۔
پیرامیٹرز کی حساسیت: حکمت عملی میں متعدد مقررہ ای ایم اے کی مدت اور فیصد کی کمی کا استعمال کیا جاتا ہے۔ ان پیرامیٹرز کو مختلف مارکیٹوں اور ٹائم فریموں کے مطابق ایڈجسٹ کرنے کی ضرورت ہوسکتی ہے ، ورنہ اس حکمت عملی کی ناقص کارکردگی کا سبب بن سکتی ہے۔
رجحان پر انحصار: ایک رجحان کی پیروی کرنے کی حکمت عملی کے طور پر ، یہ کراس اسٹاک یا ہلچل والے بازاروں میں خراب کارکردگی کا مظاہرہ کرسکتا ہے۔ ان مارکیٹوں کے ماحول میں ، متعدد غلط سگنل اور معمولی نقصانات پیدا ہوسکتے ہیں۔
پسماندہ: EMA بنیادی طور پر ایک پسماندہ اشارے ہے۔ تیزی سے بدلتے ہوئے بازاروں میں ، حکمت عملیوں کو رجحان کے موڑ کو وقت پر پکڑنے میں ناکامی ہوسکتی ہے۔
پیچیدگی: حکمت عملی کے متعدد شرائط اور قواعد اس کی پیچیدگی میں اضافہ کرتے ہیں ، جس سے حکمت عملی کو سمجھنے اور برقرار رکھنے میں دشواری کا سامنا کرنا پڑتا ہے ، اور اس سے زیادہ فٹ ہونے کا خطرہ بڑھ جاتا ہے۔
متحرک پیرامیٹرز کی ایڈجسٹمنٹ: مارکیٹ میں اتار چڑھاؤ کی متحرک تبدیلیوں کے مطابق ای ایم اے کے دورانیے اور دیگر پیرامیٹرز کو ایڈجسٹ کرنے کے لئے ایک خود کار طریقے سے میکانیزم متعارف کرانے پر غور کیا جاسکتا ہے۔ اس سے مختلف مارکیٹ کے حالات میں حکمت عملی کی موافقت کو بہتر بنایا جاسکتا ہے۔
ٹرانزیکشن اشارے شامل کریں: ٹرانزیکشن تجزیہ کو یکجا کرنے سے داخلے اور باہر نکلنے کے فیصلوں کی درستگی میں اضافہ ہوسکتا ہے۔ مثال کے طور پر ، رجحان کی طاقت کی تصدیق کے لئے داخلے کے وقت ٹرانزیکشن میں اضافے کی درخواست کی جاسکتی ہے۔
مارکیٹ کے ماحول کو فلٹر کریں: مارکیٹ کے ماحول کی شناخت کے لئے میکانزم متعارف کروائیں ، جیسے اے ٹی آر ((اوسط حقیقی طول و عرض) یا اتار چڑھاؤ کی شرح کے اشارے کا استعمال کریں ، مارکیٹ کے ماحول میں تجارت کو روکیں جو رجحانات کی پیروی کے لئے موزوں نہیں ہے۔
آپٹمائزڈ سٹاپ نقصان کا طریقہ کار: آپ ٹریک اسٹاپ استعمال کرنے پر غور کرسکتے ہیں ، نہ کہ فکسڈ اسٹاپ نقصان۔ یہ منافع کی حفاظت کے ساتھ ساتھ منافع میں اضافے کی اجازت دیتا ہے۔
ٹائم فلٹر شامل کریں: کسی خاص وقت کی حد تک تجارت کو محدود کریں ، زیادہ اتار چڑھاؤ یا کم لیکویڈیٹی والے وقت سے گریز کریں ، حکمت عملی کی استحکام کو بہتر بنائیں۔
مشین لرننگ متعارف کروانا: پیرامیٹرز کے انتخاب اور داخلے کے فیصلوں کو بہتر بنانے کے لئے مشین لرننگ الگورتھم کا استعمال کریں ، جس سے حکمت عملی کی موافقت اور کارکردگی میں اضافہ ہوسکتا ہے۔
کثیر ٹائم فریم تجزیہ: طویل ٹائم فریم کے رجحانات کے تجزیہ کے ساتھ مل کر ، داخلے کے فیصلوں کی درستگی کو بہتر بنایا جاسکتا ہے ، تاکہ اہم رجحانات کے الٹ ہونے کی صورت میں داخلے سے بچا جاسکے۔
یہ ملٹی ای ایم اے کراسنگ ٹرینڈ ٹریکنگ اسٹریٹجی جس میں فبونیکی توسیع شامل ہے ایک جامع ٹریڈنگ سسٹم کی نمائش کرتی ہے جس میں متعدد تکنیکی اشارے اور ٹریڈنگ کا نظریہ شامل ہے۔ متعدد ای ایم اے اور انٹری شرائط کے استعمال کے ذریعہ ، حکمت عملی رجحانات کو پکڑنے اور جعلی سگنل کو کم کرنے کے مابین توازن قائم کرنے کی کوشش کرتی ہے۔ فبونیکی توسیع کی سطح کا استعمال منافع کے اہداف کے ل objective ایک مقصد کی بنیاد فراہم کرتا ہے ، جبکہ اسٹاپ نقصان اور منافع کو لاک کرنے کے مخصوص قواعد خطرے کے انتظام پر توجہ مرکوز کرتے ہیں۔
اگرچہ حکمت عملی میں متعدد تصدیق اور لچکدار ہونے کے فوائد ہیں ، لیکن اس کی پیچیدگی اور پیرامیٹرز کے انتخاب کی حساسیت بھی ایک چیلنج ہے۔ حکمت عملی کی استحکام اور کارکردگی کو مزید بہتر بنانے کے لئے ، متحرک پیرامیٹرز ایڈجسٹمنٹ ، مارکیٹ کے حالات کی فلٹرنگ اور کثیر ٹائم فریم تجزیہ جیسے اصلاحی سمتوں کو متعارف کرانے پر غور کیا جاسکتا ہے۔
مجموعی طور پر ، یہ حکمت عملی رجحانات کی پیروی کے لئے ایک دلچسپ فریم ورک فراہم کرتی ہے ، لیکن تاجروں کو عملی طور پر لاگو ہونے پر کافی پیمائش اور پیرامیٹرز کی اصلاح کی ضرورت ہوتی ہے ، اور مخصوص مارکیٹوں اور تجارتی طرز کے مطابق مناسب ایڈجسٹمنٹ کی ضرورت ہوتی ہے۔ مسلسل نگرانی اور اصلاح کے ساتھ ، اس حکمت عملی میں ایک مؤثر رجحانات کی پیروی کرنے والا آلہ بننے کی صلاحیت ہے۔
/*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")