یہ حکمت عملی دوہری حرکت پذیر اوسط کراس اوور سگنلز پر مبنی ایک مقداری تجارتی نظام ہے ، جو مختصر مدت اور طویل مدتی حرکت پذیر اوسط کے تقاطع کے ذریعے مارکیٹ کے رجحان کی تبدیلیوں کی نشاندہی کرتا ہے ، جو خطرے کے کنٹرول کے لئے متحرک اسٹاپ نقصان اور منافع لینے کے انتظام کے ساتھ مل کر ہے۔ یہ حکمت عملی تجارت کے لئے مارکیٹ کے احکامات کا استعمال کرتی ہے ، سگنل چلانے پر خود بخود موجودہ پوزیشنوں کو بند کرتی ہے اور نئی پوزیشنیں کھولتی ہے ، اور اسٹاپ نقصان اور منافع لینے کی سطحوں کو طے کرکے سرمایہ کی حفاظت کرتی ہے۔
اس حکمت عملی میں مختلف ادوار کے دو سادہ حرکت پذیر اوسط (ایس ایم اے) ٹریڈنگ سگنلز کی بنیادی بنیاد کے طور پر استعمال ہوتے ہیں۔ جب قلیل مدتی ایم اے طویل مدتی ایم اے سے تجاوز کرتا ہے تو ایک لمبا سگنل تیار کیا جاتا ہے ، اور جب قلیل مدتی ایم اے طویل مدتی ایم اے سے تجاوز کرتا ہے تو ایک مختصر سگنل تیار کیا جاتا ہے۔ جب سگنل آتے ہیں تو نظام موجودہ پوزیشن کی حیثیت کی جانچ پڑتال کرتا ہے ، پہلے کسی بھی کاؤنٹر پوزیشن کو بند کرتا ہے ، پھر سگنل کی سمت کے مطابق نئی پوزیشنیں کھولتا ہے۔ ہر تجارت خود بخود پہلے سے طے شدہ فیصد کی بنیاد پر اسٹاپ نقصان اور منافع حاصل کرنے کی سطح طے کرتی ہے ، جس سے خطرہ انعام کے تناسب کا متحرک انتظام حاصل ہوتا ہے۔
یہ ایک جامع مقداری تجارتی حکمت عملی ہے جس میں واضح منطق ہے۔ یہ ڈبل ایم اے کراس اوور کے ذریعہ رجحان کی تبدیلیوں کو پکڑتا ہے اور متحرک اسٹاپ نقصان اور منافع لینے کی سطح کے ساتھ خطرے کا انتظام کرتا ہے۔ اس حکمت عملی کی طاقت اس کے منظم نقطہ نظر اور خطرے کے کنٹرول میں ہے ، لیکن براہ راست تجارت میں مختلف مارکیٹ کے خطرات پر توجہ دینی ہوگی۔ مسلسل اصلاح اور بہتری کے ذریعے ، حکمت عملی مختلف مارکیٹ کے ماحول میں مستحکم کارکردگی برقرار رکھ سکتی ہے۔ براہ راست عمل درآمد سے پہلے مکمل بیک ٹیسٹنگ کرنے اور اصل حالات کے مطابق پیرامیٹرز کو ایڈجسٹ کرنے کی سفارش کی جاتی ہے۔
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BTCUSD Daily Strategy - Market Orders Only", overlay=true, initial_capital=10000, currency=currency.USD) // Configurable Inputs stop_loss_percent = input.float(title="Stop Loss (%)", defval=1.0, minval=0.0, step=0.1) take_profit_percent = input.float(title="Take Profit (%)", defval=2.0, minval=0.0, step=0.1) short_ma_length = input.int(title="Short MA Length", defval=9, minval=1) long_ma_length = input.int(title="Long MA Length", defval=21, minval=1) // Moving Averages short_ma = ta.sma(close, short_ma_length) long_ma = ta.sma(close, long_ma_length) // Plotting Moving Averages plot(short_ma, color=color.blue, title="Short MA") plot(long_ma, color=color.red, title="Long MA") // Buy and Sell Signals buy_signal = ta.crossover(short_ma, long_ma) sell_signal = ta.crossunder(short_ma, long_ma) // Market Buy Logic if (buy_signal and strategy.position_size <= 0) // Close any existing short position if (strategy.position_size < 0) strategy.close(id="Market Sell") // Calculate Stop Loss and Take Profit Prices entry_price = close long_stop = entry_price * (1 - stop_loss_percent / 100) long_take_profit = entry_price * (1 + take_profit_percent / 100) // Enter Long Position strategy.entry(id="Market Buy", direction=strategy.long) strategy.exit(id="Exit Long", from_entry="Market Buy", stop=long_stop, limit=long_take_profit) // Alert for Market Buy alert("Market Buy Signal at price " + str.tostring(close) + ". Stop Loss: " + str.tostring(long_stop) + ", Take Profit: " + str.tostring(long_take_profit), alert.freq_once_per_bar_close) // Market Sell Logic if (sell_signal and strategy.position_size >= 0) // Close any existing long position if (strategy.position_size > 0) strategy.close(id="Market Buy") // Calculate Stop Loss and Take Profit Prices entry_price = close short_stop = entry_price * (1 + stop_loss_percent / 100) short_take_profit = entry_price * (1 - take_profit_percent / 100) // Enter Short Position strategy.entry(id="Market Sell", direction=strategy.short) strategy.exit(id="Exit Short", from_entry="Market Sell", stop=short_stop, limit=short_take_profit) // Alert for Market Sell alert("Market Sell Signal at price " + str.tostring(close) + ". Stop Loss: " + str.tostring(short_stop) + ", Take Profit: " + str.tostring(short_take_profit), alert.freq_once_per_bar_close)