سوراخ کرنے والی پن بار الٹ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-25 12:29:29
ٹیگز:

img

جائزہ

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

اصول

اندراج کے اشارے

اس حکمت عملی کے لئے انٹری سگنل پین باروں کو سوراخ کرنا ہے۔ خاص طور پر ، ایک سگنل اس وقت شروع ہوتا ہے جب:

  1. پن بار حرکت پذیر اوسطوں کے ذریعے گھس جاتا ہے: اوپر کی طرف بڑھتی ہوئی سلاخیں نیچے کی طرف بڑھتی ہوئی ایم اے کو گھستی ہیں ، یا نیچے کی طرف بڑھتی ہوئی ایم اے کو گھسنے والی bearish سلاخیں

اس طرح کا مجموعہ زیادہ تر شور کو فلٹر کرنے کو یقینی بناتا ہے اور انٹری کی درستگی میں اضافہ کرتا ہے۔

رجحان کی تعریف

نقصان کو روکنے کا طریقہ کار

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

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

اعلی کارکردگی داخل

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

سم کے نتائج اس طریقہ کار کو لاگو کرنے کے بعد پاگل منافع دکھاتے ہیں ، جس میں متعدد جوڑوں کے لئے 1000٪ سے زیادہ کی کل واپسی ہوتی ہے ، اور ہر تجارت پر زیادہ سے زیادہ منافع ابتدائی خطرہ سے 100 گنا زیادہ ہوتا ہے۔ منافع کو نئی بلندیوں تک پہنچایا جاتا ہے۔

خطرے کا تجزیہ

زیادہ فٹنس کا خطرہ

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

اس کے علاوہ، مختصر دو سالہ ٹیسٹ کی مدت میں مارکیٹ کی ساخت کی تبدیلیوں کو بھی شامل نہیں کیا جاسکتا ہے جو حقیقی نتائج کو متاثر کرسکتے ہیں.

پیچھے رہ جانے کے خطرات

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

ٹریلنگ سٹاپ پیرامیٹرز کو ایڈجسٹ کریں

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

ٹیسٹ ٹائم فریم میں اضافہ کرنے سے پیرامیٹر کی استحکام کی جانچ پڑتال میں بھی مدد ملتی ہے۔

ایم اے کی مدت کو بہتر بنائیں

مثال کے طور پر، تیز رفتار اور درمیانے درجے کے ایم اے کی مدت کے درمیان فرق میں اضافہ، یا ایم اے کے تعامل کے طریقے کو تبدیل کرنا.

نتیجہ


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Time Frame: H1
strategy("Pin Bar Magic v1", overlay=true)

// User Input
usr_risk = input(title="Equity Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=3,confirm=false)
atr_mult = input(title="Stop Loss (x*ATR, Float)",type=input.float,minval=0.1,maxval=100,step=0.1,defval=0.5,confirm=false)
slPoints = input(title="Stop Loss Trail Points (Pips)",type=input.integer,minval=1,maxval=1000,step=1,defval=1,confirm=false)
slOffset = input(title="Stop Loss Trail Offset (Pips)",type=input.integer,minval=1,maxval=1000,step=1,defval=1,confirm=false)
sma_slow = input(title="Slow SMA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=50,confirm=false)
ema_medm = input(title="Medm EMA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=18,confirm=false)
ema_fast = input(title="Fast EMA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=6,confirm=false)
atr_valu = input(title="ATR (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=14,confirm=false)
ent_canc = input(title="Cancel Entry After X Bars (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=3,confirm=false)

// Create Indicators
slowSMA = sma(close, sma_slow)
medmEMA = ema(close, ema_medm)
fastEMA = ema(close, ema_fast)
bullishPinBar = ((close > open) and ((open - low) > 0.66 * (high - low))) or ((close < open) and ((close - low) > 0.66 * (high - low)))
bearishPinBar = ((close > open) and ((high - close) > 0.66 * (high - low))) or ((close < open) and ((high - open) > 0.66 * (high - low)))
atr = atr(atr_valu)

// Specify Trend Conditions
fanUpTrend = (fastEMA > medmEMA) and (medmEMA > slowSMA)
fanDnTrend = (fastEMA < medmEMA) and (medmEMA < slowSMA)

// Specify Piercing Conditions
bullPierce = ((low < fastEMA) and (open > fastEMA) and (close > fastEMA)) or ((low < medmEMA) and (open > medmEMA) and (close > medmEMA)) or ((low < slowSMA) and (open > slowSMA) and (close > slowSMA))
bearPierce = ((high > fastEMA) and (open < fastEMA) and (close < fastEMA)) or ((high > medmEMA) and (open < medmEMA) and (close < medmEMA)) or ((high > slowSMA) and (open < slowSMA) and (close < slowSMA))
    
// Specify Entry Conditions
longEntry = fanUpTrend and bullishPinBar and bullPierce
shortEntry = fanDnTrend and bearishPinBar and bearPierce

// Long Entry Function
enterlong() =>
    risk = usr_risk * 0.01 * strategy.equity
    stopLoss = low[1] - atr[1] * atr_mult
    entryPrice = high[1]
    units = risk / (entryPrice - stopLoss)
    strategy.entry("long", strategy.long, units, stop=entryPrice)
    strategy.exit("exit long", from_entry="long", trail_points=slPoints, trail_offset=slOffset)
    
// Short Entry Function
entershort() =>
    risk = usr_risk * 0.01 * strategy.equity
    stopLoss = high[1] + atr[1] * atr_mult
    entryPrice = low[1]
    units = risk / (stopLoss - entryPrice)
    strategy.entry("short", strategy.short, units, stop=entryPrice)
    strategy.exit("exit short", from_entry="short", trail_points=slPoints, trail_offset=slOffset)
    
// Execute Long Entry
if (longEntry)
    enterlong()

// Execute Short Entry
if (shortEntry)
    entershort() 
    
// Cancel the Entry if Bar Time is Exceeded
strategy.cancel("long", barssince(longEntry) > ent_canc)
strategy.cancel("short", barssince(shortEntry) > ent_canc)

// Force Close During Certain Conditions
strategy.close_all(when = hour==16 and dayofweek==dayofweek.friday, comment = "exit all, market-closed")
strategy.close_all(when = crossunder(fastEMA, medmEMA), comment = "exit long, re-cross")
strategy.close_all(when = crossover(fastEMA, medmEMA), comment = "exit short, re-cross")

// Plot Moving Averages to Chart
plot(fastEMA, color=color.red)
plot(medmEMA, color=color.blue)
plot(slowSMA, color=color.green)

// Plot Pin Bars to Chart
plotshape(bullishPinBar, text='Bull PB', style=shape.labeldown, location=location.abovebar, color=color.green, textcolor=color.white, transp=0)
plotshape(bearishPinBar, text='Bear PB', style=shape.labelup, location=location.belowbar, color=color.red, textcolor=color.white, transp=0)

// Plot Days of Week
plotshape(hour==0 and dayofweek==dayofweek.monday, text='Monday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.tuesday, text='Tuesday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.wednesday, text='Wednesday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.thursday, text='Thursday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.friday, text='Friday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==16 and dayofweek==dayofweek.friday, text='Market Closed', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)









مزید