ٹرینڈنگ درواس باکس حکمت عملی ایک قلیل مدتی تجارتی حکمت عملی ہے جو مارکیٹ کے رجحانات کو پکڑنے کے لئے درواس باکس چینل کا استعمال کرتی ہے۔ بنیادی طریقہ کار مارکیٹ کی رفتار کا تعین کرنے اور تجارتی مواقع تلاش کرنے کے لئے درواس باکس اشارے پر انحصار کرتا ہے۔ جب قیمت باکس کے اوپری حصے سے اوپر ہوتی ہے تو یہ لمبی ہوتی ہے ، اور جب قیمت باکس کے نیچے سے نیچے ہوتی ہے تو مختصر ہوجاتی ہے۔ اس کے علاوہ ، یہ حکمت عملی استحکام کو بڑھانے کے لئے دیگر معاون اشارے کا بھی استعمال کرتی ہے۔
اندراجات اس وقت کیے جاتے ہیں جب مذکورہ بالا تمام اشارے اس کی اجازت دیتے ہیں۔ اسٹاپ نقصان ڈارواس باکس کے مخالف بینڈ پر مقرر کیا جاتا ہے۔ باہر نکلنے کا انتظام آر وی آئی سمت کے ساتھ کیا جاتا ہے۔
خطرہ کو کم کرنے کے لئے اسٹاپ نقصان کو سخت کرسکتے ہیں۔ اس کے علاوہ سگنل کو مؤثر طریقے سے اسکرین کرنے کے لئے معاون پیرامیٹرز کو بھی بہتر بنانے کی ضرورت ہے۔
خلاصہ میں ، ٹرینڈنگ دروس باکس حکمت عملی ایک جارحانہ تجارتی حکمت عملی ہے جس کا مقصد قلیل مدتی رجحانات ہے۔ یہ دروس باکس چینل کے ساتھ رجحان کی تبدیلیوں کو تیزی سے پکڑتا ہے ، جبکہ معاون اشارے درستگی کو بہتر بنانے میں مدد کرتے ہیں۔ اس حکمت عملی کے لئے رسک / انعامی پروفائل مثبت ہے ، اس کو اپنانے اور مسلسل اصلاحات کے قابل ہے۔
/*backtest start: 2023-11-26 00:00:00 end: 2023-12-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © xxy_theone // https://www.youtube.com/watch?v=YYxlnFOX9sQ // This strategy script has been made to backtest the strategy explained in the video above //@version=5 strategy(shorttitle = "Darvas Box Test", title="TradeIQ Darvas Box Test", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=100, currency=currency.USD) // === INPUT BACKTEST RANGE === var GRP1 = "Backtest Range" fromDate = input(timestamp("7 Mar 2022 00:00 +0000"), "From", group=GRP1) toDate = input(timestamp("19 Mar 2022 23:59 +0000"), "To", group=GRP1) window() => true var GRP3 = "Darvas Box" boxp=input(5, "Box Length", group=GRP3) LL = ta.lowest(low,boxp) k1=ta.highest(high,boxp) k2=ta.highest(high,boxp-1) k3=ta.highest(high,boxp-2) NH = ta.valuewhen(high>k1[1],high,0) box1 =k3<k2 TopBox = ta.valuewhen(ta.barssince(high>k1[1])==boxp-2 and box1, NH, 0) BottomBox = ta.valuewhen(ta.barssince(high>k1[1])==boxp-2 and box1, LL, 0) plot(TopBox, linewidth=3, color=color.green, title="TBbox") plot(BottomBox, linewidth=3, color=color.red, title="BBbox") var GRP4 = "MavilimW" fmal=input(3,"First Moving Average length", group=GRP4) smal=input(5,"Second Moving Average length", group=GRP4) tmal=fmal+smal Fmal=smal+tmal Ftmal=tmal+Fmal Smal=Fmal+Ftmal M1= ta.wma(close, fmal) M2= ta.wma(M1, smal) M3= ta.wma(M2, tmal) M4= ta.wma(M3, Fmal) M5= ta.wma(M4, Ftmal) MAVW= ta.wma(M5, Smal) col1= MAVW>MAVW[1] col3= MAVW<MAVW[1] colorM = col1 ? color.blue : col3 ? color.red : color.yellow plot(MAVW, color=colorM, linewidth=2, title="MAVW") var GRP5 = "Relative Vigor Index" len = input.int(10, title="Length", minval=1, group=GRP5) rvi = math.sum(ta.swma(close-open), len)/math.sum(ta.swma(high-low),len) sig = ta.swma(rvi) offset = input.int(0, "Offset", minval = -500, maxval = 500, group=GRP5) //plot(rvi, color=#008000, title="RVGI", offset = offset) //plot(sig, color=#FF0000, title="Signal", offset = offset) var longStopSet = false long = ta.crossover(close,TopBox) and close > MAVW ? true : false longClose = strategy.opentrades.profit(strategy.opentrades-1)>0 and ta.crossunder(rvi,sig) ? true : false strategy.entry("Long Position", strategy.long, when = long and window() and strategy.position_size==0 and strategy.closedtrades<100) if(longStopSet==false and strategy.position_size > 0) strategy.exit("exit", "Long Position", stop=BottomBox) longStopSet := true if(strategy.position_size==0) longStopSet := false strategy.close("Long Position", when = longClose) var shortStopSet = false short = ta.crossunder(close,BottomBox) and close < MAVW ? true : false shortClose = strategy.opentrades.profit(strategy.opentrades-1)>0 and ta.crossover(rvi,sig) ? true : false strategy.entry("Short Position", strategy.short, when = short and window() and strategy.position_size==0 and strategy.closedtrades<100) if(shortStopSet==false and strategy.position_size < 0) strategy.exit("exit", "Short Position", stop=TopBox) shortStopSet := true if(strategy.position_size==0) shortStopSet := false strategy.close("Short Position", when = shortClose)