کینڈل سٹک پیٹرن کی حکمت عملی


تخلیق کی تاریخ: 2023-11-27 18:26:52 آخر میں ترمیم کریں: 2023-11-27 18:26:52
کاپی: 2 کلکس کی تعداد: 695
1
پر توجہ دیں
1617
پیروکار

کینڈل سٹک پیٹرن کی حکمت عملی

جائزہ

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

حکمت عملی کا اصول

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

bullish_engulfing = high[0]>high[1] and low[0]<low[1] and open[0]<open[1] and close[0]>close[1] and close[0]>open[0] and close[1]<close[2] and close[0]>open[1]

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

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

طاقت کا تجزیہ

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

خطرات اور حل

  • ٹنڈر کی شکل ہمیشہ قابل اعتماد سگنل نہیں ہے

حل: ٹرینڈ اشارے کے ساتھ مل کر ، اتار چڑھاؤ کی مارکیٹوں میں استعمال سے گریز کریں

  • ایک ہی شکل میں غلط سگنل ہوسکتا ہے

حل: موڈل سگنل کو مناسب طریقے سے فلٹر کرنے کے لئے بہت کم وقت

  • غلط پیرامیٹرز کی ترتیب نقصان کو بڑھا سکتا ہے

حل: سٹاپ نقصان اور اسٹاپ پیرامیٹرز کو سختی سے خطرے کی برداشت کے مطابق سیٹ کریں

اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-11-19 00:00:00
end: 2023-11-24 02:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//DanyChe
//The script allows you to test popular candlestick patterns on various instruments and timeframes. In addition, you can configure risk management (if the value is zero, it means the function is disabled), and you can also specify the time of the trading session (for example, so that the positions are not transferred to the next day). 
//The author is grateful to JayRogers and Phi35, their code examples helped a lot in writing the strategy.
strategy("Candle Patterns Strategy", shorttitle="CPS", overlay=true)

//--- Patterns Input ---

OnEngulfing = input(defval=true, title="Engulfing")
OnHarami = input(defval=true, title="Harami")
OnPiercingLine = input(defval=true, title="Piercing Line / Dark Cloud Cover")
OnMorningStar = input(defval=true, title="Morning Star / Evening Star ")
OnBeltHold = input(defval=true, title="Belt Hold")
OnThreeWhiteSoldiers = input(defval=true, title="Three White Soldiers / Three Black Crows")
OnThreeStarsInTheSouth = input(defval=true, title="Three Stars in the South")
OnStickSandwich = input(defval=true, title="Stick Sandwich")
OnMeetingLine = input(defval=true, title="Meeting Line")
OnKicking = input(defval=true, title="Kicking")
OnLadderBottom = input(defval=true, title="Ladder Bottom")

//--- Risk Management Input ---

inpsl = input(defval = 100, title="Stop Loss", minval = 0)
inptp = input(defval = 1000, title="Take Profit", minval = 0)
inptrail = input(defval = 40, title="Trailing Stop", minval = 0)
// If the zero value is set for stop loss, take profit or trailing stop, then the function is disabled
sl = inpsl >= 1 ? inpsl : na
tp = inptp >= 1 ? inptp : na
trail = inptrail >= 1 ? inptrail : na

//--- Session Input ---

sess = input(defval = "0000-0000", title="Trading session")
t = time('60', sess)
session_open = na(t) ? false : true

// --- Candlestick Patterns ---

//Engulfing 
bullish_engulfing = high[0]>high[1] and low[0]<low[1] and open[0]<open[1] and close[0]>close[1] and close[0]>open[0] and close[1]<close[2] and close[0]>open[1] ? OnEngulfing : na
bearish_engulfing = high[0]>high[1] and low[0]<low[1] and open[0]>open[1] and close[0]<close[1] and close[0]<open[0] and close[1]>close[2] and close[0]<open[1] ? OnEngulfing : na

