یہ حکمت عملی دوہری حرکت پذیر اوسط کراس اوور سگنلز پر مبنی رجحان پر عمل کرنے والا نظام ہے ، جس میں متحرک منافع اور اسٹاپ نقصان کا طریقہ کار شامل ہے۔ یہ تجارتی سگنل پیدا کرنے کے لئے 5 مدت اور 12 مدت کے سادہ حرکت پذیر اوسط (ایس ایم اے) کا استعمال کرتا ہے ، منافع اور اسٹاپ نقصان کی سطحوں کی متحرک ایڈجسٹمنٹ کے ذریعے رسک - انعام تناسب کو بہتر بناتا ہے۔ ابتدائی منافع 10٪ اور اسٹاپ نقصان 5٪ پر مقرر کیا جاتا ہے ، جب قیمت سازگار طور پر چلتی ہے تو سطحوں کو بالترتیب 20٪ اور 2.5٪ پر ایڈجسٹ کیا جاتا ہے۔
بنیادی منطق تیز (5 مدت) اور سست (12 مدت) حرکت پذیر اوسط کے مابین کراس اوور تعلقات پر مبنی ہے۔ جب تیز ایم اے سست ایم اے سے اوپر گزر جاتا ہے تو خرید کا اشارہ پیدا ہوتا ہے ، جبکہ جب تیز ایم اے سست ایم اے سے نیچے گزر جاتا ہے تو پوزیشنیں بند ہوجاتی ہیں۔ اس حکمت عملی کی انفرادیت اس کے متحرک رسک مینجمنٹ میکانزم میں ہے۔ پوزیشن میں داخلے کے بعد ، سسٹم قیمت کی نقل و حرکت کی مسلسل نگرانی کرتا ہے اور خطرہ کو کنٹرول کرتے ہوئے منافع کو زیادہ سے زیادہ کرنے کے لئے متحرک طور پر منافع اور اسٹاپ نقصان کی سطح کو ایڈجسٹ کرتا ہے۔
یہ حکمت عملی کلاسیکی حرکت پذیر اوسط کراس اوور سگنلز کو جدید متحرک رسک مینجمنٹ کے ساتھ جوڑ کر مؤثر طریقے سے رجحانات کو پکڑتی ہے اور خطرہ کو متحرک طور پر کنٹرول کرتی ہے۔ حکمت عملی کا ڈیزائن واضح ، نفاذ موثر ہے ، اور اس میں اچھی عملی اور توسیع پذیری کا مظاہرہ کیا گیا ہے۔ مسلسل اصلاح اور بہتری کے ذریعے ، یہ حکمت عملی اصل تجارت میں مستحکم منافع حاصل کرنے کا وعدہ کرتی ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("My Moving Average Crossover Strategy with Take Profit and Stop Loss", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) //risk_free_rate = float(request.security("IRUS", "D", close)/request.security("IRUS", "D", close[1]) - 1 )) // MA periods fastLength = input.int(5, title="Fast MA Length") slowLength = input.int(12, title="Slow MA Length") // Take Profit and Stop Loss takeProfitLevel = input(10, title="Take Profit (пункты)") // Take profit % from the last price stopLossLevel = input(5, title="Stop Loss (пункты)") // Stop loss % from the last price takeProfitLevel_dyn = input(20, title="Dynamic Take Profit (пункты)") // Move TP if current_price higher buy_px stopLossLevel_dyn = input(2.5, title="Dynamic Stop Loss (пункты)") // S Move SL if current_price higher buy_px // Вычисление скользящих средних fastMA = ta.sma(close, fastLength) slowMA= ta.sma(close, slowLength) // Conditions for Sell and Buy longCondition = ta.crossover (fastMA, slowMA) // покупаем, если короткая MA персекает длинную снизу-вверх shortCondition = ta.crossunder(fastMA, slowMA) // продаем, если короткая MA персекает длинную сверху-вниз // Buy position condition if (longCondition) strategy.entry("Buy", strategy.long) // Dynamic TP SL leveles takeProfitPrice = strategy.position_avg_price * (1+ takeProfitLevel / 100) stopLossPrice = strategy.position_avg_price * (1-stopLossLevel / 100) entryPrice = strategy.position_avg_price if (strategy.position_size > 0) // если есть открытая позиция // takeProfitPrice := entryPrice * (1+ takeProfitLevel / 100) // stopLossPrice := entryPrice * (1-stopLossLevel / 100) // // Перемещение Stop Loss и Take Profit if (close > entryPrice) takeProfitPrice := close * (1+ takeProfitLevel_dyn / 100) stopLossPrice := close * (1- stopLossLevel_dyn/ 100) if (shortCondition) strategy.close("Buy") strategy.exit("Take Profit/Stop loss", "Buy", limit=takeProfitPrice, stop=stopLossPrice) // Drawing MA lines plot(fastMA, color=color.blue, title="Fast Moving Average") plot(slowMA, color=color.orange, title="Slow Moving Average") // Визуализация plot(longCondition ? na : takeProfitPrice, title="Take Profit Level", color=color.green, linewidth=1, style=plot.style_line) plot(longCondition ? na: stopLossPrice, title="Stop Loss Level", color=color.red, linewidth=1, style=plot.style_line)