یہ حکمت عملی خاص طور پر ہفتے کے آخر میں قیمتوں میں اتار چڑھاؤ کو پہلے سے طے شدہ فیصد بینڈ کی بنیاد پر لمبی / مختصر سمت کا تعین کرکے تجارت کرتی ہے۔ یہ ایک عام رینج ٹریڈنگ سسٹم ہے۔
حکمت عملی منطق:
پچھلے جمعہ کے اختتام پر مبنی فیصد بینڈ مقرر کریں، مثال کے طور پر 4.5٪ اوپر / نیچے.
اگر قیمت اپسائیڈ بینڈ سے زیادہ ہے تو مختصر درج کریں، اگر نیچے کی بینڈ سے نیچے ہے تو طویل درج کریں.
موجودہ سمت میں نئے بینڈ تک پہنچنے پر پوزیشن شامل کریں.
منافع حاصل کریں جب جمع ہونے والے منافع حد تک پہنچ جائیں، جیسے 10٪.
زیادہ سے زیادہ دو بیک وقت پوزیشنوں کی اجازت دیں، ہر سمت میں ایک. پیر سے پہلے تمام کھولنے بند.
فوائد:
مقررہ فیصد بینڈ مکینیکل ٹریڈنگ کی اجازت دیتے ہیں۔
کثیر سطح کے اندراجات بہتر لاگت کی بنیاد حاصل کرتے ہیں۔
دورانیہ مستحکم ہے، بنیادی عوامل سے متاثر نہیں ہوتا.
خطرات:
ایک ہی تجارت کے نقصان کے سائز کو محدود کرنے کے قابل نہیں، بڑے نقصان کی تجارت کا خطرہ ہے.
مقررہ پیرامیٹرز مختلف ادوار میں بدلتی ہوئی اتار چڑھاؤ کو ایڈجسٹ کرنے میں ناکام رہتے ہیں۔
دورانیہ وقت کے ساتھ تبدیل ہوسکتا ہے، ماڈل کو غیر قانونی بنا دیتا ہے.
خلاصہ یہ ہے کہ یہ حکمت عملی اکثر ہفتے کے آخر میں سائیکل کی تجارت کرتی ہے لیکن مستقل طور پر منافع میں مقفل ہونے کے چیلنجوں کا سامنا کرنا پڑتا ہے۔ درخواست دیتے وقت پیرامیٹر کی ناکامی اور بڑے نقصانات سے محتاط رہیں۔
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-12 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //Copyright Boris Kozak // strategy("XBT Weekend Trade Strategy", overlay=true, default_qty_type=strategy.percent_of_equity,) strategy.initial_capital=50000 leverage = input(10,"Leverage") profitTakingPercentThreshold = input(0.10,"Profit Taking Percent Threshold") //****Code used for setting up backtesting.****/// testStartYear = input(2017, "Backtest Start Year") testStartMonth = input(12, "Backtest Start Month") testStartDay = input(10, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2025, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FFFF : na bgcolor(testPeriodBackgroundColor, transp=50) testPeriod() => true //****END Code used for setting up backtesting.****/// //*** Main entry point is here***// // Figure out how many days since the Friday close days_since_friday = if dayofweek == 6 0 else if dayofweek == 7 1 else if dayofweek == 1 2 else if dayofweek == 2 3 else if dayofweek == 3 4 else if dayofweek == 4 5 else 6 // Grab the Friday close price fridaycloseprice = security(syminfo.ticker,'D',close[days_since_friday]) plot(fridaycloseprice) // Only perform backtesting during the window specified if testPeriod() // If we've reached out profit threshold, exit all positions if ((strategy.openprofit/strategy.initial_capital) > profitTakingPercentThreshold) strategy.close_all() // Only execute this trade on saturday and sunday (UTC) if (dayofweek == 7.0 or dayofweek == 1.0) // Begin - Empty position (no active trades) if (strategy.position_size == 0) // If current close price > threshold, go short if ((close>fridaycloseprice*1.045)) strategy.entry("Short Entry", strategy.short, leverage) else // If current close price < threshold, go long if (close<(fridaycloseprice*0.955)) strategy.entry("Long Entry",strategy.long, leverage) // Begin - we already have a position if (abs(strategy.position_size) > 0) // We are short if (strategy.position_size < 0) if ((close>strategy.position_avg_price*1.045)) // Add to the position strategy.entry("Adding to Short Entry", strategy.short, leverage) else if ((close<strategy.position_avg_price*0.955)) strategy.entry("Adding to Long Entry",strategy.long,leverage) // On Monday, if we have any open positions, close them if (dayofweek==2.0) strategy.close_all()