اس حکمت عملی میں تجارتی سگنل کے انتخاب کے لئے مارٹینگل اور باڈی فلٹر کے ساتھ ساتھ طویل اور مختصر سگنل کے لئے دوہری اسٹوکاسٹک رفتار اشارے (ایس ایم آئی اور آر ایس آئی) کا استعمال کیا جاتا ہے ، جس کا مقصد درمیانی مدت کے رجحانات اور قیمتوں میں اتار چڑھاؤ کو پکڑنا ہے۔
حکمت عملی دو اسٹوکاسٹک اشارے ایس ایم آئی اور آر ایس آئی کا استعمال کرتے ہوئے طویل اور مختصر کا فیصلہ کرتی ہے۔ ایس ایم آئی کا حساب بار رینج اور قریبی قیمت کی حرکت پذیر اوسط کی بنیاد پر کیا جاتا ہے ، جو الٹ پوائنٹس کی نشاندہی کرنے میں اچھا ہے۔ آر ایس آئی زیادہ خریدنے اور زیادہ فروخت کی حیثیت کا تعین کرنے کے لئے بیل اور ریچھ کی طاقت کا موازنہ کرتا ہے۔ جب ایس ایم آئی -50 سے نیچے اور آر ایس آئی 20 سے نیچے ہوتا ہے تو حکمت عملی طویل ہوجاتی ہے۔ جب ایس ایم آئی 50 سے اوپر اور آر ایس آئی 80 سے اوپر ہوتا ہے تو مختصر ہوجاتا ہے۔
غلط بریک آؤٹس کو فلٹر کرنے کے لئے ، حکمت عملی 10 پیریڈ باڈی ایس ایم اے کا 1/3 بھی بطور بریک آؤٹ فلٹر کی حالت استعمال کرتی ہے۔ جب باڈی ایس ایم اے کے 1/3 سے گزرتی ہے تو ، بریک آؤٹ درست سمجھا جاتا ہے۔
اس کے علاوہ، یہ حکمت عملی اختیاری مارٹنگل کو اپناتی ہے، جو کھوئے ہوئے تجارت پر بہت زیادہ پیمانے پر ہے، پچھلے نقصانات کو بحال کرنے کی کوشش کرتے ہیں.
بیک ٹیسٹ کی فعالیت تاریخ کی حد میں داخل کرکے حکمت عملی کی بیک ٹیسٹ کرتی ہے۔
حکمت عملی دوہری اسٹوکاسٹک اشارے اور فلٹرز کو یکجا کرتی ہے، جو مؤثر طریقے سے الٹ پوائنٹس کی نشاندہی کرنے، درمیانی مدت کے رجحانات کو پکڑنے اور قیمتوں میں اتار چڑھاؤ کو ٹریک کرنے کے قابل ہے.
ایس ایم آئی اور آر ایس آئی پیرامیٹرز کو بہتر بنانے سے خطرات کو کم کیا جاسکتا ہے تاکہ پیچھا کرنے / مارنے کا امکان کم ہوجائے ، مارٹینگیل کو اسٹریٹجک طور پر اسکیل اپ تناسب اور اوقات کو کنٹرول کرکے استعمال کیا جاسکے ، اور مارکیٹ کے حالات کی بنیاد پر صوابدیدی طور پر فلٹرز کو چالو کیا جاسکے۔
اس حکمت عملی میں واپسی کے مقامات کو حاصل کرنے کے لئے دوہری اسٹوکاسٹک اشارے ، فلٹرز اور مارٹنگیل کے ساتھ تجارتی سگنل کے انتخاب اور پیچھا کرنے کے لئے مل کر کام کیا جاتا ہے۔ یہ درمیانی مدتی رجحانات کی مؤثر طریقے سے نشاندہی کرسکتا ہے اور قیمت میں اتار چڑھاؤ کو ٹریک کرسکتا ہے ، جو اعلی جیت کی شرح کے حصول کے خواہاں سرمایہ کاروں کے لئے موزوں ہے۔ اشارے میں تاخیر اور مارکیٹ کے خطرات پر توجہ دیں ، پیرامیٹر کی اصلاح اور اسٹاپ نقصان کے ذریعہ خطرات کا انتظام کریں۔
/*backtest start: 2022-09-30 00:00:00 end: 2023-10-06 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // strategy(title = "CS Basic Scripts - Stochastic Special (Strategy)", shorttitle = "Stochastic Special", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") usemar = input(false, defval = false, title = "Use Martingale") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") usesmi = input(true, defval = true, title = "Use SMI Strategy") usersi = input(true, defval = true, title = "Use RSI Strategy") usebod = input(true, defval = true, title = "Use Body-Filter") a = input(5, "SMI Percent K Length") b = input(3, "SMI Percent D Length") limit = input(50, defval = 50, minval = 1, maxval = 100, title = "SMI Limit") //Backtesting Input Range fromyear = input(2017, defval = 2017, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Fast RSI fastup = rma(max(change(close), 0), 7) fastdown = rma(-min(change(close), 0), 7) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Stochastic Momentum Index ll = lowest (low, a) hh = highest (high, a) diff = hh - ll rdiff = close - (hh+ll)/2 avgrel = ema(ema(rdiff,b),b) avgdiff = ema(ema(diff,b),b) SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0 SMIsignal = ema(SMI,b) //Lines plot(SMI, color = blue, linewidth = 3, title = "Stochastic Momentum Index") plot(SMIsignal, color = red, linewidth = 3, title = "SMI Signal Line") plot(limit, color = black, title = "Over Bought") plot(-1 * limit, color = black, title = "Over Sold") plot(0, color = blue, title = "Zero Line") //Body Filter nbody = abs(close - open) abody = sma(nbody, 10) body = nbody > abody / 3 or usebod == false //Signals up1 = SMI < -1 * limit and close < open and body and usesmi dn1 = SMI > limit and close > open and body and usesmi up2 = fastrsi < 20 and close < open and body and usersi dn2 = fastrsi > 80 and close > open and body and usersi exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body //Trading profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1] mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1 lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1] if up1 or up2 if strategy.position_size < 0 strategy.close_all() strategy.entry("long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 or dn2 if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) or exit strategy.close_all()