ایک سے زیادہ متحرک اوسط تجارت کی حکمت عملی متعدد مختلف پیرامیٹرز کی متحرک اوسط کو ترتیب دے کر ، ایک سے زیادہ درجے کی انٹری اور اسٹاپ نقصان کو حاصل کرتی ہے۔ حکمت عملی پہلے 3 لمبی اور 3 مختصر لائنوں کا حساب لگاتی ہے ، لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لم
حساب کی پیرامیٹرز میں src ماخذ قیمت کے لین دورانیے کی سادہ منتقل اوسط ، بطور بیس اوسط
طویل اور مختصر پیرامیٹرز کے مطابق طے شدہ لمبی اور مختصر لائنوں کی تعداد۔
longline1 جیسے لمبی لائنوں کو بیس لائن اوسط کے لئے longlevel1 جیسے پیرامیٹرز کی ترتیب کے تناسب سے انحراف کیا گیا ہے۔ shortline1 جیسے مختصر لائنوں کے ساتھ مساوی ہے۔
تجارت کے قابل وقت کے اندر ، قیمت اور اوسط لائن کے مابین تعلقات کا اندازہ لگائیں ، تاکہ کثیر درجے کی داخلے کو ممکن بنایا جاسکے۔
جب قیمت بیس میڈین لائن کو چھوتی ہے تو اسٹاپ نقصان کا نفاذ کریں۔
اس کے بعد ، آپ کو اپنے اکاؤنٹ کو دوبارہ کھولنے کی ضرورت ہوگی۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
کثیر درجے کی اندراج ، مختلف مراحل میں رجحانات حاصل کرنے اور منافع کمانے کے لئے۔
زیادہ سے زیادہ اپنی مرضی کے مطابق پیرامیٹرز ہیں جو مختلف اقسام اور ٹریڈنگ سٹائل کے مطابق ایڈجسٹ کیا جا سکتا ہے۔
ایک مساوی نظام کی بنیاد پر ، اس سے زیادہ قابل اعتماد ہے.
ٹرانزیکشن کے لئے وقت کی حد مقرر کریں تاکہ اہم اعداد و شمار کے اجراء جیسے اہم اثرات سے بچا جاسکے۔
نقصانات کو روکنے کے لئے ایک نظام ہے جو انفرادی نقصانات کو کنٹرول کرتا ہے.
اس حکمت عملی کے کچھ خطرات بھی ہیں:
ایک سے زیادہ بار جمع کرنے کا خطرہ زیادہ ہے اور اس کے لئے کافی مالی مدد کی ضرورت ہے۔
پیرامیٹرز کی غلط ترتیب سے ہائپر شارٹ لائن آپریشن کا سبب بن سکتا ہے ، پیرامیٹرز کو مناسب طریقے سے ترتیب دیا جانا چاہئے۔
فکسڈ آؤٹ ٹائم ممکنہ طور پر آخری مرحلے کے رجحان کے منافع سے محروم ہوسکتا ہے۔ اس کو بہتر بنانے کے لئے اسٹاپ نقصانات کو ٹریک کرنے کے لئے ترتیب دیا جاسکتا ہے۔
رات کے وقت اور رات کے وقت کی پوزیشنوں پر غور نہیں کیا گیا ہے۔ پوزیشن کی لاگت کنٹرول میں شامل کیا جاسکتا ہے۔
پوزیشنوں کی تعداد پر قابو پانے کے بغیر ، یہ ایک طرفہ پوزیشنوں کو زیادہ رکھنے کا سبب بن سکتا ہے۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
مقررہ روانگی کے وقت کے بجائے موبائل سٹاپ نقصان میں اضافہ کریں۔
راتوں رات پوزیشن رکھنے پر غور کریں ، پوزیشن کی فیس اور سلائڈ پوائنٹ کنٹرول شامل کریں۔
آخری مرحلے کے منافع کے لئے ٹریکنگ اسٹاپ میں شامل ہوں۔
پوزیشن کی صورت حال کے مطابق ایک ہاتھ کی تعداد کو ایڈجسٹ کریں ، ایک طرف پوزیشن کو کنٹرول کریں۔
مختلف پرجاتیوں پر مختلف پیرامیٹرز کے اثرات کی جانچ کرنا ، پیرامیٹرز کو بہتر بنانے کا طریقہ کار قائم کرنا۔
ٹیسٹ سٹاپ نقصان کی جگہ کو بہتر بنانا ، غیر ضروری نقصان کو کم کرنا۔
کثیر سطح کی حرکت پذیری اوسط لکیری حکمت عملی اوسط لکیری کثیر درجے کے داخلے کے ذریعے ، رجحان کی پیروی کرنے کے لئے منافع حاصل کریں۔ سیٹ قابل تجارت وقت اور سٹاپ نقصان نقطہ بہتر خطرے کو کنٹرول کرتا ہے۔ اسٹریٹجی اثر کو مزید بڑھایا جاسکتا ہے جس میں ہولڈنگ لاگت کنٹرول ، پیرامیٹرز کی اصلاح ، اور سٹاپ نقصان کی اصلاح وغیرہ کے ذریعہ مزید تحقیق اور اصلاح کے قابل ہے۔
/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=4
strategy(title = "Noro's ShiftMA-multi Strategy v1.1", shorttitle = "ShiftMA-multi", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)
//Settings
long = input(3, defval = 3, minval = 0, maxval = 3, title = "Lines for long")
short = input(3, defval = 3, minval = 0, maxval = 3, title = "Lines for short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len = input(3, minval = 1, title = "MA Length")
src = input(ohlc4, title = "MA Source")
shortlevel3 = input(15.0, title = "Short line 3")
shortlevel2 = input(10.0, title = "Short line 2")
shortlevel1 = input(5.0, title = "Short line 1")
longlevel1 = input(-5.0, title = "Long line 1")
longlevel2 = input(-10.0, title = "Long line 2")
longlevel3 = input(-15.0, title = "Long line 3")
needoffset = input(true, title = "Offset")
fromyear = input(1900, defval = 1900, 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")
//Variables
size = strategy.position_size
mult = 1 / syminfo.mintick
//MA
ma = sma(src, len)
longline1 = long >= 1 ? round(ma * ((100 + longlevel1) / 100) * mult) / mult : close
longline2 = long >= 2 ? round(ma * ((100 + longlevel2) / 100) * mult) / mult : close
longline3 = long >= 3 ? round(ma * ((100 + longlevel3) / 100) * mult) / mult : close
shortline1 = short >= 1 ? round(ma * ((100 + shortlevel1) / 100) * mult) / mult : close
shortline2 = short >= 2 ? round(ma * ((100 + shortlevel2) / 100) * mult) / mult : close
shortline3 = short >= 3 ? round(ma * ((100 + shortlevel3) / 100) * mult) / mult : close
//Lines
colorlong1 = long >= 1 ? color.lime : na
colorlong2 = long >= 2 ? color.lime : na
colorlong3 = long >= 3 ? color.lime : na
colorshort1 = short >= 1 ? color.red : na
colorshort2 = short >= 2 ? color.red : na
colorshort3 = short >= 3 ? color.red : na
offset = needoffset ? 1 : 0
plot(shortline3, offset = offset, color = colorshort1)
plot(shortline2, offset = offset, color = colorshort2)
plot(shortline1, offset = offset, color = colorshort3)
plot(ma, offset = offset, color = color.blue)
plot(longline1, offset = offset, color = colorlong1)
plot(longline2, offset = offset, color = colorlong2)
plot(longline3, offset = offset, color = colorlong3)
//Trading
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
lots = 0.0
needtime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
if ma > 0
lots := round(size / lot)
strategy.entry("L1", strategy.long, lot, limit = longline1, when = (lots == 0 and long >= 1 and needtime))
lots := round(size / lot)
strategy.entry("L2", strategy.long, lot, limit = longline2, when = (lots <= 1 and long >= 2 and needtime))
lots := round(size / lot)
strategy.entry("L3", strategy.long, lot, limit = longline3, when = (lots <= 2 and long >= 3 and needtime))
lots := round(size / lot)
strategy.entry("S1", strategy.short, lot, limit = shortline1, when = (lots == 0 and short >= 1 and needtime))
lots := round(size / lot)
strategy.entry("S2", strategy.short, lot, limit = shortline2, when = (lots >= -1 and short >= 2 and needtime))
lots := round(size / lot)
strategy.entry("S3", strategy.short, lot, limit = shortline3, when = (lots >= -2 and short >= 3 and needtime))
if size > 0
strategy.entry("TPL", strategy.short, 0, limit = ma)
if size < 0
strategy.entry("TPS", strategy.long, 0, limit = ma)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()