//Harami
bullish_harami =  open[1]>close[1] and close[1]<close[2] and open[0]>close[1] and open[0]<open[1] and close[0]>close[1] and close[0]<open[1] and high[0]<high[1] and low[0]>low[1] and close[0]>=open[0] ? OnHarami : na
bearish_harami =   open[1]<close[1] and close[1]>close[2] and open[0]<close[1] and open[0]>open[1] and close[0]<close[1] and close[0]>open[1] and high[0]<high[1] and low[0]>low[1] and close[0]<=open[0] ? OnHarami : na

//Piercing Line/Dark Cloud Cover 
piercing_line = close[2]>close[1] and open[0]<low[1] and close[0]>avg(open[1],close[1]) and close[0]<open[1] ? OnPiercingLine : na
dark_cloud_cover = close[2]<close[1] and open[0]>high[1] and close[0]<avg(open[1],close[1]) and close[0]>open[1] ? OnPiercingLine : na

//Morning Star/Evening Star
morning_star = close[3]>close[2] and close[2]<open[2] and open[1]<close[2] and close[1]<close[2] and open[0]>open[1] and open[0]>close[1] and close[0]>close[2] and open[2]-close[2]>close[0]-open[0] ? OnMorningStar : na
evening_star = close[3]<close[2] and close[2]>open[2] and open[1]>close[2] and close[1]>close[2] and open[0]<open[1] and open[0]<close[1] and close[0]<close[2] and close[2]-open[2]>open[0]-close[0] ? OnMorningStar : na

//Belt Hold
bullish_belt_hold = close[1]<open[1] and low[1]>open[0] and close[1]>open[0] and open[0]==low[0] and close[0]>avg(close[0],open[0]) ? OnBeltHold :na
bearish_belt_hold =  close[1]>open[1] and high[1]<open[0] and close[1]<open[0] and open[0]==high[0] and close[0]<avg(close[0],open[0]) ? OnBeltHold :na

//Three White Soldiers/Three Black Crows 
three_white_soldiers = close[3]<open[3] and open[2]<close[3] and close[2]>avg(close[2],open[2]) and open[1]>open[2] and open[1]<close[2] and close[1]>avg(close[1],open[1]) and open[0]>open[1] and open[0]<close[1] and close[0]>avg(close[0],open[0]) and high[1]>high[2] and high[0]>high[1] ? OnThreeWhiteSoldiers : na
three_black_crows =  close[3]>open[3] and open[2]>close[3] and close[2]<avg(close[2],open[2]) and open[1]<open[2] and open[1]>close[2] and close[1]<avg(close[1],open[1]) and open[0]<open[1] and open[0]>close[1] and close[0]<avg(close[0],open[0]) and low[1]<low[2] and low[0]<low[1] ? OnThreeWhiteSoldiers : na

//Three Stars in the South
three_stars_in_the_south = open[3]>close[3] and open[2]>close[2] and open[2]==high[2] and open[1]>close[1] and open[1]<open[2] and open[1]>close[2] and low[1]>low[2] and open[1]==high[1] and open[0]>close[0] and open[0]<open[1] and open[0]>close[1] and open[0]==high[0] and close[0]==low[0] and close[0]>=low[1] ? OnThreeStarsInTheSouth : na

//Stick Sandwich
stick_sandwich = open[2]>close[2] and open[1]>close[2] and open[1]<close[1] and open[0]>close[1] and open[0]>close[0] and close[0]==close[2] ? OnStickSandwich : na

//Meeting Line 
bullish_ml = open[2]>close[2] and open[1]>close[1] and close[1]==close[0] and open[0]<close[0] and open[1]>=high[0] ? OnMeetingLine : na
bearish_ml = open[2]<close[2] and open[1]<close[1] and close[1]==close[0] and open[0]>close[0] and open[1]<=low[0] ? OnMeetingLine : na

