وسائل لوڈ ہو رہے ہیں... لوڈنگ...

رفتار توازن چینل ٹرینڈ ٹریکنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-12 18:07:31
ٹیگز:

img

جائزہ

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

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

حکمت عملی بنیادی طور پر مندرجہ ذیل دو اشارے کا استعمال کرتی ہے:

  1. رفتار اشارے (ڈی ایم آئی): مارکیٹ میں طویل اور مختصر رجحان کا فیصلہ کریں اور جب انڈیکس مقررہ حد سے زیادہ ہو تو تجارتی سگنل تیار کریں۔

  2. توازن چینل (کلٹنر چینل): رجحان کا علاقہ طے کریں۔ جب قیمت اوپری ریل سے ٹوٹ جاتی ہے تو ، خریدنے کا وقت ہوتا ہے ، اور جب قیمت وسط ریل سے نیچے آجاتی ہے تو ، یہ پوزیشن بند کرنے کا اشارہ ہے۔

مخصوص تجارتی منطق یہ ہے کہ: جب + ڈی آئی رفتار اشارے مقررہ حد (ڈیفالٹ 32) سے زیادہ ہے تو ، یہ طے ہوتا ہے کہ ایک تیزی کا رجحان تشکیل پاگیا ہے۔ اس وقت ، اگر قیمت توازن چینل کی اوپری ریل سے ٹوٹ جاتی ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ اس کے بعد ، توازن چینل استعمال کیا جاتا ہے۔ وسط ریل کو اسٹاپ نقصان کو ٹریک کرنے اور منافع کے تحفظ کو حاصل کرنے کے لئے اسٹاپ نقصان لائن کے طور پر استعمال کیا جاتا ہے۔

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

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

  1. حکمت عملی میں مارکیٹ کے رجحانات کے ابتدائی مرحلے کا تعین کرنے کے لئے رفتار کے اشارے استعمال کیے جاتے ہیں ، جو سادہ حرکت پذیر اوسط جیسے پسماندہ اشارے سے زیادہ موثر ہے۔

  2. مخصوص ٹریڈنگ رینج کا تعین کرنے کے لئے توازن چینل کا استعمال مؤثر طریقے سے منافع زون کو مقفل کرسکتا ہے۔

  3. اشارے کے پیرامیٹرز اور ٹریڈنگ کے قوانین سخت اور معقول ہیں، اور بیک ٹیسٹ کے اعداد و شمار اچھی کارکردگی کا مظاہرہ کرتے ہیں اور اصل جنگی اثر کی تصدیق کرتے ہیں.

  4. حکمت عملی نسبتا سادہ اور واضح ہے، سمجھنے اور لاگو کرنے میں آسان ہے، اور مقداری ٹریڈنگ کے beginners سیکھنے کے لئے موزوں ہے.

  5. اس حکمت عملی کا خطرہ قابو میں ہے، اور یہ مؤثر طریقے سے واحد نقصان کو کنٹرول کرنے کے لئے میڈین لائن کے ساتھ متحرک سٹاپ نقصان کو اپناتا ہے.

خطرے کا تجزیہ

  1. یہ حکمت عملی صرف رجحان سازی والے بازاروں کے لئے موزوں ہے اور مستحکم اور اتار چڑھاؤ والے بازاروں کے لئے موزوں نہیں ہے۔ اگر کیو ٹی کور چینل بڑھتا ہے اور درمیانی ریل اسٹاپ نقصان بہت لچکدار ہے تو ، یہ نقصان کو کنٹرول نہیں کرسکتا ہے۔

  2. ڈی ایم آئی اشارے میں ایک خاص تاخیر ہے اور یہ رجحان کی تصدیق کا تعین نہیں کرسکتا ہے۔ یہ رجحان میں پہلے مداخلت کرکے نقصانات کا سبب بن سکتا ہے۔

  3. فکسڈ فی صد سٹاپ نقصان کا طریقہ کار خطرات کا حامل ہے۔ یہ تیز اتار چڑھاؤ کے بعد رجحانات میں دوبارہ مداخلت کرنے کے قابل نہیں ہے ، اس طرح بعد کے رجحانات کو یاد کرتا ہے۔

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

اصلاح

  1. مختلف سٹاپ نقصان کے طریقوں کا تجربہ کیا جا سکتا ہے، جیسے ATR سٹاپ نقصان، منتقل سٹاپ نقصان اور اسی طرح مقررہ فی صد سٹاپ نقصان کی جگہ لے لے.

  2. رجحان کی تصدیق کے بعد اندراج کو یقینی بنانے کے لئے ثانوی تصدیق کے اشارے شامل کیے جاسکتے ہیں ، جیسے حجم میں اضافہ۔

  3. بہترین پیرامیٹر مجموعہ تلاش کرنے کے لئے مختلف پیرامیٹر مجموعے کی جانچ کی جاسکتی ہے۔

  4. پیرامیٹرز کی مضبوطی کو مرحلہ وار اصلاح اور واک فارورڈ ٹیسٹنگ کے ذریعے تصدیق کی جاسکتی ہے۔

