
متحرک شکوہ حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو بے ترتیب متحرک اشارے اور نسبتا strong مضبوط اشارے کو جوڑتی ہے۔ اس حکمت عملی میں بے ترتیب متحرک اشارے کا استعمال کیا جاتا ہے تاکہ مارکیٹ میں زیادہ خرید و فروخت والے علاقوں کا اندازہ لگایا جاسکے ، جس میں تیزی سے آر ایس آئی اشارے فلٹر سگنل کے ساتھ کام کیا جاتا ہے ، اور پھر جسمانی فلٹرنگ کے ذریعہ زیادہ قابل اعتماد تجارتی سگنل کا انتخاب کیا جاسکتا ہے۔
بے ترتیب متحرک اشارے ((SMI) ایک تکنیکی اشارے ہے جو عام طور پر مقدار کی تجارت میں استعمال ہوتا ہے ، اس میں متحرک اشارے اور جھٹکے کے اشارے کی خوبیوں کا امتزاج کیا جاتا ہے۔
خاص طور پر، ایس ایم آئی کے حساب کا فارمولا ہے:
SMI = (Close - (HH + LL)/2)/(0.5*(HH - LL)) * 100
ان میں سے،HH پچھلے N دنوں کی سب سے زیادہ قیمت ہے،LL پچھلے N دنوں کی سب سے کم قیمت ہے۔
اس طرح ، ایس ایم آئی نے رجحانات کے فیصلے اور جھٹکے کے ردوبدل کے فیصلے کو جوڑ دیا۔ جب ایس ایم آئی 80 سے زیادہ ہے تو یہ زیادہ خرید ہے ، اور 20 سے کم ہے تو یہ زیادہ فروخت ہے۔ حکمت عملی اوور بیئر اوور سیل زون میں تجارت کا اشارہ دیتی ہے۔
رشتہ دار مضبوطی کا اشاریہ (RSI) ایک عام طور پر استعمال ہونے والا اوپری خرید اوپری فروخت اشارے ہے۔ اس حکمت عملی میں 7 کے دورانیے کا تیز آر ایس آئی استعمال کیا جاتا ہے ، تاکہ قلیل مدت میں اوپری خرید اوپری فروخت کی صورتحال کا اندازہ لگایا جاسکے۔
جب فوری آر ایس آئی 20 سے کم ہے تو یہ اوور سیل ہے اور 80 سے زیادہ ہے تو یہ اوور خرید ہے۔ حکمت عملی اوور خرید اوور فروخت علاقوں میں تجارت کا اشارہ دیتی ہے۔
اس حکمت عملی میں ایک ہستی فلٹر بھی شامل کیا گیا ہے ، جس میں K لائن ہستی کے سائز کا حساب کتاب کرکے جزوی سگنل کو فلٹر کیا جاتا ہے۔ صرف اس صورت میں جب K لائن ہستی کسی خاص حد سے تجاوز کر جائے تو ہی تجارتی سگنل جاری کیا جاتا ہے۔
اس کے علاوہ، یہ جعلی سگنل کو فلٹر کرنے اور سگنل کی وشوسنییتا کو بہتر بنانے میں مدد کرتا ہے۔
اس حکمت عملی میں بے ترتیب حرکیاتی اشارے ، فوری آر ایس آئی اشارے اور جسمانی فلٹر کے تین حصے شامل ہیں۔ متعدد اشارے کے ساتھ مل کر ، سگنل کی درستگی کو بہتر بنایا جاسکتا ہے اور حکمت عملی کی استحکام کو بڑھاوا دیا جاسکتا ہے۔
بے ترتیب متحرک اشارے اور فوری آر ایس آئی اشارے مارکیٹ میں اوورلو اور اوورلو کی صورتحال کا درست اندازہ لگاسکتے ہیں ، حکمت عملی اوورلو اور اوورلو زون میں پوزیشن کھولنے کی ہے ، جس میں کم خریدنے اور اعلی فروخت کرنے کے اصول پر عمل پیرا ہے۔
اس حکمت عملی میں کثیر سر اور خالی سر دو طرفہ تجارت کی جاسکتی ہے ، جس سے مارکیٹ میں زیادہ سے زیادہ تجارتی مواقع کا فائدہ اٹھایا جاسکتا ہے۔
جسمانی فلٹر کا اضافہ، زیادہ تر شور کو فلٹر کرنے کے لئے، ہلچل کے حالات میں پھنسنے سے بچنے کے لئے.
دو طرفہ تجارت کی حکمت عملی ، کثرت سے زیادہ خالی سر سوئچنگ ایک ممکنہ خطرہ ہے۔ مناسب پوزیشن کھولنے کے منطق کو بہتر بنانے سے یہ خطرہ کم ہوسکتا ہے۔
جب اشارے سگنل دیتے ہیں تو ، ایک مختصر وقت میں بڑی تعداد میں پیروی کرنے والے تاجروں کو اکٹھا کیا جاسکتا ہے ، جس سے مارکیٹ میں الٹ جانے کا خطرہ ہوتا ہے۔ اس خطرے کو اشارے کے پیرامیٹرز کو بہتر بنانے کے ذریعے کم کیا جاسکتا ہے۔
انتہائی حالات میں ، تمام ماڈل ناکام ہوسکتے ہیں۔ اس طرح کے خطرات کو کنٹرول کرنے کے لئے معقول اسٹاپ نقصان کی ترتیب کی ضرورت ہے۔
حکمت عملی کی واپسی کو بہتر بنانے کے لئے بہترین پیرامیٹرز تلاش کرنے کے لئے مختلف پیرامیٹرز کے مجموعے کی جانچ پڑتال کی جاسکتی ہے ، جیسے ایس ایم آئی سائیکل ، آر ایس آئی سائیکل ، جسمانی فلٹر کی حد وغیرہ۔
اے ٹی آر یا اتار چڑھاؤ کی بنیاد پر متحرک اسٹاپ نقصان کا طریقہ کار قائم کرنا انفرادی حصص اور مجموعی طور پر خطرے کو بہتر طور پر کنٹرول کرسکتا ہے۔
مشین لرننگ الگورتھم متعارف کروائیں تاکہ ماڈل کے ذریعہ اشارے کی قیمتوں کے مستقبل کے رجحان کی پیش گوئی کی جاسکے۔ اس سے اشارے کے نقطہ نظر کو پہلے سے ہی اندازہ لگایا جاسکتا ہے ، اور حکمت عملی کو آگے بڑھایا جاسکتا ہے۔
مجموعی طور پر ، اس حکمت عملی میں بے ترتیب متحرک اشارے ، تیز آر ایس آئی اشارے اور جسمانی فلٹرز کو مربوط کیا گیا ہے ، جس سے زیادہ خرید و فروخت کے فیصلے کا ایک مکمل نظام حاصل ہوتا ہے۔ کثیر اشارے کا مجموعہ سگنل کی درستگی کو بہتر بناتا ہے ، اور دو طرفہ تجارت اور خطرے کے کنٹرول کا طریقہ کار حکمت عملی کو زیادہ متوازن بناتا ہے۔ پیرامیٹرز اور ماڈل کو مستقل طور پر بہتر بنانے کے ذریعہ ، اس حکمت عملی میں بہتر منافع کی شرح حاصل کرنے کی امید ہے۔
/*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()