یہ حکمت عملی اس خیال پر مبنی ہے کہ اسٹاپ اور اسٹاپ قیمت پوائنٹس اکثر انٹیگر قیمت یا اہم قیمت کی سطح پر قائم کیے جاتے ہیں ، جو اکثر حمایت اور مزاحمت کی حیثیت سے کام کرتے ہیں۔ حکمت عملی ان اہم قیمت کی سطحوں کی نشاندہی کرتی ہے اور جب قیمت قریب ہوتی ہے تو خریدنے یا بیچنے کی کارروائی کرتی ہے۔
اس حکمت عملی میں بنیادی طور پر مندرجہ ذیل اصول شامل ہیں:
جب اختتامی قیمت کلیدی قیمت کی سطح سے اوپر ہو اور پچھلے 10 K لائنوں میں اس قیمت کو نہ چھوئے تو خرید و فروخت کا آپریشن کریں۔
اس کے بعد ، قیمتوں میں اہم قیمتوں کو توڑنے کی نقل و حرکت کو ٹریک کرنے کے لئے کرال ٹریکنگ کا استعمال کیا جاتا ہے۔
فروخت کا آپریشن خریدنے کے برعکس ہوتا ہے ، فروخت کا آپریشن اس وقت کیا جاتا ہے جب بند ہونے والی قیمت قیمت کی سطح سے کم ہو اور پچھلے 10 ک لائنوں میں اس قیمت کو نہ چھوئے۔
قیمتوں کی اہم سطحوں کی نشاندہی کرنے کا طریقہ یہ ہے:
یہ حکمت عملی قیمتوں کی نفسیات کے تصور پر مبنی ہے ، جس میں یہ خیال کیا جاتا ہے کہ عددی قیمت یا اہم سطح اکثر اہم پوزیشنوں کے لئے لڑائی کی جاتی ہے ، جس سے تجارت کے اشارے کے طور پر اثر پڑتا ہے۔ اس کے علاوہ ، کرال ٹریکنگ قیمتوں میں اضافے کے بعد رجحانات کی پیروی کرسکتا ہے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
اس کا حل کیا ہے؟
یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔
اہم قیمتوں کے پوائنٹس کی اہمیت کا اندازہ لگانے کے لئے مزید شرائط شامل کریں ، تاکہ جعلی توڑنے کے خطرے سے بچا جاسکے۔
اصلاح کے پیرامیٹرز ، خاص طور پر اہم قیمتوں کے علاقوں میں قدم کی لمبائی ، K لائن کی مدت وغیرہ پیرامیٹرز۔ تاکہ یہ مختلف اقسام کی خصوصیات کے مطابق ہو۔
ٹریکنگ سٹاپ میکانیزم کو بہتر بنائیں ، مثال کے طور پر ، متحرک ٹریکنگ اسٹاپ کو فکسڈ کرالنگ اسٹاپ کے بجائے استعمال کریں۔
مشین لرننگ الگورتھم کو شامل کرنا ، جو سگنل کے معیار کو بہتر بنانے کے لئے اہم قیمتوں کے علاقوں کی طاقت اور کمزوری کا اندازہ لگانے کے لئے تاریخی اعداد و شمار کا استعمال کرتا ہے۔
ٹائم سائیکلز کی حکمت عملی میں توسیع کرتے ہوئے ، اعلی ٹائم سائیکلوں میں رجحانات کا اندازہ لگائیں اور کم ٹائم سائیکلوں میں اس کا سراغ لگائیں۔
یہ حکمت عملی قیمت کے اہم نکات پر مبنی ہے۔ یہ سادہ اور بدیہی ہے ، اور عام تجارتی عادات کا استعمال کرتے ہوئے تجارتی سگنل تیار کرتی ہے۔ حکمت عملی کے مواقع کافی ہیں ، لیکن جعلی توڑنے سے نمٹنے کے لئے مزید اصلاح کی ضرورت ہے۔ پیرامیٹرز کی اصلاح اور مشین لرننگ جیسے ذرائع حکمت عملی کی استحکام کو بڑھا سکتے ہیں۔ یہ حکمت عملی دن کے اندر مختصر لائنوں کی تجارت کے لئے نظریہ فراہم کرسکتی ہے ، اور اس کو ایک سائیکل کے دوران رجحانات کی پیروی کرنے کی حکمت عملی میں بھی بڑھایا جاسکتا ہے۔
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Strategy based on the idea that stop loss and take profit are often placed at full price levels or round numbers, whcih acts as resistance and supports levels
//Buy Rules:
//Actual price (close) is above round number.
//Round number level was not touched in previous ten bars (arbitrary value).
//Place a buy and follow the order with a trail step because price can bounce at round number (support) or can go through it.
//Sell Rules are the same of buy rules but inverted.
//
//Need improvement on conditions' logic and round numbers definitions
strategy("dP magnet", overlay=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)
//Round Levels credit to RKchartest
roundLevel50 = input(500, 'Round Level 1, pips')
//roundLevel100 = input(1000, 'Round Level 2, pips')
deviation = input(1000, 'Max distance, pips', minval=0)
rDelimeter = 1/syminfo.mintick
intRoundLevel = close[1] * rDelimeter
intRemainder = intRoundLevel % roundLevel50
toRound = (intRemainder >= roundLevel50/2) ? roundLevel50 : 0
roundLevel = (intRoundLevel - intRemainder + toRound) / rDelimeter
plot(roundLevel, title='Round Level 1', color=black, style=line, transp=0, linewidth=1, trackprice=false)
//intRemainder2 = intRoundLevel % roundLevel100
//toRound2 = (intRemainder2 >= roundLevel100/2) ? roundLevel100 : 0
//roundLevel2 = (intRoundLevel - intRemainder2 + toRound2) / rDelimeter
//plot((abs(roundLevel2 - close) * rDelimeter < deviation) ? roundLevel2 : na, title='Round Level 2', color=black, style=circles, transp=0, linewidth=1, trackprice=true)
// end
//Start of strategy
distToFullNumber=(close-roundLevel) //can be positive or negative number
distPips=input(100,'Distance in pips to full level',minval=10) //user defined: this distance defines when to open an order at market price
TrailS=input(20,'Trail Step points',minval=10) //trail step that follows the order
longCondition = iff(distToFullNumber>0 and abs(distToFullNumber)<=distPips and lowest(low,10)>roundLevel,true,false)
if (longCondition)
strategy.entry("LongMagnet", strategy.long)
strategy.exit("ExitMagnet","LongMagnet",trail_points=TrailS)
shortCondition = iff(distToFullNumber<0 and abs(distToFullNumber)<=distPips and highest(high,10)<roundLevel,true,false)
if (shortCondition)
strategy.entry("ShortMagnet", strategy.short)
strategy.exit("Exit_Magnet","ShortMagnet",trail_points=TrailS)