خلاصہ

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


/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Original Idea by: @Wunderbit


//@version=4
strategy("Keltner Channel [LINKUSDT] 1H", overlay=true, initial_capital=3000,pyramiding = 0, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100,  commission_type=strategy.commission.percent,commission_value=0.1)


/// TREND
trend_cond = input(true, title="Enable Ribbon Filter")
ribbon_period = input(30, "Ribbon Period", step=1)

leadLine1 = ema(close, ribbon_period)
leadLine2 = sma(close, ribbon_period)

// p3 = plot(leadLine1, color= #53b987, title="EMA", transp = 50, linewidth = 1)
// p4 = plot(leadLine2, color= #eb4d5c, title="SMA", transp = 50, linewidth = 1)
// fill(p3, p4, transp = 60, color = leadLine1 > leadLine2 ? #53b987 : #eb4d5c)

//Upward Trend
UT=leadLine2 < leadLine1
DT=leadLine2 > leadLine1

///////////////////////////////////////INDICATORS

// KELTNER //
source       = close
useTrueRange = input(true)
length       = input(80, "KELTNER Period", step=1, minval=1)
mult         = input(3.0,"KELTNER Multiple", step=0.1)

// Calculate Keltner Channel
ma      = ema(source, length)
range   = useTrueRange ? tr : high - low
rangema = ema(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

plot(ma, title="Middle", color=color.orange)
p1=plot(upper, title="Upper", color=color.orange)
p2=plot(lower, title="Lower", color=color.orange)
fill(p1,p2)


// DMI INDICATOR //

lensig = input(14, title="ADX Smoothing", minval=1, maxval=50)
len = input(14, minval=1, title="DI Length")
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / trur)
minus = fixnan(100 * rma(minusDM, len) / trur)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)

trig_level=input(title="+DI Trigger Level", defval=32, minval=1,step=1)
//trig_level_adx=input(title="ADX Trigger Level", defval=30, minval=1,step=1)

//plot(adx, color=#FF006E, title="ADX")
//plot(plus, color=#0094FF, title="+DI")
//plot(minus, color=#FF6A00, title="-DI")
// plot(trig_level, color=color.white, title="Key Level")

///////////////////////////////////////////////////////////


////////////////////////////////////////////////////Component Code Start

testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2030, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
    
///// Component Code Stop //////////////////////////////////////////

//////////////// STRATEGY EXECUTION //////////////////////////

// STRATEGY CONDITION
// LONG

long = ((open > lower and open < upper) and close > upper) and plus > minus and plus > trig_level and volume[0] > volume[1]
entry_long = trend_cond ? long and UT : long
exit_long = (close < ma) //or low < SL_long

//LONG SET UP
// Take Profit / Stop Loss

entry_price_long=valuewhen(entry_long,close,0)
//SL_long = entry_price_long * (1 - long_sl_inp)

long_tp1_inp = input(8, title='Long Take Profit 1 Target %', step=0.1)/100
long_tp1_qty = input(20, title="Long Take Profit 1 Qty %", step=1)

long_tp2_inp = input(16, title='Long Take Profit 2 Target %', step=0.1)/100
long_tp2_qty = input(30, title="Long Take Profit 2 Qty %", step=1)

long_take_level_1 = strategy.position_avg_price * (1 + long_tp1_inp)
long_take_level_2 = strategy.position_avg_price * (1 + long_tp2_inp)

//long_sl_inp = input(4, title='Long Stop Loss %', step=0.1)/100
//long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)


// STRATEGY EXECUTION
if testPeriod()

    // LONG
    
    strategy.entry(id="Long", long=true, when=entry_long, comment = "INSERT ENTRY LONG COMMAND")
    strategy.exit("TP1","Long", qty_percent=long_tp1_qty, limit=long_take_level_1) // PLACE TAKE PROFIT IN WBT BOT SETTINGS 
    strategy.exit("TP2","Long", qty_percent=long_tp2_qty, limit=long_take_level_2) // PLACE TAKE PROFIT IN WBT BOT SETTINGS
    strategy.close(id="Long", when=exit_long, comment= "INSERT EXIT LONG COMMAND")


//PLOT FIXED SLTP LINE
// LONG POSITION
plot(strategy.position_size > 0 ? long_take_level_1 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="1st Long Take Profit")
plot(strategy.position_size > 0 ? long_take_level_2 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="2nd Long Take Profit")
//plot(strategy.position_size > 0 ? long_stop_level : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Stop Loss")

مزید