یہ حکمت عملی ایک جدید تجارتی نظام ہے جو متحرک ٹریلنگ اسٹاپس ، رسک - انعام تناسب ، اور آر ایس آئی انتہائی باہر نکلنے کو یکجا کرتا ہے۔ یہ تجارت میں داخل ہونے کے لئے مخصوص نمونوں (متوازی بار پیٹرن اور پن بار پیٹرن) کی نشاندہی کرتا ہے ، جبکہ متحرک اسٹاپ نقصان کی جگہ کے لئے اے ٹی آر اور حالیہ کم استعمال کرتا ہے ، اور پہلے سے طے شدہ رسک - انعام تناسب کی بنیاد پر منافع کے اہداف کا تعین کرتا ہے۔ یہ نظام آر ایس آئی پر مبنی مارکیٹ اوور بک / اوور سیل آؤٹ میکانزم کو بھی شامل کرتا ہے۔
بنیادی منطق میں کئی اہم اجزاء شامل ہیں:
یہ ایک اچھی طرح سے ڈیزائن کردہ تجارتی حکمت عملی ہے جو ایک مکمل تجارتی نظام کی تعمیر کے لئے متعدد پختہ تکنیکی تجزیہ تصورات کو جوڑتی ہے۔ اس حکمت عملی کی طاقت اس کے جامع رسک مینجمنٹ سسٹم اور لچکدار تجارتی قوانین میں ہے ، جبکہ پیرامیٹر کی اصلاح اور مارکیٹ کی موافقت پر توجہ دینے کی ضرورت ہے۔ تجویز کردہ اصلاح کی سمتوں کے ذریعے ، حکمت عملی میں مزید بہتری کی گنجائش ہے۔
/*backtest start: 2024-11-10 00:00:00 end: 2024-12-09 08:00:00 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ZenAndTheArtOfTrading | www.TheArtOfTrading.com // @version=5 strategy("Trailing stop 1", overlay=true) // Get user input int BAR_LOOKBACK = input.int(10, "Bar Lookback") int ATR_LENGTH = input.int(14, "ATR Length") float ATR_MULTIPLIER = input.float(1.0, "ATR Multiplier") rr = input.float(title="Risk:Reward", defval=3) // Basic definition var float shares=na risk = 1000 var float R=na E = strategy.position_avg_price // Input option to choose long, short, or both side = input.string("Long", title="Side", options=["Long", "Short", "Both"]) // RSI exit option RSIexit = input.string("Yes", title="Exit at RSI extreme?", options=["Yes", "No"]) RSIup = input(75) RSIdown = input(25) // Get indicator values float atrValue = ta.atr(ATR_LENGTH) // Calculate stop loss values var float trailingStopLoss = na float longStop = ta.lowest(low, BAR_LOOKBACK) - (atrValue * ATR_MULTIPLIER) float shortStop = ta.highest(high, BAR_LOOKBACK) + (atrValue * ATR_MULTIPLIER) // Check if we can take trades bool canTakeTrades = not na(atrValue) bgcolor(canTakeTrades ? na : color.red) //Long pattern //Two pin bar onepinbar = (math.min(close,open)-low)/(high-low)>0.6 and math.min(close,open)-low>ta.sma(high-low,14) twopinbar = onepinbar and onepinbar[1] notatbottom = low>ta.lowest(low[1],10) // Parallel bigred = (open-close)/(high-low)>0.8 and high-low>ta.sma(high-low,14) biggreen = (close-open)/(high-low)>0.8 and high-low>ta.sma(high-low,14) parallel = bigred[1] and biggreen atbottom = low==ta.lowest(low,10) // Enter long trades (replace this entry condition) longCondition = parallel if (longCondition and canTakeTrades and strategy.position_size == 0 and (side == "Long" or side == "Both")) R:= close-longStop shares:= risk/R strategy.entry("Long", strategy.long,qty=shares) // Enter short trades (replace this entry condition) shortCondition = parallel if (shortCondition and canTakeTrades and strategy.position_size == 0 and (side == "Short" or side == "Both")) R:= shortStop - close shares:= risk/R strategy.entry("Short", strategy.short,qty=shares) // Update trailing stop if (strategy.position_size > 0) if (na(trailingStopLoss) or longStop > trailingStopLoss) trailingStopLoss := longStop else if (strategy.position_size < 0) if (na(trailingStopLoss) or shortStop < trailingStopLoss) trailingStopLoss := shortStop else trailingStopLoss := na // Exit trades with trailing stop strategy.exit("Long Exit", "Long", stop=trailingStopLoss, limit = E + rr*R ) strategy.exit("Short Exit", "Short", stop=trailingStopLoss, limit = E - rr*R) //Close trades at RSI extreme if ta.rsi(high,14)>RSIup and RSIexit == "Yes" strategy.close("Long") if ta.rsi(low,14)<RSIdown and RSIexit == "Yes" strategy.close("Short") // Draw stop loss plot(trailingStopLoss, "Stop Loss", color.red, 1, plot.style_linebr)