سوراخ کرنے والی پن بار الٹ پھیر کی حکمت عملی ایک رجحان ٹریڈنگ کی حکمت عملی ہے جو قلیل مدتی قیمت کے نمونوں پر مبنی ہے۔ یہ رجحان کی سمت کا تعین کرنے کے لئے حرکت پذیر اوسط کے ساتھ مل کر سگنل کے طور پر پن باروں کا استعمال کرتی ہے ، تاکہ اعلی صحت سے متعلق اندراج حاصل کیا جاسکے۔ یہ انتہائی اعلی منافع بخش ہونے کے لئے ایک انوکھا ٹریلنگ اسٹاپ میکانزم بھی استعمال کرتی ہے۔
اس حکمت عملی کے لئے انٹری سگنل پین باروں کو سوراخ کرنا ہے۔ خاص طور پر ، ایک سگنل اس وقت شروع ہوتا ہے جب:
اس طرح کا مجموعہ زیادہ تر شور کو فلٹر کرنے کو یقینی بناتا ہے اور انٹری کی درستگی میں اضافہ کرتا ہے۔
یہ حکمت عملی ایک منفرد ٹریلنگ اسٹاپ نقصان میکانزم کا استعمال کرتی ہے۔ اندراج کے بعد ، ٹریلنگ پوائنٹس اور آفسیٹ کے لئے صارف کی وضاحت کردہ اقدار کی بنیاد پر زیادہ سے زیادہ اسٹاپ نقصان پوائنٹس کا سراغ لگایا جاتا ہے۔ اس سے خطرہ پر قابو پاتے ہوئے قبضہ شدہ منافع کو زیادہ سے زیادہ کرنے کی اجازت ملتی ہے۔
منفرد ٹریلنگ اسٹاپ اس حکمت عملی کا سب سے بڑا نمایاں مقام ہے۔ یہ زیادہ سے زیادہ قبضہ شدہ منافع کو یقینی بناتے ہوئے ، فی تجارت کی بنیاد پر ایک چھوٹی سی حد کے اندر اسٹاپ نقصان کو درست طریقے سے کنٹرول کرتا ہے۔
سم کے نتائج اس طریقہ کار کو لاگو کرنے کے بعد پاگل منافع دکھاتے ہیں ، جس میں متعدد جوڑوں کے لئے 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)