یہ حکمت عملی ایک رجحان پر مبنی ٹریڈنگ سسٹم ہے جس کی بنیاد متعدد ادوار کی چلتی اوسط پر ہے۔ یہ مارکیٹ کی مجموعی رجحان کی سمت کا تعین کرنے کے لئے 89 ادوار اور 21 ادوار کی سادہ چلتی اوسط (ایس ایم اے) کا استعمال کرتا ہے ، جبکہ مخصوص تجارتی سگنلز کی نشاندہی کرنے کے لئے 5 ادوار کی توسیعاتی چلتی اوسط (ای ایم اے) کے اعلی اور کم درجے کو شامل کرتا ہے۔ یہ حکمت عملی فکسڈ اسٹاپ نقصان اور ٹریلنگ ٹیک منافع کے طریقہ کار کے ساتھ مل کر دوہری پوزیشن مینجمنٹ کے نقطہ نظر کو استعمال کرتی ہے۔
بنیادی منطق میں مندرجہ ذیل اہم عناصر شامل ہیں:
یہ حکمت عملی ایک جامع رجحان کی پیروی کرنے والے نظام کی نمائندگی کرتی ہے جو لچکدار پوزیشن مینجمنٹ اور رسک کنٹرول کے طریقوں کو نافذ کرتے ہوئے متعدد مدت کے چلتے ہوئے اوسط کے ذریعہ مارکیٹ کے رجحانات کو حاصل کرتی ہے۔ اگرچہ اصلاح کی گنجائش ہے ، لیکن بنیادی فریم ورک اچھی عملی اور توسیع پذیری کا مظاہرہ کرتا ہے۔ حکمت عملی کے استحکام کو پیرامیٹرز کو ایڈجسٹ کرکے اور مختلف تجارتی آلات اور مارکیٹ کے ماحول کے لئے فلٹرنگ کے حالات کو شامل کرکے بڑھا سکتا ہے۔
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © tobiashartemink2 //@version=5 strategy("High 5 Trading Technique", overlay=true) // --- Input parameters --- sma89Length = input.int(title="SMA 89 Length", defval=89) sma21Length = input.int(title="SMA 21 Length", defval=21) ema5HighLength = input.int(title="EMA 5 High Length", defval=5) ema5LowLength = input.int(title="EMA 5 Low Length", defval=5) contracts = input.int(title="Aantal Contracten", defval=1) stopLossPoints = input.int(title="Stop Loss Points per Contract", defval=25) takeProfitPoints = input.int(title="Take Profit Points per Contract", defval=25) // --- Calculate moving averages --- sma89 = ta.sma(close, sma89Length) sma21 = ta.sma(close, sma21Length) ema5High = ta.ema(high, ema5HighLength) ema5Low = ta.ema(low, ema5LowLength) // --- Identify trend and order of moving averages --- longSetup = close > sma89 and close > sma21 and ema5High > sma21 and sma21 > sma89 shortSetup = close < sma89 and close < sma21 and ema5Low < sma21 and sma21 < sma89 // --- Entry signals --- longTrigger = longSetup and close <= ema5Low shortTrigger = shortSetup and close >= ema5High // --- Entry orders --- if (longTrigger) strategy.entry("Long 1", strategy.long, qty=contracts) strategy.entry("Long 2", strategy.long, qty=contracts) if (shortTrigger) strategy.entry("Short 1", strategy.short, qty=contracts) strategy.entry("Short 2", strategy.short, qty=contracts) // --- Stop-loss and take-profit for long positions --- if (strategy.position_size > 0) strategy.exit("Exit Long 1", "Long 1", stop=strategy.position_avg_price - stopLossPoints, limit=strategy.position_avg_price + takeProfitPoints) strategy.exit("Exit Long 2", "Long 2", stop=strategy.position_avg_price - stopLossPoints, trail_offset=takeProfitPoints, trail_points=takeProfitPoints) // --- Stop-loss and take-profit for short positions --- if (strategy.position_size < 0) strategy.exit("Exit Short 1", "Short 1", stop=strategy.position_avg_price + stopLossPoints, limit=strategy.position_avg_price - takeProfitPoints) strategy.exit("Exit Short 2", "Short 2", stop=strategy.position_avg_price + stopLossPoints, trail_offset=takeProfitPoints, trail_points=takeProfitPoints) // --- Plot moving averages --- plot(sma89, color=color.blue, linewidth=2) plot(sma21, color=color.red, linewidth=2) plot(ema5High, color=color.green, linewidth=2) plot(ema5Low, color=color.orange, linewidth=2)