ٹائم رینج پاور ٹریڈنگ کی حکمت عملی


تخلیق کی تاریخ: 2023-11-23 15:32:00 آخر میں ترمیم کریں: 2023-11-23 15:32:00
کاپی: 0 کلکس کی تعداد: 603
1
پر توجہ دیں
1617
پیروکار

ٹائم رینج پاور ٹریڈنگ کی حکمت عملی

جائزہ

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

حکمت عملی کا اصول

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

مثال کے طور پر، اگر 6:30 بجے سے 7 بجے کے درمیان زیادہ کرنے کے لئے مقرر کیا گیا ہے، تو حکمت عملی 6:30 بجے زیادہ کھل جائے گی؛ اگر 7 بجے سے 7:30 بجے کے درمیان خالی کرنے کے لئے مقرر کیا گیا ہے، تو 7 بجے سے پہلے حکمت عملی پہلے سے زیادہ احکامات کو ختم کرے گی، اور پھر 7 بجے خالی کرنے کے لئے کھلے گا.

اس حکمت عملی کا فائدہ یہ ہے کہ ایک دن میں اسٹاک کی قیمتوں میں تبدیلی کے قوانین کو پکڑ سکتا ہے۔ خطرہ یہ ہے کہ قیمتوں میں تبدیلی کے قوانین وقت کے ساتھ تبدیل ہوسکتے ہیں ، جس سے حکمت عملی ناکام ہوجاتی ہے۔

طاقت کا تجزیہ

اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ اسٹاک کی قیمتوں کا حق ہے ، یعنی قیمتوں میں مختلف وقت کے وقفوں میں مختلف اوسط اور فرق ہوتا ہے۔ اس حکمت عملی کو بڑے اتار چڑھاؤ کے اوقات میں رینج ٹریڈنگ کی حکمت عملی ، کم اتار چڑھاؤ کے اوقات میں رجحان کی حکمت عملی کا استعمال کرنے اور مارکیٹ میں ہونے والی تبدیلیوں کے لئے لچکدار ہونے کی اجازت دیتا ہے۔

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

خطرے کا تجزیہ

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

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

اصلاح کی سمت

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

یا ، آپ اسٹاک کے بنیادی اشارے کے ساتھ مل کر یہ جانچنے کی کوشش کر سکتے ہیں کہ آیا قیمتوں میں تبدیلی کے قوانین میں تبدیلی کی امکان ہے ، تاکہ حکمت عملی کے آغاز کا وقت طے کیا جاسکے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
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("Timeframe Time of Day Buying and Selling Strategy", overlay=true)

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_string(48, '')
timeframes_options = array.new_string(49, 'None')

