اسٹوکاسٹک مومنٹم حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-22 10:13:23
ٹیگز:

img

جائزہ

اسٹوکاسٹک مومنٹم حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو اسٹوکاسٹک مومنٹم انڈیکس (ایس ایم آئی) اور رشتہ دار طاقت انڈیکس (آر ایس آئی) کو جوڑتی ہے۔ یہ مارکیٹ میں زیادہ خریدنے اور زیادہ فروخت ہونے والے علاقوں کی نشاندہی کرنے کے لئے ایس ایم آئی کا استعمال کرتی ہے ، جس میں تیز رفتار آر ایس آئی سگنل فلٹر کی حیثیت سے کام کرتی ہے۔ یہ زیادہ قابل اعتماد سگنل کے انتخاب کے لئے جسمانی فلٹر کو بھی نافذ کرتی ہے۔

حکمت عملی کے اصول

اسٹوکاسٹک مومنٹم انڈیکس

اسٹوکاسٹک مومنٹم انڈیکس (ایس ایم آئی) ایک عام تکنیکی اشارے ہے جو مقداری تجارت میں استعمال ہوتا ہے جس میں مومنٹم اور آسکیلشن اشارے کی طاقت کو جوڑتا ہے۔

خاص طور پر، ایس ایم آئی کا حساب اس طرح کیا جاتا ہے:

SMI = (قریبی - (HH + LL) /2) /(0.5*(HH - LL)) * 100

جہاں HH پچھلے N دنوں میں سب سے زیادہ قیمت ہے اور LL سب سے کم قیمت ہے۔

لہذا ایس ایم آئی میں رفتار کے رجحان کے بعد فیصلے اور اتار چڑھاؤ کے الٹ فیصلے دونوں شامل ہیں۔ 80 سے اوپر کی قیمتوں کو زیادہ سے زیادہ سمجھا جاتا ہے ، جبکہ 20 سے نیچے کی قیمتوں کو زیادہ سے زیادہ فروخت کیا جاتا ہے۔ یہ حکمت عملی تجارتی سگنل پیدا کرتی ہے جب ایس ایم آئی ان زیادہ سے زیادہ خرید یا فروخت کی سطح تک پہنچ جاتا ہے۔

تیز RSI

رشتہ دار طاقت کا اشاریہ (آر ایس آئی) ایک معیاری اوور بک / اوور سیل انڈیکیٹر ہے۔ یہ حکمت عملی قلیل مدتی اوور بک / اوور سیل حالات کا فیصلہ کرنے کے لئے 7 کے عرصے کے ساتھ تیز رفتار آر ایس آئی کا استعمال کرتی ہے۔

20 سے کم پڑھنے کو oversold سمجھا جاتا ہے ، جبکہ 80 سے اوپر والے تیزی سے RSI کے مطابق overbought سمجھا جاتا ہے۔ جب ان حدوں کو توڑا جاتا ہے تو سگنل پیدا ہوتے ہیں۔

جسم فلٹر

اس حکمت عملی میں شمعدان کے جسم کے سائز کی جانچ پڑتال کرکے کچھ سگنلز کو فلٹر کرنے کے لئے جسم فلٹر بھی لاگو ہوتا ہے۔ صرف ایک مقررہ حد سے تجاوز کرنے والے جسم ہی تجارت کو متحرک کریں گے۔

یہ کچھ غلط سگنل کو فلٹر کرتا ہے اور قابل اعتماد بڑھاتا ہے۔

فوائد

کثیر اشارے کا مجموعہ

اس نقطہ نظر میں ایس ایم آئی ، فاسٹ آر ایس آئی ، اور باڈی فلٹر کو ایک مضبوط تھری پارٹ سسٹم میں ملایا گیا ہے۔ متعدد مربوط سگنلز کا استعمال درستگی کو بہتر بناتا ہے اور استحکام کو بڑھاتا ہے۔

زیادہ خرید/زیادہ فروخت کا پتہ لگانا

ایس ایم آئی اور فاسٹ آر ایس آئی دونوں ہی ختم ہونے والے رجحانات کا پتہ لگانے کے لئے بہترین ہیں۔ ان زیادہ پھیلے ہوئے علاقوں سے اوسط ریورسز کی تجارت کرکے ، حکمت عملی کم خریدنے اور اعلی فروخت کرنے پر قائم ہے۔

دو طرفہ تجارت

ڈپ اور شارٹ ریلی دونوں خریدنے کی صلاحیت مارکیٹ کے حالات میں مواقع کو زیادہ سے زیادہ کرتی ہے۔

خطرے کا کنٹرول

جسم فلٹر ہلکے حالات میں کم قائل سگنل کو مسترد کرکے whipsaws سے بچتا ہے.

خطرات

وِپساؤ

لمبی / مختصر سوئچنگ کا کثرت سے خطرہ ہوتا ہے۔ منطق کو بہتر بنانا اس کو کم سے کم کرسکتا ہے۔

ہجوم سے بھری تجارت

سگنل مارکیٹ کے شرکاء کو گروپ کرسکتے ہیں اور انٹری پر تیزی سے الٹ پھیر کی حوصلہ افزائی کرسکتے ہیں۔ ٹھیک ٹوننگ پیرامیٹرز ریوڑ کے خطرے کو کم کرسکتے ہیں۔

بلیک سوان

انتہائی واقعات تمام ماڈلز کو الٹ سکتے ہیں۔ منظم خطرات پر قابو پانے کے لئے ذہین اسٹاپ نقصانات ضروری ہیں۔

بہتری

پیرامیٹر کی اصلاح

مختلف ایس ایم آئی / آر ایس آئی ادوار اور جسم فلٹر کی حدوں کا تجربہ کرنے سے اعلی واپسی کے لئے بہترین اقدار کا پتہ چل سکتا ہے۔

متحرک رکنے

اتار چڑھاؤ پر مبنی یا اے ٹی آر اسٹاپ کو شامل کرنے سے پوزیشن اور پورٹ فولیو کے خطرے کو بہتر طور پر شامل کیا جائے گا۔

مشین لرننگ

مستقبل کے اشارے کی سطح کی پیش گوئی کرنے والے ماڈل اہم نکات کو پہلے سے پہچان سکتے ہیں۔ اس سے پیش گوئی کی طاقت میں اضافہ ہوگا۔

نتیجہ

خلاصہ میں ، ایس ایم آئی ، فاسٹ آر ایس آئی ، اور باڈی فلٹر کو مربوط کرکے ، اس حکمت عملی نے ایک کافی جامع اوور بکٹ / اوور سیلڈ سسٹم تشکیل دیا ہے۔ ملٹی سگنل نقطہ نظر درستگی کو بہتر بناتا ہے ، جبکہ دو طرفہ تجارتی صلاحیت اور رسک کنٹرول توازن میں معاون ہیں۔ مسلسل پیرامیٹر اور ماڈل کی اصلاح کے ساتھ ، یہ طویل مدتی میں فوائد حاصل کرنے کا وعدہ کرتا ہے۔


/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Stochastic Strategy v1.1", shorttitle = "Stochastic str 1.1", 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")
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 = SMIsignal < -1 * limit and close < open and body and usesmi
dn1 = SMIsignal > 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()

مزید