ہفتے کے دن کسٹم ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-26 20:49:44
ٹیگز:

جائزہ

یہ بٹ کوائن کے لئے ایک کسٹم لانگ / شارٹ ٹریڈنگ حکمت عملی ہے جو ہفتے کے مختلف دنوں میں حسرت یا مختصر کرنے کی بیک ٹیسٹنگ کی اجازت دیتی ہے۔ قیمت ہر ہفتے کے دن ایک سمت یا دوسری سمت میں منتقل ہوسکتی ہے ، اور یہ حکمت عملی اس پر سرمایہ کاری کرنے کے لئے تاریخوں کی ایک حد میں ٹیسٹنگ کی اجازت دیتی ہے۔

اس بات کو یقینی بنائیں کہ آپ کارکردگی اور تجارتی تاریخ کو دیکھنے کے دوران روزانہ کے ٹائم فریم پر ہیں تاکہ اس بات کو یقینی بنایا جاسکے کہ اسکرپٹ مطلوبہ طور پر کام کرتا ہے اور آپ کو ٹریڈنگ ویو سے زیادہ سے زیادہ تاریخی ڈیٹا حاصل ہے۔

حکمت عملی منطق

حکمت عملی کا بنیادی منطق صارف کو ہفتے کے ہر دن کے لئے طویل، مختصر یا کوئی تجارت منتخب کرنے کی اجازت دینا ہے.

سب سے پہلے، یہ صارف کو بیک ٹسٹنگ کے لئے تاریخ کی حد مقرر کرنے کی اجازت دیتا ہے، بشمول شروع ماہ، دن، سال اور اختتام مہینہ، دن، سال.

پھر، یہ ہفتے کے ہر دن کی عددی نمائندگی کو ذخیرہ کرنے کے لئے ایک صف ٹائم فریم کا استعمال کرتا ہے، اتوار 0 سے ہفتہ 6 تک.

ایک اور صف timeframes_options کا استعمال ہر دن کے لئے طویل ، مختصر یا کوئی تجارت کا انتخاب ذخیرہ کرنے کے لئے کیا جاتا ہے۔ یہ ان پٹ آپشن کے ذریعے مقرر کیا جاتا ہے۔

فور لوپ میں ، حکمت عملی چیک کرتی ہے کہ آیا موجودہ تجارتی دن ٹائم فریم صف میں کسی دن سے مماثل ہے۔ اگر ایسا ہے تو ، اور آپشن پچھلے دن سے مختلف ہے ، تو یہ پہلے تمام کھلی پوزیشنوں کو بند کردیتا ہے۔

اگر آپشن None نہیں ہے تو ، یہ منتخب کردہ طویل یا مختصر کی بنیاد پر مناسب سمت میں پوزیشن کھولتا ہے۔

اس طرح، حکمت عملی ہفتے کے ہر دن کی ترتیبات کی بنیاد پر مقررہ تاریخ کی حد پر طویل / مختصر تجارت کر سکتی ہے.

فوائد کا تجزیہ

اس حکمت عملی کا بنیادی فائدہ یہ ہے کہ یہ انتہائی حسب ضرورت طویل / مختصر تجارت فراہم کرتا ہے۔ صارف کو ہفتے کے ہر دن کے لئے تجارتی سمت کا انتخاب کرنے میں مکمل آزادی ہے۔

مقررہ ہفتہ وار تجارتی حکمت عملیوں کے برعکس ، اس کو لچکدار طریقے سے ایڈجسٹ کیا جاسکتا ہے۔ ناقص کارکردگی کا مظاہرہ کرنے والے دنوں کو آسانی سے صرف دوسرے دنوں میں تجارت کرنے کے لئے تبدیل کیا جاسکتا ہے۔

بیک ٹیسٹ کی تاریخ کی حد بھی انتہائی لچکدار ہے ، جس سے یہ دیکھنے کے لئے کسی بھی صارف کی مخصوص مدت کی جانچ کی جاسکتی ہے کہ کون سے تاریخ کے مجموعے بہترین کارکردگی کا مظاہرہ کرتے ہیں۔

تجارتی منطق بہت واضح اور آسان ہے ، سمجھنے اور تبدیل کرنے میں آسان ہے۔ صارفین کوڈنگ کے بغیر پیرامیٹرز کو ایڈجسٹ کرسکتے ہیں۔

یہ حکمت عملی ہر روز سمت کی تبدیلی پر پوزیشنوں کو خود بخود بند کرتی ہے، غیر ضروری خطرے سے بچنے کے لئے.

خطرے کا تجزیہ

اہم خطرہ یہ ہے کہ صارف کے منتخب کردہ روزانہ ٹریڈنگ کے انتخاب ہر تاریخ کی حد میں فٹ نہیں ہوسکتے ہیں۔

