ویک اینڈ رینج سے منسلک حکمت عملی


تخلیق کی تاریخ: 2023-09-13 11:53:09 آخر میں ترمیم کریں: 2023-09-13 11:53:09
کاپی: 1 کلکس کی تعداد: 635
1
پر توجہ دیں
1617
پیروکار

یہ حکمت عملی خاص طور پر ہفتے کے آخر میں قیمت کے اتار چڑھاو کے لئے ٹریڈ کی جاتی ہے ، اور پہلے سے طے شدہ اتار چڑھاو کی حدود کے ذریعہ فاریکس ٹریڈنگ کی حکمت عملی کا تعین کرتی ہے۔

حکمت عملی:

  1. پچھلے جمعہ کی اختتامی قیمت کا حوالہ دیتے ہوئے ، ایک حد مقرر کریں جس میں اضافہ یا کمی ہو ، مثال کے طور پر ، حد کی حد اختتامی قیمت میں 4.5 فیصد اضافے تک ہے۔

  2. جب قیمت حد سے اوپر ہو تو ، آپشن کو خالی کردیں۔ جب قیمت حد سے نیچے ہو تو ، آپشن کو زیادہ کردیں۔

  3. پہلے سے موجود پوزیشنوں کے ساتھ ، ایک نئی پرت سے تجاوز کرنے کے بعد پوزیشنوں میں اضافے کا سلسلہ جاری رکھیں ، جیسے خالی یا زیادہ۔

  4. جمع منافع کے ایک خاص تناسب تک پہنچنے پر ، پوزیشن کو بند کردیں ، مثال کے طور پر 10٪

  5. ایک وقت میں زیادہ سے زیادہ دو سمتوں میں پوزیشنوں کا انعقاد کریں۔ پیر کے روز کھلنے سے پہلے تمام پوزیشنوں کو صاف کریں۔

اس حکمت عملی کے فوائد:

  1. مقررہ اتار چڑھاو کی حد مقرر کریں ، میکانی آپریشن کریں۔

  2. مرحلہ وار جمع کرنے سے آپ کو بہتر قیمت مل سکتی ہے۔

  3. اس کے علاوہ، اس کے علاوہ، اس کے علاوہ، اس کے علاوہ، اس کے علاوہ، اس کے علاوہ، اس کے علاوہ.

اس حکمت عملی کے خطرات:

  1. ایک نقصان کی حد محدود نہیں کی جاسکتی ہے ، اور ایک بڑے نقصان کا خطرہ ہے۔

  2. فکسڈ پیرامیٹرز مختلف وقت کے عرصے میں مارکیٹ کی اتار چڑھاؤ کی شرح کو اپنانے کے لئے نہیں کر سکتے ہیں.

  3. ماڈل کی ناکامی کے خطرے کے ساتھ ، اس کے نتیجے میں وقتا فوقتا قوانین میں تبدیلی آسکتی ہے۔

خلاصہ یہ ہے کہ اس حکمت عملی کا استعمال وقتا فوقتا قواعد پر ہوتا ہے ، لیکن منافع کو روکنے میں کچھ دشواریوں کا سامنا کرنا پڑتا ہے۔ احتیاط سے کام کرنے کی ضرورت ہے ، پیرامیٹرز کی ناکامی اور ایک ہی نقصان کا بہت بڑا خطرہ ہے۔

حکمت عملی کا ماخذ کوڈ
/*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()