یہ حکمت عملی ایک گرڈ ٹریڈنگ سسٹم ہے جو قیمتوں میں کمی کی بنیاد پر پوزیشنوں کو شامل کرتا ہے اور جب مقررہ منافع کے ہدف تک پہنچ جاتا ہے تو پوزیشنوں کو بند کرتا ہے۔ بنیادی منطق یہ ہے کہ جب مارکیٹ پہلے سے طے شدہ فیصد تک گرتی ہے تو خریدنا ، جب قیمت ہدف کے منافع تک لوٹ جاتی ہے تو تمام پوزیشنوں کو بند کرنا ، اور اس عمل کو بار بار انجام دے کر منافع پیدا کرنا۔ یہ حکمت عملی خاص طور پر جھولتی ہوئی منڈیوں میں قلیل مدتی چھلانگوں کو پکڑنے کے لئے موزوں ہے۔
حکمت عملی میں گرڈ ٹریڈنگ اور سمت لینے کے منافع کا ایک مشترکہ طریقہ کار استعمال کیا گیا ہے:
یہ ایک ساختی طور پر آسان لیکن عملی گرڈ ٹریڈنگ حکمت عملی ہے جو پیش وضاحتی قیمتوں میں گرنے پر بیچوں میں پوزیشنیں بناتی ہے اور منافع کے اہداف تک پہنچنے پر یکساں طور پر پوزیشنیں بند کرتی ہے۔ اس حکمت عملی کے بنیادی فوائد اس کے عملدرآمد کی یقین دہانی اور رسک کی تنوع میں پائے جاتے ہیں ، لیکن مارکیٹ کے ماحول کا انتخاب اور پیرامیٹر کی اصلاح عمل درآمد کے دوران اہم ہیں۔ متحرک اسٹاپ نقصانات کو شامل کرنے اور پوزیشن مینجمنٹ کو بہتر بنانے کے ذریعے اصلاح کی اہم صلاحیت موجود ہے۔ براہ راست تجارت کے ل. ، اصل مارکیٹ کے حالات پر مبنی مکمل بیک ٹیسٹنگ اور پیرامیٹر ایڈجسٹمنٹ کی سفارش کی جاتی ہے۔
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Buy Down 5%, Sell at 5% Profit", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1) // Inputs initial_date = input(timestamp("2024-01-01 00:00:00"), title="Initial Purchase Date") profit_target = input.float(5.0, title="Profit Target (%)", minval=0.1) // Target profit percentage rebuy_drop = input.float(5.0, title="Rebuy Drop (%)", minval=0.1) // Drop percentage to rebuy // Variables var float initial_price = na // Initial purchase price var int entries = 0 // Count of entries var float total_profit = 0 // Cumulative profit var bool active_trade = false // Whether an active trade exists // Entry Condition: Buy on or after the initial date if not active_trade initial_price := close strategy.entry("Buy", strategy.long) entries += 1 active_trade := true // Rebuy Condition: Buy if price drops 5% or more from the initial price rebuy_price = initial_price * (1 - rebuy_drop / 100) if active_trade and close <= rebuy_price strategy.entry("Rebuy", strategy.long) entries += 1 // Exit Condition: Sell if the price gives a 5% profit on the initial investment target_price = initial_price * (1 + profit_target / 100) if active_trade and close >= target_price strategy.close_all(comment="Profit Target Hit") active_trade := false total_profit += profit_target // Display information on the chart plotshape(series=close >= target_price, title="Target Hit", style=shape.labelup, location=location.absolute, color=color.green, text="Sell") plotshape(series=close <= rebuy_price, title="Rebuy", style=shape.labeldown, location=location.absolute, color=color.red, text="Rebuy") // Draw statistics on the chart var label stats_label = na if (na(stats_label)) stats_label := label.new(x=bar_index, y=close, text="", style=label.style_none, size=size.small) label.set_xy(stats_label, bar_index, close) label.set_text(stats_label, "Entries: " + str.tostring(entries) + "\nTotal Profit: " + str.tostring(total_profit, "#.##") + "%")