//Kicking 
bullish_kicking =  open[1]>close[1] and open[1]==high[1] and close[1]==low[1] and open[0]>open[1] and open[0]==low[0] and close[0]==high[0] and close[0]-open[0]>open[1]-close[1] ? OnKicking : na
bearish_kicking = open[1]<close[1] and open[1]==low[1] and close[1]==high[1] and open[0]<open[1] and open[0]==high[0] and close[0]==low[0] and open[0]-close[0]>close[1]-open[1] ? OnKicking : na

//Ladder Bottom
ladder_bottom = open[4]>close[4] and open[3]>close[3] and open[3]<open[4] and open[2]>close[2] and open[2]<open[3] and open[1]>close[1] and open[1]<open[2] and open[0]<close[0] and open[0]>open[1] and low[4]>low[3] and low[3]>low[2] and low[2]>low[1] ? OnLadderBottom : na

// ---Plotting ---

plotshape(bullish_engulfing, text='Engulfing', style=shape.triangleup, color=#1FADA2, editable=true, title="Bullish Engulfing Text")
plotshape(bearish_engulfing,text='Engulfing', style=shape.triangledown, color=#F35A54, editable=true, title="Bearish Engulfing Text")
plotshape(bullish_harami,text='Harami', style=shape.triangleup, color=#1FADA2, editable=true, title="Bullish Harami Text")
plotshape(bearish_harami,text='Harami', style=shape.triangledown, color=#F35A54, editable=true, title="BEarish Harami Text")
plotshape(piercing_line,text='Piercing Line', style=shape.triangleup, color=#1FADA2, editable=false)
plotshape(dark_cloud_cover,text='Dark Cloud Cover', style=shape.triangledown, color=#F35A54, editable=false)
plotshape(morning_star,text='Morning Star', style=shape.triangleup, color=#1FADA2, editable=false)
plotshape(evening_star,text='Evening Star', style=shape.triangledown, color=#F35A54, editable=false)
plotshape(bullish_belt_hold,text='Belt Hold', style=shape.triangleup, color=#1FADA2, editable=false)    
plotshape(bearish_belt_hold,text='Belt Hold', style=shape.triangledown, color=#F35A54, editable=false)
plotshape(three_white_soldiers,text='Three White Soldiers', style=shape.triangleup, color=#1FADA2, editable=false)
plotshape(three_black_crows,text='Three Black Crows', style=shape.triangledown, color=#F35A54, editable=false)
plotshape(three_stars_in_the_south,text='3 Stars South', style=shape.triangleup, color=#1FADA2, editable=false)
plotshape(stick_sandwich,text='Stick Sandwich', style=shape.triangleup, color=#1FADA2, editable=false)
plotshape(bullish_ml,text='Meeting Line', style=shape.triangleup, color=#1FADA2, editable=false)
plotshape(bearish_ml,text='Meeting Line', style=shape.triangledown, color=#F35A54, editable=false)
plotshape(bullish_kicking,text='Kicking', style=shape.triangleup, color=#1FADA2, editable=false)
plotshape(bearish_kicking,text='Kicking', style=shape.triangledown, color=#F35A54, editable=false)
plotshape(ladder_bottom,text='Ladder Bottom', style=shape.triangleup, color=#1FADA2, editable=false)

// --- STRATEGY ---

SignalUp = bullish_engulfing or bullish_harami or piercing_line or morning_star or bullish_belt_hold or three_white_soldiers or three_stars_in_the_south or stick_sandwich or bullish_ml or bullish_kicking or ladder_bottom
SignalDown = bearish_engulfing or bearish_harami or dark_cloud_cover or evening_star or bearish_belt_hold or three_black_crows or bearish_ml or bearish_kicking

strategy.entry("long", true, when = SignalUp and session_open)
strategy.entry("short", false, when = SignalDown and session_open)
strategy.close("long", when = not session_open)
strategy.close("short", when = not session_open)
strategy.exit("Risk Exit long", from_entry = "long", profit = tp, trail_points = trail, loss = sl)
strategy.exit("Risk Exit short", from_entry = "short", profit = tp, trail_points = trail, loss = sl )