مثال کے طور پر، ہفتے کے دنوں میں طویل اور مختصر اختتام ہفتہ کچھ ادوار کے لئے مؤثر ثابت ہوسکتے ہیں لیکن دوسروں میں ناکام ہوسکتے ہیں.

لہذا تاریخ کی حدوں کو احتیاط سے جانچنا چاہئے ، اور بیک ٹسٹ کے ایک نتائج پر انحصار نہیں کرنا چاہئے۔ پیرامیٹرز کو بہتر بنانے کے لئے مارکیٹ کے حالات پر غور کرنے کی ضرورت ہے۔

ایک اور خطرہ یہ ہے کہ جب سمت روزانہ بدلتی ہے تو وقت پر نقصانات کو کم کرنے میں ناکامی ہوتی ہے۔ لیکن حکمت عملی خود کار طریقے سے بند ہونے سے اس کو کم کرنے کی کوشش کرتی ہے۔

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

اصلاح کی ہدایات

اسٹریٹیجی کو کئی پہلوؤں میں بہتر بنایا جاسکتا ہے:

  1. روزانہ کی سمت کی تبدیلی پر سٹاپ نقصان منطق شامل کریں، جب پوزیشن منافع بخش ہیں تو ڈراؤونگ کو محدود کرنے کے لئے ٹریلنگ اسٹاپ قائم کریں.

  2. ایک فلٹر شامل کریں، صرف مخصوص دن کے اعلی / کم توڑنے پر سگنل لینے، رجحان کے بغیر ٹریڈنگ سے بچنے.

  3. اعلی اتار چڑھاؤ کے ادوار میں پوزیشن سائزنگ کو کم کریں اور خطرہ کو کنٹرول کرنے کے لئے اتار چڑھاؤ کم ہونے پر اضافہ کریں۔

  4. تجارتی دن کے انتخاب میں مشین لرننگ شامل کریں، تاریخی اعداد و شمار کی بنیاد پر ہر دن کے امکان کا فیصلہ کریں، متحرک روزانہ سمت پیدا کریں.

  5. غیر متوقع واقعات جیسے اہم خبروں کو سنبھالنے کے لئے منطق شامل کریں تاکہ آفسیڈز میں پھنسنے سے بچنے کے لئے تجارت کو روکیں۔

نتیجہ

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


/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

//@version=4
// strategy("Day of Week Custom Buy/Sell Strategy", overlay=true, currency=currency.USD, default_qty_value=1.0,initial_capital=30000.00,default_qty_type=strategy.percent_of_equity)

frommonth = input(defval = 6, minval = 01, maxval = 12, title = "From Month")
fromday = input(defval = 14, minval = 01, maxval = 31, title = "From day")
fromyear = input(defval = 2021, minval = 1900, maxval = 2100, title = "From Year")

tomonth = input(defval = 12, minval = 01, maxval = 12, title = "To Month")
today = input(defval = 31, minval = 01, maxval = 31, title = "To day")
toyear = input(defval = 2100, minval = 1900, maxval = 2100, title = "To Year")

timeframes = array.new_int(7, 1)
timeframes_options = array.new_string(7, 'None')

array.set(timeframes,0,7)
array.set(timeframes_options,0, input(defval='None', options=['Long','Short','None'], title='sunday'))
array.set(timeframes,1,1)
array.set(timeframes_options,1, input(defval='Long', options=['Long','Short','None'], title='monday'))
array.set(timeframes,2,2)
array.set(timeframes_options,2, input(defval='Long', options=['Long','Short','None'], title='tuesday'))
array.set(timeframes,3,3)
array.set(timeframes_options,3, input(defval='Long', options=['Long','Short','None'], title='wednesday'))
array.set(timeframes,4,4)
array.set(timeframes_options,4, input(defval='None', options=['Long','Short','None'], title='thursday'))
array.set(timeframes,5,5)
array.set(timeframes_options,5, input(defval='None', options=['Long','Short','None'], title='friday'))
array.set(timeframes,6,6)
array.set(timeframes_options,6, input(defval='None', options=['Long','Short','None'], title='saturday'))



for i = 0 to array.size(timeframes) - 1
    
    if dayofweek == array.get(timeframes, i) and array.get(timeframes_options, i) != array.get(timeframes_options, i==0?6:i-1)
        strategy.close_all()

    if dayofweek == array.get(timeframes, i) and array.get(timeframes_options, i)!='None' and array.get(timeframes_options, i) != array.get(timeframes_options, i==0?6:i-1)
        if array.get(timeframes_options, i) == 'Long'
            strategy.entry("Long", strategy.long, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
        else if array.get(timeframes_options, i) == 'Short'
            strategy.entry("Short", strategy.short, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))


مزید