یہ حکمت عملی رجحان کی سمت کا تعین کرنے اور رجحانات کی پیروی کرنے کے لئے اوسط سمت انڈیکس (ADX) ، سمت کی تحریک انڈیکس (DMI) اور کموڈٹی چینل انڈیکس (CCI) سمیت رفتار کے اشارے استعمال کرتی ہے۔ جب ADX اور رجحان کے اشارے رجحان کی تصدیق کرتے ہیں تو یہ پوزیشنوں میں داخل ہوتا ہے ، اور CCI زیادہ سے زیادہ ہوتا ہے۔
ADX، DMI اور CCI اشارے کا حساب لگائیں.
رجحان کی سمت کا تعین کریں.
پوزیشن میں داخل.
سٹاپ نقصان کے ساتھ باہر نکلنے کی پوزیشن.
ADX کمزور رجحانات کے دوران ٹریڈنگ کو فلٹر کرتا ہے۔
ڈی ایم آئی رجحان کی نشاندہی میں غلطیوں کو کم کرتا ہے۔
سی سی آئی کی حد سے زیادہ توسیع میں داخل ہونا وقت کو بہتر بناتا ہے اور خطرے کو کم کرتا ہے۔
رفتار کے اشارے کو یکجا کرنے سے درستگی میں اضافہ ہوتا ہے۔
اسٹاپ نقصان کی حد ہر تجارت کے نقصان کی حد.
جب ADX گرتا ہے تو Whipsaws. کافی مضبوط رجحان کو یقینی بنانے کے لئے ADX کی حد بڑھانے.
ڈی ایم آئی رجحان کے ابتدائی مرحلے میں پیچھے رہ جاتا ہے۔ مواقع کی نشاندہی کرنے کے لئے دوسرے تجزیات شامل کریں۔
اعلی سی سی آئی ٹریڈنگ فریکوئنسی سی سی آئی رینج کو شور فلٹر کرنے کے لئے وسیع کریں.
مارکیٹ غیر جانبدار حکمت عملی پر غور کریں جب طویل اور مختصر، مجموعی پوزیشن کے خطرے کو ہیج کرنے کے لئے.
شور فلٹرنگ اور پکڑنے کے رجحان کو متوازن کرنے کے لئے ADX پیرامیٹرز کو بہتر بنائیں.
تاخیر اور حساسیت کو متوازن کرنے کے لئے ڈی ایم آئی پیرامیٹرز کو بہتر بنائیں.
تجارت کی تعدد کو متوازن کرنے اور واپسیوں کو پکڑنے کے لئے سی سی آئی پیرامیٹرز کو بہتر بنائیں۔
بہتر مجموعوں کے لئے اشارے کا اضافہ یا ترمیم کرنے کا ٹیسٹ کریں۔ مثال کے طور پر MACD ، KDJ۔
بہترین فٹ تلاش کرنے کے لیے مختلف مصنوعات پر ٹیسٹ کریں۔
رجحان کی پیروی کو برقرار رکھتے ہوئے خطرے کو کنٹرول کرنے کے لئے پوزیشن سائزنگ کو بہتر بنائیں.
حکمت عملی منطقی طور پر رجحان کے لئے 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))))