یہ حکمت عملی جمعہ کی اختتامی قیمت کی بنیاد پر طویل اور مختصر اندراج کی شرائط طے کرتی ہے ، اور ہفتہ اور اتوار کے افتتاح کے بعد طویل یا مختصر جاتی ہے ، پیر کے افتتاح سے پہلے تمام پوزیشنوں سے باہر نکل جاتی ہے۔ اس حکمت عملی کا مقصد ہفتے کے آخر میں جمعہ کی اختتامی قیمت کے ارد گرد قیمتوں میں اتار چڑھاؤ سے فائدہ اٹھانا ہے۔
خطرے کے حل:
یہ قلیل مدتی تجارتی حکمت عملی میں بہت واضح منطق اور رسک کنٹرول کے اقدامات ہیں۔ پیرامیٹرز کی مناسب ترتیب اور مسلسل جانچ اور اصلاح کے ساتھ ، یہ سرمایہ کاری کی مستحکم واپسی پیدا کرسکتا ہے۔ ایک ہی وقت میں ، زیادہ اتار چڑھاؤ کی وجہ سے ہفتے کے آخر میں بڑے نقصانات کا خطرہ مناسب رسک کنٹرول کے ذریعے سنبھالا جانا چاہئے۔
/*backtest start: 2023-10-16 00:00:00 end: 2023-11-15 00:00:00 period: 1h basePeriod: 15m 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,initial_capital=20000) leverage = input(1,"Leverage") profitTakingPercentThreshold = input(0.03,"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 = request.security(syminfo.tickerid,'D',close[days_since_friday]) plot(fridaycloseprice) strategy.initial_capital = 50000 // 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 strategy.entry("Long Entry",strategy.long,leverage) // On Monday, if we have any open positions, close them if (dayofweek==2.0) strategy.close_all()