یہ حکمت عملی اوور بک اور اوور سیل مارکیٹ کے حالات کی نشاندہی کرتی ہے جو آر ایس آئی اشارے کا استعمال کرتے ہوئے اوور بک زونوں میں bearish کراس اوورز پر مختصر اور اوور سیل زونوں میں بولش کراس اوورز پر طویل ہوجاتی ہے۔ یہ اشارے پر مبنی ریورس ٹریڈنگ کی حکمت عملی ہے۔ یہ حکمت عملی ٹریڈنگ کے خطرے کو مؤثر طریقے سے کنٹرول کرنے کے لئے ٹرینڈ ٹریلنگ اسٹاپس اور فکسڈ لے منافع / اسٹاپ نقصان کو شامل کرتی ہے۔
اس حکمت عملی کے تجارتی سگنل آر ایس آئی اشارے کے بولش / بیرش کراس اوورز کی بنیاد پر تیار کیے جاتے ہیں۔ آر ایس آئی اشارے عام طور پر 30 کو اوور سیلڈ لائن اور 70 کو اوور بکٹ لائن کے طور پر استعمال کرتا ہے۔ جب آر ایس آئی لائن اوور سیلڈ لائن سے اوپر عبور کرتی ہے تو ، خرید کا سگنل تیار ہوتا ہے۔ جب آر ایس آئی لائن اوور بکٹ لائن سے نیچے عبور کرتی ہے تو ، فروخت کا سگنل تیار ہوتا ہے۔ اس منطق کی بنیاد پر ، حکمت عملی اوور بکٹ اور اوور سیلڈ زون کی نشاندہی کرتی ہے اور اس سے متعلق لانگ / شارٹ سگنل تیار کرتی ہے۔
ایک پوزیشن میں داخل ہونے کے بعد ، یہ حکمت عملی مستقل طور پر حاصل کردہ اعلی ترین / کم ترین قیمت کو اپ ڈیٹ کرکے اور اس سے ایک مقررہ فیصد کو اسٹاپ نقصان کے طور پر پیچھے چھوڑ کر فیصد ٹریلنگ اسٹاپ کا استعمال کرتی ہے۔ جب ہدف منافع تک پہنچ جاتا ہے یا زیادہ سے زیادہ نقصان سے تجاوز ہوتا ہے تو پوزیشن کو بند کرنے کے لئے مقررہ منافع اور اسٹاپ نقصان کی سطح بھی ہوتی ہے۔ یہ امتزاج تجارتی خطرہ کو مؤثر طریقے سے کنٹرول کرسکتا ہے۔
اس حکمت عملی کے فوائد میں شامل ہیں:
زیادہ خریدنے / زیادہ فروخت کی سطح کی نشاندہی کرنے کے لئے RSI کا استعمال مارکیٹ کے موڑ کے مقامات کو قابل اعتماد طریقے سے پکڑنے کے لئے ایک پختہ تجارتی تکنیک ہے۔
بالش/بیئرش کراس اوور کا استعمال کچھ غلط سگنل کو فلٹر کرتا ہے اور تجارت کو زیادہ قابل اعتماد بنا دیتا ہے۔
ٹرینڈ ٹریلنگ اسٹاپ زیادہ سے زیادہ منافع میں مقفل ہوتا ہے ، جبکہ ہر تجارت میں نقصان کو روکنے کے لئے فوری اسٹاپ آؤٹ بھی ہوتے ہیں۔
ٹی پی/ایس ایل کی مقررہ سطحیں تجارت کے مطابق خطرے کو بھی مؤثر طریقے سے کنٹرول کرتی ہیں۔
مجموعی طور پر سادہ اور واضح منطق، سمجھنے اور لاگو کرنے کے لئے آسان، beginners کے لئے موزوں.
اس حکمت عملی کے خطرات میں شامل ہیں:
آر ایس آئی سگنل غلط ہو سکتے ہیں، پیٹرن کی ناکامی کے اعلی امکان کے ساتھ، سٹاپ نقصان ٹرگر کی قیادت.
فکسڈ ٹی پی/ایس ایل مارکیٹ کی اتار چڑھاؤ سے مطابقت نہیں رکھ سکتا، منافع کو کم کر سکتا ہے یا نقصانات کو چھوڑ سکتا ہے.
فی صد ٹریلنگ صرف سب سے زیادہ / سب سے کم قیمت کی پیروی کرتا ہے، منافع پیچھے چھوڑ کر بہت جارحانہ ہوسکتا ہے.
پیرامیٹرز کے طور پر اوور فٹنگ کے خطرے کو صرف تاریخی اعداد و شمار کے لئے بہتر بنایا جاسکتا ہے۔
اعلی تجارتی فریکوئنسی ٹرانزیکشن کی لاگت اور سلائڈج میں اضافہ کرتی ہے۔
حکمت عملی کو بہتر بنانے کے ممکنہ طریقے:
بہترین نتائج کے لئے RSI پیرامیٹرز کو بہتر بنائیں.
سگنل کی زیادہ درستگی کے لیے فلٹر اشارے شامل کریں۔
مارکیٹ کی اتار چڑھاؤ پر مبنی موافقت پذیر اسٹاپ / منافع.
ٹرانزیکشن لاگت کو کم کرنے کے لئے تجارت کی تعدد کو محدود کریں۔
ہر تجارت کے نقصان کو محدود کرنے کے لئے پوزیشن سائزنگ شامل کریں.
استحکام کی جانچ کے لیے طویل عرصے تک بیک ٹسٹ۔
خلاصہ یہ ہے کہ یہ ایک عام الٹ پلٹ کی حکمت عملی ہے جس میں اوور بُک / اوور سیل کی نشاندہی کرنے کے لئے آر ایس آئی کا استعمال کیا جاتا ہے ، جس میں اشارے کے طور پر بیل / ریچھ کراس اوور ہوتے ہیں۔ رجحان کے پیچھے رک جاتا ہے اور فکسڈ ٹی پی / ایس ایل خطرے کا انتظام کرتا ہے۔ منطق آسان اور لاگو کرنا آسان ہے ، ابتدائیوں کے لئے موزوں ہے۔ لیکن غلط اشاروں اور منحنی فٹنگ جیسے خطرات کو براہ راست تجارت سے پہلے مزید تصدیق اور اصلاح کے ذریعے حل کرنے کی ضرورت ہے۔
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // LOVE JOY PEACE PATIENCE KINDNESS GOODNESS FAITHFULNESS GENTLENESS SELF-CONTROL // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // Author: © JoshuaMcGowan // Taken from https://www.tradingview.com/script/GbZGYi6l-Adding-some-essential-components-to-a-prebuilt-RSI-strategy/ // Just updated to compile in version 4. //@version=4 strategy("Adding some essential components to a prebuilt RSI strategy", overlay=true) /////////////// Component Code Start /////////////// testStartYear = input(2011, "Backtest Start Year") testStartMonth = input(8, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2100, "Backtest Stop Year") testStopMonth = input(9, "Backtest Stop Month") testStopDay = input(29, "Backtest Stop Day") // testStopDay = testStartDay + 1 testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => true /////////////// Component Code Stop /////////////// // Replace RSI Component, Long/Short, and Long Signal/Short Signal conditions with your trade setup components. ///////////// RSI component ///////////// length = input( 14 ) overSold = input( 30 ) overBought = input( 70 ) price = close vrsi = rsi(price, length) notna = not na(vrsi) /////////////// STRATEGY /////////////// ts = input(99999, "Trailing Stop") / 100 tp = input(99999, "Take Profit") / 100 sl = input(99999, "Stop Loss") / 100 // Update this with your setup. long = notna and crossover(vrsi, overSold) short = notna and crossunder(vrsi, overBought) last_long = 0 last_short = 0 last_long := long ? time : nz(last_long[1]) last_short := short ? time : nz(last_short[1]) // Update this to reflect your setup. long_signal = crossover(last_long, last_short) short_signal = crossover(last_short, last_long) float last_open_long_signal = 0 float last_open_short_signal = 0 last_open_long_signal := long_signal ? open : nz(last_open_long_signal[1]) last_open_short_signal := short_signal ? open : nz(last_open_short_signal[1]) last_long_signal = 0 last_short_signal = 0 last_long_signal := long_signal ? time : nz(last_long_signal[1]) last_short_signal := short_signal ? time : nz(last_short_signal[1]) in_long_signal = last_long_signal > last_short_signal in_short_signal = last_short_signal > last_long_signal float last_high = 0 float last_low = 0 last_high := not in_long_signal ? na : in_long_signal and (na(last_high[1]) or high > nz(last_high[1])) ? high : nz(last_high[1]) last_low := not in_short_signal ? na : in_short_signal and (na(last_low[1]) or low < nz(last_low[1])) ? low : nz(last_low[1]) long_ts = not na(last_high) and high <= (last_high - ts) //and high >= last_open_long_signal short_ts = not na(last_low) and low >= (last_low + ts) //and low <= last_open_short_signal long_tp = high >= (last_open_long_signal + tp) short_tp = low <= (last_open_short_signal - tp) long_sl = low <= (last_open_long_signal - sl) short_sl = high >= (last_open_short_signal + sl) leverage = input(200, "Leverage") long_call = last_open_long_signal - (0.8 + 0.2 * (1/leverage)) / leverage * last_open_long_signal short_call = last_open_short_signal + (0.78 + 0.2 * (1/leverage)) / leverage * last_open_short_signal long_call_signal = low <= long_call short_call_signal = high >= short_call if testPeriod() strategy.entry("Long", strategy.long, when=long_signal) strategy.entry("Short", strategy.short, when=short_signal) // plot(long_call, color=color.red) // plot(short_call, color=color.green) strategy.close("Long", when=long_call_signal) strategy.close("Short", when=short_call_signal) strategy.close("Long", when=long_tp) strategy.close("Short", when=short_tp) strategy.close("Long", when=long_sl) strategy.close("Short", when=short_sl) strategy.close("Long", when=long_ts) strategy.close("Short", when=short_ts)