یہ حکمت عملی خرید / فروخت کے اشاروں کا تعین کرنے کے لئے وقت کے ساتھ ساتھ تبدیلی کی شرح کا حساب لگاتی ہے۔ یہ تاجروں کو قلیل مدتی قیمتوں میں اتار چڑھاؤ میں مواقع حاصل کرنے میں مدد دے سکتی ہے۔
یہ حکمت عملی بنیادی طور پر مندرجہ ذیل اشارے پر مبنی ہے:
داخلے کے مخصوص قوانین:
باہر نکلنے کے مخصوص قوانین:
پوزیشن کا سائز لیول کے لئے کل ایکویٹی کا فیصد (ڈیفالٹ 96٪) ہے۔
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
اتار چڑھاؤ کا پتہ لگانے کے لئے ROC کا استعمال کرتے ہوئے اعلی واپسی کے لئے اوپر / نیچے کی حرکتوں کو پکڑنے کی اجازت دیتا ہے.
تیز رفتار / سست SMA کا امتزاج کم / اعلی نقطہ کی زیادہ درست شناخت میں مدد کرتا ہے۔
ریفرنس ایس ایم اے مختصر مدت کے شور سے مشغول ہونے سے بچنے کے لئے مجموعی سمت فراہم کرتا ہے.
اسٹاپ نقصان کی پیروی منافع میں تالے لگاتا ہے اور نیچے کی طرف خطرے کو کم کرتا ہے.
پوزیشن سائزنگ سے فائدہ اٹھانا منافع کو بڑھا دیتا ہے۔
مجموعی طور پر ، یہ حکمت عملی قیمتوں میں اتار چڑھاؤ سے فائدہ اٹھانے کے لئے ROC ، SMA اور دیگر ٹولز کو موثر انداز میں استعمال کرتی ہے۔ یہ اتار چڑھاؤ والی منڈیوں میں اچھے نتائج حاصل کرسکتی ہے۔
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
غلط آر او سی اور ایس ایم اے پیرامیٹرز سے غائب سگنل یا خراب تجارت ہوسکتی ہے۔ مختلف منڈیوں کے لئے اصلاح کی ضرورت ہے۔
پوزیشن کا زیادہ سائز خطرے میں اضافہ کرتا ہے۔ آرڈر فیصد کی جانچ اور ایڈجسٹ کرنا چاہئے۔
ٹریلنگ اسٹاپ نقصان متزلزل مارکیٹوں میں قبل از وقت باہر نکل سکتا ہے۔ اسٹاپ نقصان کا فیصد ایڈجسٹ کیا جاسکتا ہے۔
مختلف مارکیٹوں میں وِپساؤس کا شکار۔ رجحان فلٹرز اور رسک مینجمنٹ کو شامل کرنا چاہئے۔
بیک ٹیسٹ اوور فٹنس کا خطرہ۔ مضبوطی کو مارکیٹوں میں براہ راست تجارت کے ذریعے تصدیق کی جانی چاہئے۔
خطرات کو پیرامیٹر کی اصلاح، پوزیشن سائزنگ، سٹاپ نقصان کی ایڈجسٹمنٹ، استحکام کی جانچ وغیرہ کے ذریعے منظم کیا جا سکتا ہے.
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
سگنل کی درستگی کو بہتر بنانے کے لیے دیگر تکنیکی اشارے جیسے اتار چڑھاؤ، حجم شامل کریں۔
تجارت کی تعداد کو بہتر بنانے کے لئے تجارت کی فریکوئنسی کو کم سے کم کرنے کے لئے whipshaw اثرات کو کم سے کم کرنے کے لئے.
اہم قیمت کی سطح کے ارد گرد توڑنے کی تکنیک شامل کریں.
پیرامیٹرز کو خودکار طور پر بہتر بنانے کے لیے مشین لرننگ کا استعمال کریں۔
مختلف مارکیٹوں اور وقت کے فریموں میں استحکام کی جانچ کریں۔
اسٹاک، فاریکس وغیرہ جیسے مختلف مصنوعات کے لئے خصوصی پیرامیٹرز کو ٹون کریں.
براہ راست نتائج کی بنیاد پر مسلسل سگنل اور خطرے کے کنٹرول کو بہتر بنائیں.
یہ حکمت عملی ROC اور SMA تجزیہ کا استعمال کرتے ہوئے قلیل مدتی اتار چڑھاؤ کے ارد گرد تجارتی مواقع کی نشاندہی کرتی ہے۔ اس سے تیز رفتار جھولوں پر سرمایہ کاری کرنے میں مدد ملتی ہے لیکن مناسب رسک کنٹرول کی بھی ضرورت ہوتی ہے۔ ٹھیک ٹیوننگ پیرامیٹرز ، پوزیشن سائزنگ ، اسٹاپ نقصانات اور استحکام کی جانچ اس کے استحکام اور موافقت کو بڑھا سکتی ہے۔ حکمت عملی مقداری تجارت کے لئے ایک حوالہ ٹیمپلیٹ کی حیثیت رکھتی ہے لیکن مختلف مارکیٹوں کے لئے تخصیص کی ضرورت ہے۔
/*backtest start: 2022-09-21 00:00:00 end: 2023-09-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=4 // Author: Sonny Parlin (highschool dropout) // Best if run on 5m timeframe strategy(shorttitle="ROC+Strategy", title="Rate of Change Strategy", overlay=true, currency=currency.USD, initial_capital=10000) // Inputs and variables ss = input(14, minval=10, maxval=50, title="SMA Fast (days)") ff = input(100, minval=55, maxval=200, title="SMA Slow (days)") ref = input(30, minval=20, maxval=50, title="SMA Reference (days)") lowOffset = input(0.023, "ROC Low (%)", minval=0, step=0.01) highOffset = input(0.047, "ROC High (%)", minval=0, step=0.01) orderStake = input(0.96, "Order Stake (%)", minval=0, step=0.01) lookback = input(12, "Lookback Candles", minval=1, step=1) // SMA smaFast = sma(close, ss) smaSlow = sma(close, ff) smaRef = sma(close, ref) ROC = (max(close[lookback],close) - min(close[lookback],close)) / max(close[lookback],close) // Set up SMA plot but don't show by default plot(smaFast, "smaFast", color=#00ff00, display = 0) plot(smaSlow, "smaSlow", color=#ff0000, display = 0) plot(smaRef, "smaRef", color=#ffffff, display = 0) // The buy stratey: // Guard that the low is under our SMA Reference line // Guard that the rate of change over the lookback period is greater than our // ROC lowOffset %, default is 0.023. (low < smaRef) and (ROC > lowOffset) // SMA fast is on the rise and SMA slow is falling and they are very likely // to cross. (rising(smaFast,1)) and (falling(smaSlow, 1)) enterLong = (low < smaRef) and (ROC > lowOffset) and (rising(smaFast,1)) and (falling(smaSlow,1)) // The sell Strategy: // Guard that close is higher than our SMA reference line and that the rate of // change over the lookback period is greater than our highOffset %, default // is 0.047. (close > smaRef) and (ROC > highOffset) // Guard that close has risen by 3 candles in a row (rising(close,3)) // Guard that we currently have profit (strategy.openprofit > 0) // Guard that SMA fast is higher than smaSlow (smaFast > smaSlow) // If it keeps going up past our close position the trailing stoploss will kick in! enterShort = (close > smaRef) and (ROC > highOffset) and (rising(close,3)) and (strategy.openprofit > 0) and (smaFast > smaSlow) // Order size is based on total equity // Example 1: // startingEquity = 2000 // close = 47434.93 // orderStake = 0.45 // (2,000 × orderStake) / close = orderSize = 0.0189733599 = approx $900 // Example 2: // startingEquity = 2000 // close = 1.272 // orderStake = 0.45 // (startingEquity × orderStake) / close = orderSize = 707.5471698113 = approx $900 orderSize = (strategy.equity * orderStake) / close // Trailing Stoploss // I'm using 2.62 as my default value, play with this for different results. longTrailPerc = input(title="Trailing Stoploss (%)", type=input.float, minval=0.0, step=0.1, defval=3.62) * 0.01 longStopPrice = 0.0 longStopPrice := if (strategy.position_size > 0) stopValue = close * (1 - longTrailPerc) max(stopValue, longStopPrice[1]) else 0 if (enterLong) strategy.entry("Open Long Position", strategy.long, orderSize, when=strategy.position_size <= 0) if (enterShort) strategy.exit(id="Close Long Position", stop=longStopPrice) //plot(strategy.equity)