
تین یا چار K لائنوں کو توڑنے کی واپسی کی حکمت عملی K لائنوں پر تیزی سے بڑھنے والی تین K لائنوں یا چار K لائنوں کی نشاندہی کرکے ، ان کے بعد کی چھوٹی چھوٹی K لائنوں کی حمایت یا دباؤ کے بعد ، جب K لائنوں کی واپسی ہوتی ہے تو اس کا مقابلہ کرنے والی تجارت کی حکمت عملی ہے۔
اس حکمت عملی میں شناخت کی بنیادی منطق مندرجہ ذیل حصوں پر مشتمل ہے:
K لائن کی نشاندہی کریں جس میں نمایاں اضافہ ہوا ہے ((گیپ بار): اوسطا 1.5 گنا سے زیادہ اے ٹی آر کو توڑنا ، جس کا جسمانی حصہ 0.65 سے زیادہ ہے۔ اس K لائن کو مضبوط اتار چڑھاؤ کی حیثیت سے سمجھا جاتا ہے۔
K لائنوں کو جمع کرنے والی سلاخوں کی شناخت کریں: K لائنیں جو گیپ بار کے پیچھے 1 سے 2 چھوٹے اتار چڑھاؤ کی پیروی کرتی ہیں ، ان کی اونچائی یا نچلے حصے گیپ بار کے قریب ہوتے ہیں۔ یہ K لائنیں رجحانات کو کم کرنے اور جمع کرنے کی نمائندگی کرتی ہیں ، جس سے معاونت یا دباؤ پیدا ہوتا ہے۔
ریورس سگنل K لائن کی شناخت: K لائن کو مرتب کرنے کے بعد ، اگر کوئی ادارہ پچھلے K لائنوں کی اونچائی یا کم کی K لائنوں کو توڑتا ہے تو ، اسے ریورس سگنل سمجھا جاسکتا ہے ، جس میں ادارے کی سمت کے مطابق زیادہ یا کم کرنے کا فیصلہ کیا جاتا ہے ، اس K لائن پر پوزیشن کھولی جائے۔
سٹاپ نقصان اور سٹاپ: سٹاپ نقصان کا تعین Gap K لائن کم سے کم یا زیادہ سے زیادہ ہے ۔ سٹاپ نقصان کی بنیاد پر سٹاپ نقصان کی طرف سے ضرب کی ترتیب کے نقصان کا تناسب ہے ۔
اس حکمت عملی کے چند اہم فوائد ہیں:
کسی بھی اشارے پر انحصار کیے بغیر ، رجحانات اور الٹ پوائنٹس کا تعین کرنے کے لئے K لائن کی اپنی خصوصیات کا استعمال کرتے ہوئے ، پومپیو اشارے خود بینڈ پومپیو کو نافذ کیا گیا ہے۔
Gap Bar اور Collecting Bar کے سکریننگ کے شرائط سخت ہیں اور حقیقی رجحانات اور مجموعوں کی شناخت کے لئے موثر ہیں۔
ریورس سگنل کا فیصلہ ایکٹیت پر مبنی ہوتا ہے ، جس سے غلط سگنل کا امکان کم ہوتا ہے۔
صرف 3-4 K لائنوں کا مجموعہ ایک ٹرانزیکشن مکمل کرسکتا ہے، وقت کی مدت مختصر ہے، فریکوئنسی زیادہ ہے۔
اسٹاپ اور نقصان کی ترتیب واضح ہے ، اور واپسی اور منافع اور نقصان کا تناسب آسانی سے کنٹرول کیا جاسکتا ہے۔
اس حکمت عملی کے کچھ خطرات یہ ہیں:
پیرامیٹرز کی ترتیب کے معیار پر منحصر ہے ، اگر پیرامیٹرز بہت زیادہ نرمی سے ترتیب دیئے جائیں تو ، جعلی سگنل اور پیسہ ضائع کرنے کے امکانات بڑھ جاتے ہیں۔
ہائی فریکوئنسی جعلی توڑنے کی طرف سے آسانی سے مداخلت کی جا سکتی ہے، تمام جعلی سگنل کو مؤثر طریقے سے فلٹر کرنے میں ناکام.
اس کے علاوہ ، اگر آپ کے پاس بہت زیادہ وقت نہیں ہے تو ، آپ کو اپنے آپ کو نقصان پہنچانے کا خطرہ لاحق ہے۔
اسٹاپ نقصان کی حد بڑی ہے ، اور انفرادی طور پر بندش کا امکان زیادہ نقصان کا سبب بن سکتا ہے۔
ان خطرات کو کم کرنے کے لئے، آپ کو مندرجہ ذیل طریقوں سے بہتر بنانے کی ضرورت ہے:
گیپ بار اور جمع کرنے والی بار کی شناخت کو بہتر بنانے کے لئے پیرامیٹرز کو بہتر بنائیں۔
فلٹر شامل کریں اور ریورس K لائن کی دوبارہ تصدیق کے بعد پوزیشن کھولیں۔
اسٹاپ نقصان کے الگورتھم کو بہتر بنانا تاکہ اسٹاپ نقصان کو قیمت کے قریب اور نقصان کو زیادہ کنٹرول کیا جاسکے۔
اس حکمت عملی میں کچھ اہم اصلاحات بھی ہیں:
کمپاؤنڈ فلٹرز کو شامل کریں ، تاکہ جعلی توڑنے والی مداخلت سے بچا جاسکے۔ مثال کے طور پر ، لین دین کی مقدار کے اشارے کو شامل کریں ، صرف اس صورت میں تجارت کے اشارے پر غور کریں جب لین دین کی مقدار میں اضافہ ہو۔
میڈین لائن اشارے کے ساتھ مل کر ، صرف تب ہی تجارتی سگنل پر غور کریں جب قیمت اہم میڈین لائنوں (جیسے 20 دن کی لائن ، 60 دن کی لائن) کو توڑ دے۔
ایک سے زیادہ ٹائم فریم کی توثیق ، صرف ایک ہی وقت میں ایک سے زیادہ سائیکل سگنل دینے پر ہی پوزیشن کھولی جاتی ہے۔
اسٹاپ شرائط کو بہتر بنائیں ، مارکیٹ میں اتار چڑھاؤ کی سطح اور خطرے کی ترجیحات کے مطابق منافع اور نقصان کی شرح کو متحرک کریں۔
اس حکمت عملی کا استعمال صرف رجحان ساز مارکیٹ کے ماحول میں کیا جاتا ہے ، جس میں مارکیٹ کے فاریکس ٹریڈنگ کے فوائد اور نقصانات کا اندازہ لگانے کا نظام شامل ہے۔
ان اصلاحات سے حکمت عملی کی استحکام اور منافع کی امکانات میں مزید بہتری آسکتی ہے۔
تین چار کے لائن کو توڑنے والی الٹ حکمت عملی اعلی معیار کے رجحان کے ممکنہ حصے اور الٹ سگنل کی نشاندہی کرکے تجارت کرتی ہے۔ آپریٹنگ سائیکل مختصر ، اعلی تعدد ، اور زبردست اضافی منافع حاصل کرنے کی امید ہے۔ اس کے ساتھ ساتھ ، کچھ خطرات بھی موجود ہیں ، خطرے کو کم کرنے اور استحکام کو بہتر بنانے کے لئے بہتر بنانے کی ضرورت ہے۔ مجموعی طور پر ، حکمت عملی نے اپنے ہی ٹریڈ آؤٹ لک کی خصوصیت کے فیصلے کے رجحانات اور الٹ پوائنٹس کا موثر استعمال کیا ہے ، اور اس کی مزید تحقیق اور اطلاق کے قابل ہے۔
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Three (3)-Bar and Four (4)-Bar Plays Strategy", shorttitle="Three (3)-Bar and Four (4)-Bar Plays Strategy", overlay=true, calc_on_every_tick=true, currency=currency.USD, default_qty_value=1.0,initial_capital=30000.00,default_qty_type=strategy.percent_of_equity)
frommonth = input(defval = 1, minval = 01, maxval = 12, title = "From Month")
fromday = input(defval = 1, 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")
garBarSetting1 = input(defval = 1.5, minval = 0.0, maxval = 100.0, title = "Gap Bar Size", type = input.float)
garBarSetting2 = input(defval = 0.65, minval = 0.0, maxval = 100.0, title = "Gap Bar Body Size", type = input.float)
TopSetting = input(defval = 0.10, minval = 0.0, maxval = 100.0, title = "Bull Top Bar Size", type = input.float)
profitMultiplier = input(defval = 2.0, minval = 1.0, maxval = 100.0, title = "Profit Multiplier", type = input.float)
// ========== 3-Bar and 4-Bar Play Setup ==========
barSize = abs(high - low)
bodySize = abs(open - close)
gapBar = (barSize > (atr(1000) * garBarSetting1)) and (bodySize >= (barSize * garBarSetting2)) // find a wide ranging bar that is more than 2.5x the size of the average bar size and body is at least 65% of bar size
bullTop = close > close[1] + barSize[1] * TopSetting ? false : true // check if top of bar is relatively equal to top of the gap bar (first collecting bull bar)
bullTop2 = close > close[2] + barSize[2] * TopSetting ? false : true // check if top of bar is relatively equal to top of the gap bar (first collecting bear bar)
bearTop = close < close[1] - barSize[1] * TopSetting ? false : true // check if top of bar is relatively equal to top of the gap bar (second collecting bull bar)
bearTop2 = close < close[2] - barSize[2] * TopSetting ? false : true // check if top of bar is relatively equal to top of the gap bar (second collecting bear bar)
collectingBarBull = barSize < barSize[1] / 2 and low > close[1] - barSize[1] / 2 and bullTop // find a collecting bull bar
collectingBarBear = barSize < barSize[1] / 2 and high < close[1] + barSize[1] / 2 and bearTop // find a collecting bear bar
collectingBarBull2 = barSize < barSize[2] / 2 and low > close[2] - barSize[2] / 2 and bullTop2 // find a second collecting bull bar
collectingBarBear2 = barSize < barSize[2] / 2 and high < close[2] + barSize[2] / 2 and bearTop2 // find a second collecting bear bar
triggerThreeBarBull = close > close[1] and close > close[2] and high > high[1] and high > high[2] // find a bull trigger bar in a 3 bar play
triggerThreeBarBear = close < close[1] and close < close[2] and high < high[1] and high < high[2] // find a bear trigger bar in a 3 bar play
triggerFourBarBull = close > close[1] and close > close[2] and close > close[3] and high > high[1] and high > high[2] and high > high[3] // find a bull trigger bar in a 4 bar play
triggerFourBarBear = close < close[1] and close < close[2] and close < close[3] and high < high[1] and high < high[2] and high < high[3] // find a bear trigger bar in a 4 bar play
threeBarSetupBull = gapBar[2] and collectingBarBull[1] and triggerThreeBarBull // find 3-bar Bull Setup
threeBarSetupBear = gapBar[2] and collectingBarBear[1] and triggerThreeBarBear // find 3-bar Bear Setup
fourBarSetupBull = gapBar[3] and collectingBarBull[2] and
collectingBarBull2[1] and triggerFourBarBull // find 4-bar Bull Setup
fourBarSetupBear = gapBar[3] and collectingBarBear[2] and
collectingBarBear2[1] and triggerFourBarBear // find 4-bar Bear Setup
labels = input(title="Show Buy/Sell Labels?", type=input.bool, defval=true)
plotshape(threeBarSetupBull and labels, title="3-Bar Bull", text="3-Bar Play", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
plotshape(threeBarSetupBear and labels, text="3-Bar Bear", title="3-Bar Play", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
plotshape(fourBarSetupBull and labels, title="4-Bar Bull", text="4-Bar Play", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
plotshape(fourBarSetupBear and labels, text="4-Bar Bear", title="4-Bar Play", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
alertcondition(threeBarSetupBull or threeBarSetupBear or fourBarSetupBull or fourBarSetupBear, title="3-bar or 4-bar Play", message="Potential 3-bar or 4-bar Play")
float sl = na
float tp = na
sl := nz(sl[1], 0.0)
tp := nz(tp[1], 0.0)
plot(sl==0.0?na:sl,title='SL', color = color.red)
plot(tp==0.0?na:tp,title='TP', color = color.green)
if (true)
if threeBarSetupBull and strategy.position_size <=0
strategy.entry("3 Bar Long", strategy.long, when=threeBarSetupBull)
sl :=low[1]
if threeBarSetupBear and strategy.position_size >=0
strategy.entry("3 Bar Short", strategy.short, when=threeBarSetupBull)
sl :=high[1]
if fourBarSetupBull and strategy.position_size <=0
strategy.entry("4 Bar Long", strategy.long, when=fourBarSetupBull)
sl :=min(low[1], low[2])
if fourBarSetupBear and strategy.position_size >=0
strategy.entry("4 Bar Short", strategy.short, when=fourBarSetupBear)
sl :=max(high[1], high[2])
if sl !=0.0
if strategy.position_size > 0
tp := strategy.position_avg_price + ((strategy.position_avg_price - sl) * profitMultiplier)
strategy.exit(id="Exit", limit=tp, stop=sl)
if strategy.position_size < 0
tp := strategy.position_avg_price - ((sl - strategy.position_avg_price) * profitMultiplier)
strategy.exit(id="Exit", limit=tp, stop=sl)