ٹرینڈنگ ڈارواس باکس مقداری تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-27 14:45:41
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

  • لمبائی پیرامیٹر کا استعمال کریں ڈاروس باکس کا سائز مقرر کرنے کے لئے، جو اس حکمت عملی میں ڈیفالٹ کے طور پر 5 بار ہے.
  • اعلی / کم بریکآؤٹس کی بنیاد پر رجحان کی سمت کا تعین کریں ، اور اس کے مطابق لمبی / مختصر پوزیشنیں لیں.
  • جب قیمت باکس ٹاپ کے اوپر ٹوٹ جاتی ہے تو ، سبز ٹاپ باکس لائن تیار کی جاتی ہے۔ یہ لمبا سگنل ہے۔
  • جب قیمت باکس کے نچلے حصے سے نیچے ہوتی ہے تو ، ایک سرخ نیچے باکس لائن تیار کی جاتی ہے۔ یہ مختصر سگنل ہے۔
  • ایک معاون اشارے کے طور پر حرکت پذیر اوسط نظام کا استعمال کریں۔ جب قیمت MAs سے اوپر ہو تو طویل عرصے تک جائیں ، اور MAs سے نیچے ہونے پر مختصر ہوجائیں۔
  • اوور بک / اوور سیل زون کی نشاندہی کرنے کے لئے آر وی آئی کا استعمال کریں۔ سگنل لائن کے اوپر آر وی آئی اوور بک کا اشارہ کرتا ہے۔ نیچے آر وی آئی اوور سیل کا اشارہ کرتا ہے۔

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

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

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

خطرے کا تجزیہ

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

خطرہ کو کم کرنے کے لئے اسٹاپ نقصان کو سخت کرسکتے ہیں۔ اس کے علاوہ سگنل کو مؤثر طریقے سے اسکرین کرنے کے لئے معاون پیرامیٹرز کو بھی بہتر بنانے کی ضرورت ہے۔

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

  • بہترین سائز تلاش کرنے کے لئے ٹیسٹ باکس کی لمبائی.
  • باکس کو بہترین فٹ کرنے کے لئے معاون پیرامیٹرز کو بہتر بنائیں.
  • سگنل کی مزید تصدیق کے لیے دیگر معاون اشارے آزمائیں، مثلاً KDJ، MACD۔
  • ٹیسٹ سٹاپ نقصان اور زیادہ استحکام کے لئے منافع کی ترتیبات لے لو.

نتیجہ

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


/*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)


مزید