array.set(timeframes,0,'2330-0000')
array.set(timeframes_options,0, input(defval='None', options=['Long','Short','None'], title='0000-0030'))
array.set(timeframes,1,'0000-0030')
array.set(timeframes_options,1, input(defval='Long', options=['Long','Short','None'], title='0030-0100'))
array.set(timeframes,2,'0030-0100')
array.set(timeframes_options,2, input(defval='Long', options=['Long','Short','None'], title='0100-0130'))
array.set(timeframes,3,'0100-0130')
array.set(timeframes_options,3, input(defval='Long', options=['Long','Short','None'], title='0130-0200'))
array.set(timeframes,4,'0130-0200')
array.set(timeframes_options,4, input(defval='Long', options=['Long','Short','None'], title='0200-0230'))
array.set(timeframes,5,'0200-0230')
array.set(timeframes_options,5, input(defval='None', options=['Long','Short','None'], title='0230-0300'))
array.set(timeframes,6,'0230-0300')
array.set(timeframes_options,6, input(defval='None', options=['Long','Short','None'], title='0300-0330'))
array.set(timeframes,7,'0300-0330')
array.set(timeframes_options,7, input(defval='None', options=['Long','Short','None'], title='0330-0400'))
array.set(timeframes,8,'0330-0400')
array.set(timeframes_options,8, input(defval='None', options=['Long','Short','None'], title='0400-0430'))
array.set(timeframes,9,'0400-0430')
array.set(timeframes_options,9, input(defval='None', options=['Long','Short','None'], title='0430-0500'))
array.set(timeframes,10,'0430-0500')
array.set(timeframes_options,10, input(defval='None', options=['Long','Short','None'], title='0500-0530'))
array.set(timeframes,11,'0500-0530')
array.set(timeframes_options,11, input(defval='None', options=['Long','Short','None'], title='0530-0600'))
array.set(timeframes,12,'0530-0600')
array.set(timeframes_options,12, input(defval='None', options=['Long','Short','None'], title='0600-0630'))
array.set(timeframes,13,'0600-0630')
array.set(timeframes_options,13, input(defval='None', options=['Long','Short','None'], title='0630-0700'))
array.set(timeframes,14,'0630-0700')
array.set(timeframes_options,14, input(defval='None', options=['Long','Short','None'], title='0700-0730'))
array.set(timeframes,15,'0700-0730')
array.set(timeframes_options,15, input(defval='None', options=['Long','Short','None'], title='0730-0800'))
array.set(timeframes,16,'0730-0800')
array.set(timeframes_options,16, input(defval='None', options=['Long','Short','None'], title='0800-0830'))
array.set(timeframes,17,'0800-0830')
array.set(timeframes_options,17, input(defval='None', options=['Long','Short','None'], title='0830-0900'))
array.set(timeframes,18,'0830-0900')
array.set(timeframes_options,18, input(defval='None', options=['Long','Short','None'], title='0900-0930'))
array.set(timeframes,19,'0900-0930')
array.set(timeframes_options,19, input(defval='None', options=['Long','Short','None'], title='0930-1000'))
array.set(timeframes,20,'0930-1000')
array.set(timeframes_options,20, input(defval='None', options=['Long','Short','None'], title='1000-1030'))
array.set(timeframes,21,'1000-1030')
array.set(timeframes_options,21, input(defval='None', options=['Long','Short','None'], title='1030-1100'))
array.set(timeframes,22,'1030-1100')
array.set(timeframes_options,22, input(defval='None', options=['Long','Short','None'], title='1100-1130'))
array.set(timeframes,23,'1100-1130')
array.set(timeframes_options,23, input(defval='None', options=['Long','Short','None'], title='1130-1200'))
array.set(timeframes,24,'1130-1200')
array.set(timeframes_options,24, input(defval='None', options=['Long','Short','None'], title='1200-1230'))
array.set(timeframes,25,'1200-1230')
array.set(timeframes_options,25, input(defval='None', options=['Long','Short','None'], title='1230-1300'))
array.set(timeframes,26,'1230-1300')
array.set(timeframes_options,26, input(defval='None', options=['Long','Short','None'], title='1300-1330'))
array.set(timeframes,27,'1300-1330')
array.set(timeframes_options,27, input(defval='None', options=['Long','Short','None'], title='1330-1400'))
array.set(timeframes,28,'1330-1400')
array.set(timeframes_options,28, input(defval='None', options=['Long','Short','None'], title='1400-1430'))
array.set(timeframes,29,'1400-1430')
array.set(timeframes_options,29, input(defval='None', options=['Long','Short','None'], title='1430-1500'))
array.set(timeframes,30,'1430-1500')
array.set(timeframes_options,30, input(defval='None', options=['Long','Short','None'], title='1500-1530'))
array.set(timeframes,31,'1500-1530')
array.set(timeframes_options,31, input(defval='None', options=['Long','Short','None'], title='1530-1600'))
array.set(timeframes,32,'1530-1600')
array.set(timeframes_options,32, input(defval='None', options=['Long','Short','None'], title='1600-1630'))
array.set(timeframes,33,'1600-1630')
array.set(timeframes_options,33, input(defval='None', options=['Long','Short','None'], title='1630-1700'))
array.set(timeframes,34,'1630-1700')
array.set(timeframes_options,34, input(defval='None', options=['Long','Short','None'], title='1700-1730'))
array.set(timeframes,35,'1700-1730')
array.set(timeframes_options,35, input(defval='None', options=['Long','Short','None'], title='1730-1800'))
array.set(timeframes,36,'1730-1800')
array.set(timeframes_options,36, input(defval='None', options=['Long','Short','None'], title='1800-1830'))
array.set(timeframes,37,'1800-1830')
array.set(timeframes_options,37, input(defval='None', options=['Long','Short','None'], title='1830-1900'))
array.set(timeframes,38,'1830-1900')
array.set(timeframes_options,38, input(defval='None', options=['Long','Short','None'], title='1900-0930'))
array.set(timeframes,39,'1900-0930')
array.set(timeframes_options,39, input(defval='None', options=['Long','Short','None'], title='1930-2000'))
array.set(timeframes,40,'1930-2000')
array.set(timeframes_options,40, input(defval='None', options=['Long','Short','None'], title='2000-2030'))
array.set(timeframes,41,'2000-2030')
array.set(timeframes_options,41, input(defval='None', options=['Long','Short','None'], title='2030-2100'))
array.set(timeframes,42,'2030-2100')
array.set(timeframes_options,42, input(defval='None', options=['Long','Short','None'], title='2100-2130'))
array.set(timeframes,43,'2100-2130')
array.set(timeframes_options,43, input(defval='None', options=['Long','Short','None'], title='2130-2200'))
array.set(timeframes,44,'2130-2200')
array.set(timeframes_options,44, input(defval='None', options=['Long','Short','None'], title='2200-2230'))
array.set(timeframes,45,'2200-2230')
array.set(timeframes_options,45, input(defval='None', options=['Long','Short','None'], title='2230-2300'))
array.set(timeframes,46,'2230-2300')
array.set(timeframes_options,46, input(defval='None', options=['Long','Short','None'], title='2300-2330'))
array.set(timeframes,47,'2300-2330')
array.set(timeframes_options,47, input(defval='None', options=['Long','Short','None'], title='2330-0000'))


string_hour = hour<10?'0'+tostring(hour):tostring(hour)
string_minute = minute<10?'0'+tostring(minute):tostring(minute)
current_time = string_hour+string_minute


f_strLeft(_str, _n) =>
    string[] _chars = str.split(_str, "")
    int _len = array.size(_chars)
    int _end = min(_len, max(0, _n))
    string[] _substr = array.new_string(0)
    if _end <= _len
        _substr := array.slice(_chars, 0, _end)
    string _return = array.join(_substr, "")

f_strRight(_str, _n) =>
    string[] _chars = str.split(_str, "")
    int _len = array.size(_chars)
    int _beg = max(0, _len - _n)
    string[] _substr = array.new_string(0)
    if _beg < _len
        _substr := array.slice(_chars, _beg, _len)
    string _return = array.join(_substr, "")


for i = 0 to array.size(timeframes) - 1
    start_time = f_strLeft(array.get(timeframes, i), 4)
    end_time = f_strRight(array.get(timeframes, i), 4)
    
    if current_time == end_time and array.get(timeframes_options, i)!='None' and array.get(timeframes_options, i) != array.get(timeframes_options, i==47?0:i+1) and timestamp(toyear, tomonth, today, 00, 00)
        strategy.close_all()

    if current_time == start_time and array.get(timeframes_options, i)!='None' and array.get(timeframes_options, i) != array.get(timeframes_options, i==0?47: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)))