
یہ حکمت عملی تیزی سے بڑھنے والے اسٹاک کی شناخت کرکے اور نئی بلندیوں کو توڑنے پر زیادہ پوزیشن بناتے ہوئے ، مقررہ فیصد اسٹاپ کا استعمال کرتے ہوئے منافع کماتی ہے۔ یہ حکمت عملی رجحانات کی پیروی کرنے والی حکمت عملی ہے۔
یہ حکمت عملی بنیادی طور پر دو اشارے پر مبنی ہے:
فاسٹ آر ایس آئی: قیمت کی حرکیات کا اندازہ لگانے کے لئے حالیہ 3 K لائنوں میں اتار چڑھاؤ کی تبدیلیوں کا حساب لگائیں۔ جب فاسٹ آر ایس آئی 10 سے کم ہو تو ، اسٹاک کو اوور بیسڈ سمجھا جاتا ہے۔
پرائمری فلٹرنگ: حالیہ 20 K لائنوں کے اداروں کے اوسط سائز کا حساب لگائیں ، جب قیمت والے ادارے اوسط ادارے سے 2.5 گنا بڑے ہوں تو ، ایک مؤثر توڑ سمجھا جاتا ہے۔
جب فوری آر ایس آئی 10 سے کم ہو اور جسمانی فلٹرنگ موثر ہو تو ، زیادہ پوزیشن کھولیں۔ اس کے بعد 20٪ کی فکسڈ اسٹاپ پوائنٹ پوزیشن طے کی جائے ، جب قیمت پوزیشن کھولنے کی قیمت سے زیادہ ہو۔*(1 + اسٹاپ اسٹاپ تناسب) جب ، پوزیشن کو بند کردیں.
اس حکمت عملی کا فائدہ یہ ہے کہ رجحان کے آغاز کے مرحلے میں توڑنے کے مواقع کو پکڑنے کے لئے ، تیزی سے آر ایس آئی کے ذریعہ نیچے والے علاقے کا فیصلہ کرنے کے لئے ، جعلی توڑنے سے بچنے کے لئے جسمانی فلٹرنگ۔ ہر ایک منافع کو مقفل کرنے کے لئے ایک مقررہ اسٹاپ کا طریقہ اپنائیں ، جو مارکیٹ کے رجحان کو مستقل طور پر پکڑ سکے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
فوری آر ایس آئی کا استعمال کرتے ہوئے ، نیچے کی حد سے تجاوز کرنے والے علاقوں کا اندازہ لگانے سے انٹری کی درستگی میں بہتری آسکتی ہے۔
بنیادی فلٹرنگ میکانیزم زلزلے کی وجہ سے جعلی توڑنے سے بچنے کے لئے.
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس طرح کی سرمایہ کاری کے لئے ، آپ کو ایک مقررہ فی صد کی روک تھام کا طریقہ اپنانا ہوگا ، جس سے آپ کو مسلسل منافع مل سکے گا اور آپ کو رجحانات کا اندازہ ہوگا۔
حکمت عملی کی منطق سادہ اور واضح ہے اور اس پر عملدرآمد کو سمجھنے میں آسان ہے۔
کوڈ کا ڈھانچہ خوبصورت ، توسیع پذیر اور حکمت عملی کو بہتر بنانے میں آسان ہے۔
اس حکمت عملی نے ایک مستحکم مثبت منافع حاصل کیا اور اس کی شرح زیادہ ہے۔
اس حکمت عملی کے کچھ خطرات بھی ہیں جن کے بارے میں آگاہ ہونا ضروری ہے:
اس حکمت عملی میں کوئی اسٹاپ نقصان کا طریقہ کار نہیں ہے ، جس سے ایک ہی نقصان میں اضافے کا خطرہ ہے۔
فکسڈ اسٹاپ پوائنٹ کی جگہ کی غلط ترتیب سے قبل از وقت اسٹاپ یا اسٹاپ پوائنٹ کی گہرائی ہوسکتی ہے۔
جب حالات میں ہلچل ہوتی ہے تو ، مسلسل چھوٹے نقصانات کا سامنا کرنا پڑتا ہے۔
فنانسنگ لائیوسینج لاگت کو مدنظر نہ رکھتے ہوئے ، فکسڈ ٹائم آمدنی میں کمی واقع ہوگی۔
حکمت عملی کے پیرامیٹرز کو بہتر بنانے میں ناکافی ہے ، مختلف اقسام کو پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے۔
یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔
نقصانات کو روکنے کے لئے اضافی طریقہ کار، جو انفرادی نقصانات کو کنٹرول کرتا ہے.
اسٹاپ پوائنٹ بیٹس کو بہتر بنائیں تاکہ یہ رجحانات کو متحرک طور پر ٹریک کرسکے۔
انٹری کی درستگی کو بہتر بنانے کے لئے انٹری کے فیصلے کے اشارے کو بہتر بنائیں۔
پوزیشن مینجمنٹ ماڈیول شامل کریں اور پوزیشن قبضے کو بہتر بنائیں۔
مختلف اقسام کے پیرامیٹرز کو خود بخود بہتر بنانے کے لئے نسل پیرامیٹرز کو بہتر بنانے کے ماڈیول کو شامل کریں۔
فلٹرنگ کی شرائط کو بڑھانا تاکہ مارکیٹ میں ہلچل سے بچنے کے لئے نقصانات کو کم کیا جاسکے۔
پوزیشن کی اوسط لاگت کے انتظام کے ماڈیول کو شامل کرنے پر غور کریں۔
یہ حکمت عملی مجموعی طور پر ایک بہت ہی سادہ اور خوبصورت رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ تیز رفتار آر ایس آئی فیصلے کو اوورلوڈ کا استعمال کرتا ہے ، جسمانی فلٹرنگ کو موثر توڑنے کا تعین کرتا ہے ، اور مستحکم منافع حاصل کرنے کے لئے فکسڈ اسٹاپ پوائنٹ کی جگہ لیتا ہے۔ اگرچہ کچھ قابل اصلاح جگہ موجود ہے ، لیکن یہ حکمت عملی چست ردعمل ہے ، جو حالات میں تیزی سے تبدیلی کے منظرناموں کو پکڑنے کے لئے موزوں ہے۔ یہ ایک بہت ہی عملی تجارتی حکمت عملی ہے۔ مسلسل اصلاح کے ذریعہ ، یقین ہے کہ یہ ایک مضبوط اور قابل اعتماد طویل لائن پوزیشن رکھنے والی حکمت عملی بن سکتی ہے۔
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// this is based on https://www.tradingview.com/v/PbQW4mRn/
strategy(title = "ONLY LONG V4 v1", overlay = true, initial_capital = 1000, pyramiding = 1000,
calc_on_order_fills = false, calc_on_every_tick = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_value = 0.075)
//study(title = "ONLY LONG V4 v1", overlay = true)
//Fast RSI
src = close
fastup = rma(max(change(src), 0), 3)
fastdown = rma(-min(change(src), 0), 3)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//Body Filter
body = abs(close - open)
abody = sma(body, 20)
mac = sma(close, 20)
len = abs(close - mac)
sma = sma(len, 100)
max = max(open, close)
min = min(open, close)
up = close < open and len > sma * 2 and min < min[1] and fastrsi < 10 and body > abody * 2.5
// Strategy
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
var bool longCondition = na
longCondition := up == 1 ? 1 : na
// Get the price of the last opened long
var float last_open_longCondition = na
last_open_longCondition := longCondition ? close : nz(last_open_longCondition[1])
// Get the bar time of the last opened long
var int last_longCondition = 0
last_longCondition := longCondition ? time : nz(last_longCondition[1])
// Take profit
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
tp = input(20, "TAKE PROFIT %", type = input.float, minval = 0, step = 0.5)
long_tp = crossover(high, (1+(tp/100))*last_open_longCondition) and not longCondition
// Get the time of the last tp close
var int last_long_tp = na
last_long_tp := long_tp ? time : nz(last_long_tp[1])
Final_Long_tp = long_tp and last_longCondition > nz(last_long_tp[1])
// Count your long conditions
var int sectionLongs = 0
sectionLongs := nz(sectionLongs[1])
var int sectionTPs = 0
sectionTPs := nz(sectionTPs[1])
// Longs Counter
if longCondition
sectionLongs := sectionLongs + 1
sectionTPs := 0
if Final_Long_tp
sectionLongs := 0
sectionTPs := sectionTPs + 1
// Signals
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
// Long
// label.new(
// x = longCondition[1] ? time : na,
// y = na,
// text = 'LONG'+tostring(sectionLongs),
// color=color.lime,
// textcolor=color.black,
// style = label.style_labelup,
// xloc = xloc.bar_time,
// yloc = yloc.belowbar,
// size = size.tiny)
// Tp
// label.new(
// x = Final_Long_tp ? time : na,
// y = na,
// text = 'PROFIT '+tostring(tp)+'%',
// color=color.orange,
// textcolor=color.black,
// style = label.style_labeldown,
// xloc = xloc.bar_time,
// yloc = yloc.abovebar,
// size = size.tiny)
ltp = iff(Final_Long_tp, (last_open_longCondition*(1+(tp/100))), na), plot(ltp, style=plot.style_cross, linewidth=3, color = color.white, editable = false)
// Backtesting
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
testStartYear = input(2019, "BACKTEST START YEAR", minval = 1, maxval = 2222)
testStartMonth = input(01, "BACKTEST START MONTH", minval = 1, maxval = 12)
testStartDay = input(01, "BACKTEST START DAY", minval = 1, maxval = 31)
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
strategy.entry("long", strategy.long, when = longCondition and (time >= testPeriodStart))
strategy.exit("TP", "long", limit = (last_open_longCondition*(1+(tp/100))))
// Alerts
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
alertcondition(longCondition[1], title="Long Alert", message = "LONG")
alertcondition(Final_Long_tp, title="Long TP Alert", message = "LONG TP")