یہ حکمت عملی ایک ایسی حکمت عملی ہے جس میں دو طرفہ الٹ پلٹ انڈیکس اشارے کا استعمال کیا جاتا ہے۔ یہ حکمت عملی ایک خاص وقت کی مدت میں اعلی ترین ، کم ترین ، اور اختتامی قیمتوں کا حساب کتاب کرکے الٹ پلٹ انڈیکس بناتی ہے ، اور اس کی متحرک اوسط کو حساب کتاب کرکے تجارتی سگنل بناتی ہے۔ جب اشاریہ اوور بائڈ زون سے الٹ پلٹ گرتا ہے یا اوور سیل زون سے الٹ پلٹ ہوتا ہے تو تجارت پیدا ہوتی ہے۔ یہ حکمت عملی بیک وقت توڑنے والے نقصان کا طریقہ کار ترتیب دیتی ہے۔
اس حکمت عملی کا بنیادی اشارے ریورسسٹک مومینٹم انڈیکس (Stochastic Momentum Index, SMI) ہے۔ ایس ایم آئی کا حساب کتاب اس طرح ہے:
\[SMI = \frac{Close-(HH+LL)/2}{AVGDIFF/2}*100\]
ان میں سے ، ایچ ایچ پچھلے N دن کی اعلی ترین قیمت ہے ، ایل ایل پچھلے N دن کی کم ترین قیمت ہے ، N پیرامیٹر a کے ذریعہ طے کیا گیا ہے۔ AVGDIFF M دن کی اوسط اوسط ہے ، جس کا تعین پیرامیٹر b کے ذریعہ کیا گیا ہے۔
ایس ایم آئی انڈیکس قیمتوں میں الٹ کی خصوصیات کو ظاہر کرتا ہے۔ جب اسٹاک کی قیمت حالیہ N دن کی اونچائی کے قریب ہوتی ہے تو ، ایس ایم آئی 100 کے قریب ہوتا ہے ، جس کا مطلب ہے کہ اسٹاک زیادہ خرید رہا ہے۔ جب حالیہ N دن کی نچلی سطح کے قریب ہوتا ہے تو ، ایس ایم آئی 100 کے قریب ہوتا ہے ، جس کا مطلب ہے کہ اسٹاک زیادہ فروخت ہوتا ہے۔ جب ایس ایم آئی 100 کی سطح سے الٹ گرتا ہے یا 100 کی سطح سے الٹ ہوتا ہے تو ، خرید / فروخت کا اشارہ ہوتا ہے۔
اس حکمت عملی میں ایس ایم آئی کی ایم ڈے مووینگ ایوریج ایس ایم اے کو ٹریڈنگ سگنل لائن کے طور پر استعمال کیا گیا ہے۔ جب ایس ایم آئی نے اوورلوڈ علاقے سے نیچے کی طرف مڑ کر ایس ایم اے کو توڑ دیا تو اس نے خریدنے کا اشارہ دیا تھا۔ جب ایس ایم آئی نے اوورلوڈ علاقے سے اوپر کی طرف مڑ کر ایس ایم اے کو توڑ دیا تو اس نے فروخت کا اشارہ دیا۔
اس کے علاوہ، حکمت عملی K لائن ادارے کو توڑنے کا فیصلہ کرتا ہے اور روکنے کے نقصان کو مقرر کرتا ہے.
اس حکمت عملی کے درج ذیل فوائد ہیں:
قیمتوں کے الٹ اصول کا استعمال کرتے ہوئے ، رجحان کے الٹ پوائنٹس پر ٹریڈنگ سگنل پیدا کرنے اور الٹ کے مواقع کو پکڑنے کے قابل۔
ایس ایم آئی انڈیکس اعلی ترین ، کم ترین قیمتوں اور اختتامی قیمتوں کو ایک ساتھ جوڑتا ہے ، جس سے اوورلوڈ اور اوور سیل کی صورتحال کا مجموعی اندازہ ہوتا ہے ، جس سے سگنل زیادہ قابل اعتماد ہوتا ہے۔
K لائن ادارے کے ساتھ مل کر توڑنے کے لئے اسٹاپ نقصان کا تعین کیا گیا ہے ، جس سے خطرے کو مؤثر طریقے سے کنٹرول کرنے کے لئے پوزیشن سے باہر نکلنے کا نقصان بروقت روک دیا جاسکتا ہے۔
اس کے علاوہ، یہ ایک چھوٹی سی حکمت عملی ہے جو آسانی سے لاگو اور بہتر بنانے کے لئے آسان ہے.
اس حکمت عملی کے کچھ خطرات بھی ہیں:
الٹ ٹریڈنگ میں الٹ کی کامیابی کا اندازہ لگانا مشکل ہے ، اور اس سے پہلے کہ اس میں متعدد نقصانات ہوں ، رجحان کا الٹ پکڑنا مشکل ہوسکتا ہے۔
ٹرانسمیشن کے وقت کی غلطیاں نقصانات کو بڑھا سکتی ہیں.
اس کے نتیجے میں ، ان کے جسمانی ٹوٹ پھوٹ کا خطرہ بہت زیادہ ہوسکتا ہے ، جس کی وجہ سے ان کی گرفتاری کا امکان زیادہ ہوتا ہے۔
اس کا حل کیا ہے؟
ایس ایم آئی پیرامیٹرز کو بہتر بنائیں ، واپسی کی تجارت کی تعدد کو ایڈجسٹ کریں۔
دوسرے اشارے کے ساتھ مل کر ، اس کا فیصلہ کرنے کا وقت۔
ادارے کے سائز کو نقصان پہنچانے والے پیرامیٹرز کو ایڈجسٹ کریں ، تاکہ زیادہ حساسیت سے بچ سکے۔
اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
ایس ایم آئی کے پیرامیٹرز a اور b کو بہتر بنائیں ، ریورس کیپچر کی حساسیت کو ایڈجسٹ کریں۔
دوسرے اشارے کے فیصلے کو شامل کریں تاکہ اہم رجحانات کی سمت سے محروم نہ ہوں۔ جیسے کہ اوسط لائن ، اتار چڑھاؤ کی شرح کے اشارے وغیرہ۔
نقصان کو روکنے کے طریقوں میں اضافہ کریں ، تاکہ نقصان کو زیادہ حساس یا سست ہونے سے بچایا جاسکے۔ ٹریکنگ نقصان ، منحنی نقصان وغیرہ پر غور کیا جاسکتا ہے۔
مشین لرننگ ماڈل کے ساتھ مل کر واپسی کی کامیابی کے امکانات کا اندازہ لگائیں ، اور واپسی کی ناکامی سے بچنے والے لین دین سے گریز کریں۔
یہ حکمت عملی مجموعی طور پر ایک ایسی حکمت عملی ہے جس میں ریورس انڈیکس ایس ایم آئی کا استعمال کرتے ہوئے دو طرفہ تجارت کی جاتی ہے۔ اس کی خوبی یہ ہے کہ قیمت کی الٹ کی خصوصیت کا استعمال کیا جاتا ہے ، اور الٹ کے مقام پر تجارتی سگنل پیدا کیا جاتا ہے ، جس سے زیادہ سے زیادہ مختصر تجارت کے مواقع پکڑے جاسکتے ہیں۔ تاہم ، کچھ عام ریورس ٹریڈنگ کے خطرات بھی موجود ہیں ، جن کو نقصانات کو بڑھانے سے بچنے کے لئے پیرامیٹرز اور اسٹاپ نقصانات کو بہتر بنانے کی ضرورت ہے۔ مجموعی طور پر ، یہ حکمت عملی ان سرمایہ کاروں کے لئے موزوں ہے جو ریورس ٹریڈنگ میں دلچسپی رکھتے ہیں ، لیکن انہیں دوسرے اشارے کے ساتھ مل کر فیصلہ کرنے اور نقصان کو سختی سے کنٹرول کرنے کے لئے خطرہ مولنا ہوگا۔
/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Stochastic Strategy v1.0", shorttitle = "Stochastic str 1.0", 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")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
a = input(5, "Percent K Length")
b = input(3, "Percent D Length")
limit = input(50, defval = 50, minval = 1, maxval = 100, title = "SMI Limit")
fromyear = input(2018, defval = 2018, 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")
//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
body = abs(close - open)
abody = sma(body, 10)
//Signals
up = SMIsignal < -1 * limit and close < open
dn = SMIsignal > limit and close > open
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2
//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Bottom", strategy.long, needlong == false ? 0 : lot)
if dn
if strategy.position_size > 0
strategy.close_all()
strategy.entry("Top", strategy.short, needshort == false ? 0 : lot)
if exit
strategy.close_all()