رفتار اشارے طویل مختصر حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-02 16:34:48
ٹیگز:

img

جائزہ

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

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

  1. ADX، DMI اور CCI اشارے کا حساب لگائیں.

    • ADX رجحان کی طاقت کا اندازہ کرتا ہے۔ ایک اعلی ADX ایک مضبوط رجحان کی نشاندہی کرتا ہے۔
    • ڈی ایم آئی میں ڈی آئی + اور ڈی آئی - شامل ہے۔ ڈی آئی + میں اپ ٹرینڈ کی طاقت ظاہر ہوتی ہے جبکہ ڈی آئی - میں ڈاؤن ٹرینڈ کی طاقت ظاہر ہوتی ہے۔ اگر ڈی آئی + ڈی آئی - سے زیادہ ہے تو ، یہ ایک اپ ٹرینڈ ہے ، اور اس کے برعکس۔
    • CCI overbought/oversold levels کا جائزہ لیتا ہے۔ -100 سے نیچے oversold ہے جبکہ 100 سے اوپر overbought ہے۔
  2. رجحان کی سمت کا تعین کریں.

    • جب DI+ DI- سے اوپر گزرتا ہے تو ، ایک اپ ٹرینڈ کی نشاندہی کی جاتی ہے۔
    • جب DI- DI+ سے نیچے گزرتا ہے تو ، ایک نیچے کا رجحان شناخت کیا جاتا ہے۔
  3. پوزیشن میں داخل.

    • جب اپ ٹرینڈ بنتا ہے تو، ADX اعلی ہے، اور CCI < -100، طویل ہو جاتا ہے.
    • جب نیچے کا رجحان ہوتا ہے تو، ADX زیادہ ہے، اور CCI > 100، مختصر ہو جاتا ہے.
  4. سٹاپ نقصان کے ساتھ باہر نکلنے کی پوزیشن.

    • جب طویل ہو تو، جب DI- DI+ سے نیچے ہو تو باہر نکلیں.
    • جب مختصر ہو تو، جب DI + DI- سے اوپر سے گزرتا ہے تو باہر نکلیں.

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

  1. ADX کمزور رجحانات کے دوران ٹریڈنگ کو فلٹر کرتا ہے۔

  2. ڈی ایم آئی رجحان کی نشاندہی میں غلطیوں کو کم کرتا ہے۔

  3. سی سی آئی کی حد سے زیادہ توسیع میں داخل ہونا وقت کو بہتر بناتا ہے اور خطرے کو کم کرتا ہے۔

  4. رفتار کے اشارے کو یکجا کرنے سے درستگی میں اضافہ ہوتا ہے۔

  5. اسٹاپ نقصان کی حد ہر تجارت کے نقصان کی حد.

خطرات اور ہیجنگ

  1. جب ADX گرتا ہے تو Whipsaws. کافی مضبوط رجحان کو یقینی بنانے کے لئے ADX کی حد بڑھانے.

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

  3. اعلی سی سی آئی ٹریڈنگ فریکوئنسی سی سی آئی رینج کو شور فلٹر کرنے کے لئے وسیع کریں.

  4. مارکیٹ غیر جانبدار حکمت عملی پر غور کریں جب طویل اور مختصر، مجموعی پوزیشن کے خطرے کو ہیج کرنے کے لئے.

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

  1. شور فلٹرنگ اور پکڑنے کے رجحان کو متوازن کرنے کے لئے ADX پیرامیٹرز کو بہتر بنائیں.

  2. تاخیر اور حساسیت کو متوازن کرنے کے لئے ڈی ایم آئی پیرامیٹرز کو بہتر بنائیں.

  3. تجارت کی تعدد کو متوازن کرنے اور واپسیوں کو پکڑنے کے لئے سی سی آئی پیرامیٹرز کو بہتر بنائیں۔

  4. بہتر مجموعوں کے لئے اشارے کا اضافہ یا ترمیم کرنے کا ٹیسٹ کریں۔ مثال کے طور پر MACD ، KDJ۔

  5. بہترین فٹ تلاش کرنے کے لیے مختلف مصنوعات پر ٹیسٹ کریں۔

  6. رجحان کی پیروی کو برقرار رکھتے ہوئے خطرے کو کنٹرول کرنے کے لئے پوزیشن سائزنگ کو بہتر بنائیں.

نتیجہ

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


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

//@version=4
strategy("ADX Strategy", currency = "USD", initial_capital = 1000, overlay=true)
adxlen = input(9, title="ADX Smoothing")
dilen = input(14, title="DI Length")
ADX_Entry = input(25, title="ADX Entry")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) => 
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	[adx, plus, minus]

[sig, up, down] = adx(dilen, adxlen)
cci_length = input(20, minval=1, title="CCI Length")
cci_ma = sma(close, cci_length)
cci = (close - cci_ma) / (0.015 * dev(close, cci_length))

stop_loss = syminfo.mintick * 100


open_longs = strategy.position_size > 0
open_shorts = strategy.position_size < 0

possible_bull = false
possible_bull := not open_longs ? (possible_bull[1] and not crossunder(up,down) ? true : false) : false
possible_bear = false
possible_bear := not open_shorts ? (possible_bear[1] and not crossunder(down,up) ? true : false) : false



bool bull_entry = crossover(up,down)

if(bull_entry and up < ADX_Entry and cci < 0)
	possible_bull := true
	bull_entry := false

if(possible_bull and up > ADX_Entry and cci > -100)
	bull_entry := true

bool bear_entry = crossover(down,up)

if(bear_entry and down < ADX_Entry and cci > 0)
	possible_bear := true
	bear_entry := false

if(possible_bear and down >= ADX_Entry and cci < 100)
	bear_entry := true

strategy.entry("Short", strategy.short, qty = 1,comment="Short", stop=high[1] - stop_loss, when = bear_entry)
strategy.entry("Long", strategy.long, qty = 1, comment="Long", stop=low[1] - stop_loss, when = bull_entry )	

strategy.close_all(when = (open_shorts and (crossover(up,down) or crossover(sig,down))) or (open_longs and ( crossover(down,up) or crossover(sig, up))))


مزید