سپر ٹرینڈ ڈبل چلتی اوسط حکمت عملی سپر ٹرینڈ اشارے اور سادہ چلتی اوسط پر مبنی ایک مقداری تجارتی حکمت عملی ہے۔ یہ حکمت عملی مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے سپر ٹرینڈ اشارے کا استعمال کرتی ہے ، اور پھر فلٹرنگ کے لئے 200 دن کی سادہ چلتی اوسط کو یکجا کرتی ہے ، جس میں اہم رجحان کی سمت کے ساتھ ساتھ لمبی اور مختصر پوزیشنیں کھولی جاتی ہیں۔
حکمت عملی میں دو اشارے استعمال کیے گئے ہیں:
سپر ٹرینڈ انڈیکیٹر: یہ حقیقی اتار چڑھاؤ اے ٹی آر اور ایک ضرب کی بنیاد پر اوپری اور نچلی ریلوں کا حساب لگاتا ہے۔ جب اختتامی قیمت اوپری ریل سے زیادہ ہوتی ہے تو ، اس سے تیزی کا نظارہ ظاہر ہوتا ہے۔ جب نچلی ریل سے کم ہوتا ہے تو ، اس سے bearish نقطہ نظر ظاہر ہوتا ہے۔
200 دن کا سادہ چلتا ہوا اوسط: یہ پچھلے 200 دنوں میں بند ہونے والی قیمتوں کا ریاضیاتی اوسط لیتا ہے۔ جب بند ہونے والی قیمت اس لائن سے زیادہ ہوتی ہے تو ، یہ ایک بڑے تیزی کے رجحان کی نمائندگی کرتی ہے۔ جب اس لائن سے نیچے ہوتا ہے تو ، یہ ایک بڑے bearish رجحان کی نمائندگی کرتا ہے۔
حکمت عملی منطق:
جب سپر ٹرینڈ اشارے میں تیزی کا اشارہ ملتا ہے (سپر ٹرینڈ ویلیو 0 سے زیادہ ہے) اور بند ہونے کی قیمت 200 دن کی ایم اے سے زیادہ ہے تو ، طویل ہوجائیں۔
جب سپر ٹرینڈ اشارے میں ایک bearish سگنل (سپر ٹرینڈ ویلیو 0 سے کم) ہوتا ہے اور بند ہونے کی قیمت 200 دن کے ایم اے سے کم ہوتی ہے تو ، مختصر ہوجائیں۔
پوزیشن بند کریں جب سپر ٹرینڈ اشارے پچھلے کے مقابلے میں ریورس سگنل دیتا ہے۔
سٹاپ نقصان 25 فیصد مقرر کیا گیا ہے.
اس حکمت عملی میں قلیل مدتی رجحان کا تعین کرنے کے لئے سپر ٹرینڈ اشارے اور طویل مدتی رجحان کا تعین کرنے کے لئے 200 دن کے ایم اے کو جوڑ دیا گیا ہے ، جو جعلی بریک آؤٹ کو مؤثر طریقے سے فلٹر کرسکتا ہے ، جیت کی شرح کو بہتر بناتے ہوئے تجارتی تعدد کو کم کرسکتا ہے۔ ایک اہم مارکیٹ کے رجحان میں ، رجحان بڑی اسٹاپ نقصان کی جگہ اور منافع کے ہدف کے ساتھ کافی واضح ہے۔
اس حکمت عملی کا بنیادی خطرہ یہ ہے کہ اسٹاپ نقصان کی حد نسبتا large بڑی ہے۔ اس سے ہائی لیوریج کی صورتحال میں جبری تصفیے کا خطرہ بڑھ سکتا ہے۔ اس کے علاوہ ، جب مارکیٹ رینج سے منسلک ہوتی ہے تو ، سپر ٹرینڈ اشارے سے بے کار سگنل پیدا ہوں گے ، اس طرح لین دین کے اخراجات اور تجارتی تعدد میں اضافہ ہوگا۔
اس خطرے کو اے ٹی آر کی مدت، ضارب پیرامیٹرز اور سٹاپ نقصان کی حد کو مناسب طریقے سے ایڈجسٹ کرکے کم کیا جاسکتا ہے۔
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
سپر ٹرینڈ اشارے کو بہتر بنانے کے لئے اے ٹی آر مدت اور ضرب کار پیرامیٹرز کو ایڈجسٹ کریں۔
متبادل کے لئے دیگر ایم اے اشارے جیسے ای ایم اے اور ویڈیا کو آزمائیں۔
مزید سگنل فلٹرنگ کے لئے دیگر معاون اشارے جیسے BOLL چینل یا KD اشارے شامل کریں۔
سٹاپ نقصان کی حکمت عملی کو بہتر بنائیں، جیسے اسے اعلی ٹائم فریم کی سطح کے ساتھ ساتھ بریک اینڈ پوائنٹ یا ٹریلنگ اسٹاپ پر منتقل کرنا۔
مجموعی طور پر ، یہ حکمت عملی بہت عملی ہے۔ یہ معقول اسٹاپ نقصان کی ترتیبات کے ساتھ قلیل مدتی رجحان فیصلے اور طویل مدتی رجحان فیصلے دونوں پر غور کرتی ہے۔ یہ پیرامیٹر ایڈجسٹمنٹ اور اصلاح کے ذریعے بہتر نتائج حاصل کرسکتا ہے ، جو حقیقی تجارتی تصدیق اور درخواست کے قابل ہے۔
/*backtest start: 2023-12-16 00:00:00 end: 2024-01-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // © wielkieef //@version=5 strategy("Smart SuperTrend Strategy ", shorttitle="ST Strategy", overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=25, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.01) // Parametry wskaźnika SuperTrend atrLength = input(10, title="Lenght ATR") factor = input(3.0, title="Mult.") // Parametry dla SMA lengthSMA = input(200, title="Lenght SMA") // Parametry dla Stop Loss sl = input.float(25.0, '% Stop Loss', step=0.1) // Obliczanie ATR atr = ta.atr(atrLength) // Obliczanie podstawowej wartości SuperTrend up = hl2 - (factor * atr) dn = hl2 + (factor * atr) // Obliczanie 200-SMA sma200 = ta.sma(close, lengthSMA) // Inicjalizacja zmiennych var float upLevel = na var float dnLevel = na var int trend = na var int trendWithFilter = na // Logika SuperTrend upLevel := close[1] > upLevel[1] ? math.max(up, upLevel[1]) : up dnLevel := close[1] < dnLevel[1] ? math.min(dn, dnLevel[1]) : dn trend := close > dnLevel[1] ? 1 : close < upLevel[1] ? -1 : nz(trend[1], 1) // Filtr SMA i aktualizacja trendWithFilter trendWithFilter := close > sma200 ? math.max(trend, 0) : math.min(trend, 0) // Logika wejścia longCondition = trend == 1 shortCondition = trend == -1 // Wejście w pozycje if (longCondition) and close > sma200 strategy.entry("Long", strategy.long) if (shortCondition) and close < sma200 strategy.entry("Short", strategy.short) // Warunki zamknięcia pozycji Long_close = trend == -1 and close > sma200 Short_close = trend == 1 and close < sma200 // Zamknięcie pozycji if (Long_close) strategy.close("Long") if (Short_close) strategy.close("Short") // Kolory superTrendu z filtrem sma200 trendColor = trendWithFilter == 1 ? color.green : trendWithFilter == -1 ? color.red : color.blue //ploty plot(trendWithFilter == 1 ? upLevel : trendWithFilter == -1 ? dnLevel : na, color=trendColor, title="SuperTrend") // Stop Loss ( this code is from author RafaelZioni, modified by wielkieef ) per(procent) => strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na) // -------------------------------------------------------------------------------------------------------------------- strategy.exit('SL',loss=per(sl)) //by wielkieef