اس حکمت عملی کا بنیادی خیال یہ ہے کہ الٹ پلٹ کے ذریعہ پوزیشنیں لیں جو ویٹڈ موونگ ایوریج کے ارد گرد اہم سپورٹ / مزاحمت کی سطحوں کا تجربہ کریں۔ جب قیمتیں اوپر / نیچے بڑھتی ہیں اور پھر حرکت پذیر اوسط کو جانچنے کے لئے واپس آجاتی ہیں تو ، اس سے سپورٹ / مزاحمت کی سطحیں پیدا ہونے اور الٹ پلٹ کے مواقع پیدا ہونے کا امکان ہوتا ہے۔
یہ حکمت عملی وزن شدہ چلتی اوسط اشارے پر مبنی ہے۔ یہ پہلے ایک خاص لمبائی کے ڈبلیو ایم اے کا حساب لگاتا ہے ، پھر اس کی نگرانی کرتا ہے کہ آیا قیمت ڈبلیو ایم اے سے کسی حد تک باہر نکل جاتی ہے۔ جب بریک آؤٹ فاصلہ ایک حد تک پہنچ جاتا ہے تو ، یہ ایک تیر کا نقشہ بناتا ہے اور پوزیشنیں کھولتا ہے۔ طویل عرصے تک جانے کے لئے ، قیمت کو پہلے کسی حد تک توڑنے کی ضرورت ہے۔ مختصر ہونے کے لئے ، قیمت کو پہلے کسی حد تک توڑنے کی ضرورت ہے۔ بریک آؤٹ کے ذریعہ الٹ سگنل تشکیل دینے اور ڈبلیو ایم اے کے سپورٹ / مزاحمت کی سطحوں کے ساتھ مل کر ، یہ مارکیٹ میں داخلے کے وقت کو بہتر بنانے میں مدد کرتا ہے۔
یہ حکمت عملی ٹریل پیرامیٹر کے ذریعہ ٹریل اسٹاپ نقصان اور فکسڈ اسٹاپ نقصان کے درمیان اختیارات فراہم کرتی ہے ، لہذا اسٹاپ نقصان کی حد کو ایڈجسٹ کرکے خطرات کو کنٹرول کیا جاسکتا ہے۔ یہ حد کے احکامات کے ساتھ جزوی منافع میں بھی تالے لگا دیتا ہے۔ مزید برآں ، ٹائم فلٹر پوزیشنوں کو کھولنے کے لئے مخصوص وقت کی مدت کو محدود کرسکتے ہیں۔
سب سے بڑا فائدہ پوزیشن کھولنے کے لئے مارکیٹ کے اہم موڑ کے مقامات پر قبضہ کرنے کے لئے ریورس سیٹ اپ کو چلنے والے اوسط کے ساتھ جوڑنے میں ہے۔ ریورس حکمت عملیوں میں اکثر جیت کی شرح اور رسک انعام کا تناسب اچھا ہوتا ہے ، خطرات کو کنٹرول کرنا آسان ہوتا ہے۔ یہ حکمت عملی جامع اسٹاپ نقصان کے طریقہ کار اور جزوی منافع لینے کے طریقوں سے بھی لیس ہوتی ہے ، جو خطرات کو کم کرنے اور استحکام کو بہتر بنانے میں مزید مدد دیتی ہے۔
چونکہ یہ حرکت پذیر اوسط پر مبنی ہے ، لہذا مختلف مارکیٹوں میں موافقت کی جانچ کرنے کے لئے ڈبلیو ایم اے لمبائی ، بریک آؤٹ رینج وغیرہ جیسے اقدار کو ایڈجسٹ کرکے پیرامیٹر کی اصلاح کے لئے کافی گنجائش دستیاب ہے۔
سب سے بڑا خطرہ ناکامی کی واپسی ہے۔ اگر قیمت واپسی کے اشاروں کی تشکیل کے بعد اسٹاپ نقصان کو متحرک کرنے یا منافع حاصل کرنے میں ناکام ہوجاتی ہے ، اور اصل سمت میں چلتی رہتی ہے تو ، اس میں کافی حد تک تیرتے ہوئے نقصانات ہوں گے۔
اس کے علاوہ ، یہ پیرامیٹر کی اصلاح پر بھاری انحصار کرتا ہے۔ پیرامیٹر کی نامناسب ترتیبات آسانی سے قیمت کی الٹ ٹائمنگ کو یاد کرسکتی ہیں یا غلط سگنل پیدا کرسکتی ہیں۔ مارکیٹ کے رویے کی مناسب تفہیم اور پیرامیٹر کے انتخاب کا محتاط جائزہ کافی بیک ٹیسٹ کے ذریعے ضروری ہے۔
سگنل کے معیار اور درستگی کو بہتر بنانے کے لئے مزید اشارے متعارف کرائے جاسکتے ہیں۔ مثال کے طور پر ، قیمتوں میں الٹ جانے سے پہلے ، قیمتوں میں اتار چڑھاؤ کے نمونوں کی نشاندہی کرنے کے لئے کچھ حالیہ ادوار میں اضافی اقدار کی جانچ پڑتال کی جاسکتی ہے ، خاص طور پر قلیل مدتی اضافے کے اعداد و شمار۔ یا کثیر عنصر ماڈلنگ کے لئے قیمتوں کی رفتار ، اتار چڑھاؤ وغیرہ کا پتہ لگانے کے لئے کچھ مقداری عوامل شامل کیے جاسکتے ہیں۔
مشین لرننگ کے طریقوں کا تجربہ تاریخی تجارتی سگنل اور قیمتوں کے اعداد و شمار کی بنیاد پر قریبی مدتی قیمت کی نقل و حرکت کی پیش گوئی کرنے کے لئے بھی کیا جاسکتا ہے ، جس سے غلط سگنل کو فلٹر کرنے اور سگنل کے معیار کو بہتر بنانے میں مدد ملتی ہے۔
اس کے علاوہ ، کچھ موافقت پذیر اصلاحاتی میکانزم کو نافذ کیا جاسکتا ہے۔ اصل تجارتی نتائج کے مطابق ، پیرامیٹرز یا قاعدہ وزن کو خود کو بہتر بنانے اور حکمت عملی کے ENO کو محسوس کرنے کے لئے متحرک طور پر ایڈجسٹ کیا جاسکتا ہے۔
اس حکمت عملی کا مجموعی آپریشن مستحکم ہے۔ معقول پیرامیٹر کی جگہ اور مارکیٹ کے ماحول کے اندر ، یہ کافی منافع حاصل کرسکتا ہے۔ سب سے بڑا فائدہ قابو پانے والے خطرات اور اصلاح کی صلاحیت میں ہے۔ اگلے مرحلے کی کوششیں سگنل کے معیار کو بہتر بنانے اور موافقت پذیر اصلاح کی صلاحیتوں کو شامل کرنے پر مرکوز ہوں گی۔ یہ خیال کیا جاتا ہے کہ مستقل بہتری پر ، یہ حکمت عملی سرمایہ کاری کے پورٹ فولیو میں ایک زبردست انتخاب بن سکتی ہے۔
/*backtest start: 2023-11-20 00:00:00 end: 2023-11-22 08:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="WMA Breakout",overlay=true, initial_capital=25000, default_qty_value=1, commission_type=strategy.commission.cash_per_contract, commission_value=3.02) len = input(20, minval=1, title="Length") src = input(close, title="Source") out = wma(src, len) price_drop = input(.003, "When price drops (In Ticks) Enter Long", step=.001) price_climb = input(.003, "When price climbs (In Ticks) Enter Short", step=.001) trail = input(true, "Trailing Stop(checked), Market stop(unchecked)") stop = input(10, "Stop (in ticks)", step=1) limit = input(5, "Limit Out", step=1) //size = input(1, "Limit Position Size (pyramiding)", minval=1) timec = input(true, "Limit Time of Day (Buying Side)") //Time Session sess = input("1600-0500", "Start/Stop trades (Est time)") t = time(timeframe.period, sess) //plots plot(wma(src,len)) z = if low+price_drop<out (out-low) plotarrow(z, colorup=red) a = if high-price_climb>out (high-out) plotarrow(a, colorup=lime) av=wma(src,len) //Orders if(timec) strategy.entry("Enterlong", long=true, when=z and t>1) else strategy.entry("Enterlong", long=true, when=z) if(trail) strategy.exit("Exit","Enterlong", profit=limit, trail_points = 0, trail_offset = stop ) else strategy.exit("Exit","Enterlong", profit=limit, loss = stop ) if(timec) strategy.entry("Entershort", long=false, when=a and t>1) else strategy.entry("Entershort", long=false, when=a) if(trail) strategy.exit("Exit","Entershort", profit=limit, trail_points = 0, trail_offset = stop ) else strategy.exit("Exit","Entershort", profit=limit, loss = stop )